Index: src/pipewire/mem.c
--- src/pipewire/mem.c.orig
+++ src/pipewire/mem.c
@@ -26,8 +26,8 @@
 PW_LOG_TOPIC_EXTERN(log_mem);
 #define PW_LOG_TOPIC_DEFAULT log_mem
 
-#if !defined(__FreeBSD__) && !defined(__MidnightBSD__) && !defined(__GNU__) \
-       && !defined(HAVE_MEMFD_CREATE)
+#if !defined(__FreeBSD__) && !defined(__MidnightBSD__) && !defined(__OpenBSD__) \
+       && !defined(__GNU__) && !defined(HAVE_MEMFD_CREATE)
 /*
  * No glibc wrappers exist for memfd_create(2), so provide our own.
  *
@@ -44,7 +44,7 @@ static inline int memfd_create(const char *name, unsig
 #define HAVE_MEMFD_CREATE 1
 #endif
 
-#if defined(__FreeBSD__) || defined(__MidnightBSD__) || defined(__GNU__)
+#if defined(__FreeBSD__) || defined(__MidnightBSD__) || defined(__OpenBSD__) || defined(__GNU__)
 #define MAP_LOCKED 0
 #endif
 
@@ -568,7 +568,7 @@ struct pw_memblock * pw_mempool_alloc(struct pw_mempoo
 #else
 	char filename[128];
 	snprintf(filename, sizeof(filename),
-		 "/dev/shm/pipewire-tmpfile:flags=0x%08x,type=%" PRIu32 ",size=%zu:XXXXXX",
+		 "/tmp/pipewire-tmpfile:flags=0x%08x,type=%" PRIu32 ",size=%zu:XXXXXX",
 		 (unsigned int) flags, type, size);
 
 	b->this.fd = mkostemp(filename, O_CLOEXEC);
