matanui159 / ReplaySorcery

An open-source, instant-replay solution for Linux
GNU General Public License v3.0
854 stars 27 forks source link

PipeWire support #114

Open matanui159 opened 3 years ago

matanui159 commented 3 years ago

Split from #113

PoorPocketsMcNewHold commented 2 years ago

Does the pipewire-pulseaudio passthrought could mitigate it? I can't test such possibility, due to not able to compile ReplaySorcery with pulseaudio support on Fedora 35 (Which use pipewire by default, and doesn't ¨easily¨ allow for pulseaudio installation alongside it). It can be switched back to pulseaudio on it, of course, but I prefer waiting for such support.

❯ journalctl --user -fu replay-sorcery   
-- Journal begins at Sat 2021-11-20 13:10:06 CET. --
nov. 28 15:44:13 VIX replay-sorcery[121857]: [h264_vaapi @ 0x12cca00] H.264 baseline profile is not supported, using constrained baseline profile instead.
nov. 28 15:44:13 VIX replay-sorcery[121857]: [h264_vaapi @ 0x12cca00] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
nov. 28 15:44:13 VIX replay-sorcery[121857]: [h264_vaapi @ 0x12cca00] Quality attribute is not supported: will use default quality level.
nov. 28 15:44:13 VIX replay-sorcery[121857]: Created VA-API encoder
nov. 28 15:44:13 VIX replay-sorcery[121857]: Pulse was not found during compilation
nov. 28 15:44:14 VIX replay-sorcery[121857]:  - /home/pm/ReplaySorcery/src/audio/pulsedev.c:383 (rsPulseDeviceCreate)
nov. 28 15:44:14 VIX replay-sorcery[121857]:  - /home/pm/ReplaySorcery/src/audio/audio.c:63 (rsAudioThreadCreate)
nov. 28 15:44:14 VIX replay-sorcery[121857]:  - /home/pm/ReplaySorcery/src/main.c:196 (main)
nov. 28 15:44:14 VIX replay-sorcery[121857]: Failed to create audio thread: Fonction non implantée
nov. 28 15:44:14 VIX replay-sorcery[121857]: Created X11 controller
❯ pactl info
Chaîne du serveur : /run/user/1000/pulse/native
Version du protocole de bibliothèque : 35
Version du protocole du serveur : 35
Local : oui
Index client : 209
Tile Size : 65472
Nom d’utilisateur : pm
Nom d’hôte : VIX
Nom du serveur : PulseAudio (on PipeWire 0.3.40)
Version du serveur : 15.0.0
Spécification d’échantillon par défaut : float32le 2ch 48000Hz
Plan de canaux par défaut : front-left,front-right
Destination par défaut : easyeffects_sink
Source par défaut : alsa_input.pci-0000_0f_00.4.analog-stereo
Cookie : ba28:aa02
matanui159 commented 2 years ago

Do you have the pulse audio dev libraries? Is it possible to install them without installing Pulse on fedora?

PoorPocketsMcNewHold commented 2 years ago

Do you have the pulse audio dev libraries? Is it possible to install them without installing Pulse on fedora?

We can. And in fact, you was right, It does work with just the devel libraries.

❯ sudo dnf update
[sudo] Mot de passe de pm : 
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:01:55 le mer. 01 déc. 2021 07:34:17.
Dépendances résolues.
Rien à faire.
Terminé !

~ took 4s 
❯ dnf search pulseaudio devel
Dernière vérification de l’expiration des métadonnées effectuée il y a 2 days, 16:37:25 le dim. 28 nov. 2021 15:00:24.
====================================================================================================================================================================================================================================================================== Nom & Résumé correspond à : pulseaudio, devel =======================================================================================================================================================================================================================================================================
pulseaudio-libs-devel.i686 : Headers and libraries for PulseAudio client development
pulseaudio-libs-devel.x86_64 : Headers and libraries for PulseAudio client development
pulseaudio-qt-devel.i686 : Development files for pulseaudio-qt
pulseaudio-qt-devel.x86_64 : Development files for pulseaudio-qt
====================================================================================================================================================================================================================================================================== Résumé & Nom correspond à : pulseaudio, devel =======================================================================================================================================================================================================================================================================
rust-libpulse-binding+default-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-binding+pa_v12-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-binding+pa_v13-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-binding+pa_v14-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-binding+pa_v15-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-binding+pa_v5-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-binding+pa_v6-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-binding+pa_v8-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-binding-devel.noarch : Rust language binding for the PulseAudio libpulse library
rust-libpulse-sys+default-devel.noarch : FFI bindings for the PulseAudio libpulse system library
rust-libpulse-sys+pa_v12-devel.noarch : FFI bindings for the PulseAudio libpulse system library
rust-libpulse-sys+pa_v13-devel.noarch : FFI bindings for the PulseAudio libpulse system library
rust-libpulse-sys+pa_v14-devel.noarch : FFI bindings for the PulseAudio libpulse system library
rust-libpulse-sys+pa_v15-devel.noarch : FFI bindings for the PulseAudio libpulse system library
rust-libpulse-sys+pa_v5-devel.noarch : FFI bindings for the PulseAudio libpulse system library
rust-libpulse-sys+pa_v6-devel.noarch : FFI bindings for the PulseAudio libpulse system library
rust-libpulse-sys+pa_v8-devel.noarch : FFI bindings for the PulseAudio libpulse system library
rust-libpulse-sys-devel.noarch : FFI bindings for the PulseAudio libpulse system library

~ 
❯ sudo dnf install pulseaudio-libs-devel
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:03:47 le mer. 01 déc. 2021 07:34:17.
Dépendances résolues.
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
 Paquet                                                                                                                                                 Architecture                                                                                                                            Version                                                                                                                                       Dépôt                                                                                                                                   Taille
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Installation:
 pulseaudio-libs-devel                                                                                                                                  x86_64                                                                                                                                  15.0-2.fc35                                                                                                                                   fedora                                                                                                                                  395 k

Résumé de la transaction
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Installer  1 Paquet

Taille totale des téléchargements : 395 k
Taille des paquets installés : 4.6 M
Voulez-vous continuer ? [o/N] : o
Téléchargement des paquets :
pulseaudio-libs-devel-15.0-2.fc35.x86_64.rpm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                200 kB/s | 395 kB     00:01    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       147 kB/s | 395 kB     00:02     
Test de la transaction
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
  Préparation           :                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               1/1 
  Installation          : pulseaudio-libs-devel-15.0-2.fc35.x86_64                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1/1 
  Exécution du scriptlet: pulseaudio-libs-devel-15.0-2.fc35.x86_64                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1/1 
  Vérification de       : pulseaudio-libs-devel-15.0-2.fc35.x86_64                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1/1 

Installé:
  pulseaudio-libs-devel-15.0-2.fc35.x86_64                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

Terminé !

~ took 6s 

And re-compiling it from scratch after manually deleted the files situated in /usr/local/ and disabled the systemd services

❯ git clone https://github.com/matanui159/ReplaySorcery.git
Clonage dans 'ReplaySorcery'...
remote: Enumerating objects: 2398, done.
remote: Counting objects: 100% (449/449), done.
remote: Compressing objects: 100% (290/290), done.
remote: Total 2398 (delta 320), reused 272 (delta 156), pack-reused 1949
Réception d'objets: 100% (2398/2398), 1.07 Mio | 327.00 Kio/s, fait.
Résolution des deltas: 100% (1652/1652), fait.

~ took 4s 
❯       cd ReplaySorcery 

ReplaySorcery on  master via △ v3.22.0 
❯ $ git submodule update --init
$ cmake -B bin -DCMAKE_BUILD_TYPE=Release
$ make -C bin
$ sudo make -C bin install

Sous-module 'dep/libbacktrace' (https://github.com/ianlancetaylor/libbacktrace.git) enregistré pour le chemin 'dep/libbacktrace'
Clonage dans '/home/pm/ReplaySorcery/dep/libbacktrace'...
Chemin de sous-module 'dep/libbacktrace' : 'd0f5e95a87a4d3e0a1ed6c069b5dae7cbab3ed2a' extrait
-- The C compiler identification is GNU 11.2.1
-- The CXX compiler identification is GNU 11.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib64/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkgconf (found version "1.8.0") 
-- Performing Test HAVE_G_FLAG
-- Performing Test HAVE_G_FLAG - Success
-- Performing Test HAVE_ALL_WARN
-- Performing Test HAVE_ALL_WARN - Success
-- Performing Test HAVE_EXTRA_WARN
-- Performing Test HAVE_EXTRA_WARN - Success
-- Performing Test HAVE_PEDANTIC_WARN
-- Performing Test HAVE_PEDANTIC_WARN - Success
-- Performing Test HAVE_CONVERSION_WARN
-- Performing Test HAVE_CONVERSION_WARN - Success
-- Performing Test HAVE_STRICT_PROTOTYPES_WARN
-- Performing Test HAVE_STRICT_PROTOTYPES_WARN - Success
-- Performing Test HAVE_MISSING_PROTOTYPES_WARN
-- Performing Test HAVE_MISSING_PROTOTYPES_WARN - Success
-- Performing Test HAVE_VLA_WARN
-- Performing Test HAVE_VLA_WARN - Success
-- Checking for modules 'libavutil;libavformat;libavdevice;libavcodec;libavfilter'
--   Found libavutil, version 56.70.100
--   Found libavformat, version 58.76.100
--   Found libavdevice, version 58.13.100
--   Found libavcodec, version 58.134.100
--   Found libavfilter, version 7.110.100
-- Looking for open
-- Looking for open - found
-- Looking for close
-- Looking for close - found
-- Looking for read
-- Looking for read - found
-- Looking for write
-- Looking for write - found
-- Looking for fcntl
-- Looking for fcntl - found
-- Looking for umask
-- Looking for umask - found
-- Looking for mkdir
-- Looking for mkdir - found
-- Looking for poll
-- Looking for poll - found
-- Looking for socket
-- Looking for socket - found
-- Looking for bind
-- Looking for bind - found
-- Looking for listen
-- Looking for listen - found
-- Looking for accept
-- Looking for accept - found
-- Looking for connect
-- Looking for connect - found
-- Looking for sendmsg
-- Looking for sendmsg - found
-- Looking for recvmsg
-- Looking for recvmsg - found
-- Looking for sys/un.h
-- Looking for sys/un.h - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Checking for module 'libpulse'
--   Found libpulse, version 15.0
-- Checking for module 'libdrm'
--   Found libdrm, version 2.4.107
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pm/ReplaySorcery/bin
make : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
make[1] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
make[2] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
make[2] : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
make[2] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
[  2%] Creating directories for 'backtrace'
[  4%] No download step for 'backtrace'
[  6%] No update step for 'backtrace'
[  9%] No patch step for 'backtrace'
[ 11%] Performing configure step for 'backtrace'
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/home/pm/ReplaySorcery/dep/libbacktrace/missing: Unknown `--is-lightweight' option
Try `/home/pm/ReplaySorcery/dep/libbacktrace/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking for ranlib... ranlib
checking for gawk... (cached) gawk
checking for dwz... dwz
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... (cached) ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking unwind.h usability... yes
checking unwind.h presence... yes
checking for unwind.h... yes
checking for _Unwind_Backtrace... yes
checking for -funwind-tables option... yes
checking for -frandom-seed=string option... yes
checking whether gcc supports -W... yes
checking whether gcc supports -Wall... yes
checking whether gcc supports -Wwrite-strings... yes
checking whether gcc supports -Wstrict-prototypes... yes
checking whether gcc supports -Wmissing-prototypes... yes
checking whether gcc supports -Wold-style-definition... yes
checking whether gcc supports -Wmissing-format-attribute... yes
checking whether gcc supports -Wcast-qual... yes
checking for _Unwind_GetIPInfo... yes
checking __sync extensions... yes
checking __atomic extensions... yes
checking output filetype... elf64
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking link.h usability... yes
checking link.h presence... yes
checking for link.h... yes
checking for dl_iterate_phdr... yes
checking mach-o/dyld.h usability... no
checking mach-o/dyld.h presence... no
checking for mach-o/dyld.h... no
checking sys/ldr.h usability... no
checking sys/ldr.h presence... no
checking for sys/ldr.h... no
checking for fcntl... yes
checking whether strnlen is declared... yes
checking whether getpagesize is declared... yes
checking for lstat... yes
checking for readlink... yes
checking for getexecname... no
checking for KERN_PROC... no
checking for KERN_PROG_ARGS... no
checking for clock_gettime... yes
checking whether -pthread is supported... yes
checking whether -gdwarf-5 is supported... yes
checking for compress in -lz... yes
checking whether --compress-debug-sections is supported... yes
checking for objcopy... objcopy
checking for readelf... readelf
checking whether objcopy supports debuglink... yes
checking for dsymutil... no
checking for nm... /usr/bin/nm -B
checking for xz... xz
checking for comm... comm
checking for lzma_auto_decoder in -llzma... yes
checking whether tests can run... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating backtrace-supported.h
config.status: creating install-debuginfo-for-buildid.sh
config.status: creating config.h
config.status: executing libtool commands
config.status: executing default commands
[ 13%] Performing build step for 'backtrace'
make[3] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin/backtrace-prefix/src/backtrace-build »
make[4] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin/backtrace-prefix/src/backtrace-build »
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=atomic.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/atomic.c -o atomic.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=dwarf.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/dwarf.c -o dwarf.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=fileline.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/fileline.c -o fileline.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=posix.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/posix.c -o posix.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=print.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/print.c -o print.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=sort.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/sort.c -o sort.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=state.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/state.c -o state.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=backtrace.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/backtrace.c -o backtrace.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=simple.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/simple.c -o simple.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=elf.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/elf.c -o elf.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=mmapio.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/mmapio.c -o mmapio.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/home/pm/ReplaySorcery/dep/libbacktrace -funwind-tables -frandom-seed=mmap.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -O3 -c /home/pm/ReplaySorcery/dep/libbacktrace/mmap.c -o mmap.o
libtool: link: ar cru .libs/libbacktrace.a  atomic.o dwarf.o fileline.o posix.o print.o sort.o state.o backtrace.o simple.o elf.o mmapio.o mmap.o
libtool: link: ranlib .libs/libbacktrace.a
libtool: link: ( cd ".libs" && rm -f "libbacktrace.la" && ln -s "../libbacktrace.la" "libbacktrace.la" )
make[4] : on quitte le répertoire « /home/pm/ReplaySorcery/bin/backtrace-prefix/src/backtrace-build »
make[3] : on quitte le répertoire « /home/pm/ReplaySorcery/bin/backtrace-prefix/src/backtrace-build »
[ 16%] Performing install step for 'backtrace'
make[3] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin/backtrace-prefix/src/backtrace-build »
make[4] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin/backtrace-prefix/src/backtrace-build »
 /usr/bin/mkdir -p '/home/pm/ReplaySorcery/bin/backtrace-prefix/lib'
 /bin/sh ./libtool   --mode=install /usr/bin/install -c   libbacktrace.la '/home/pm/ReplaySorcery/bin/backtrace-prefix/lib'
libtool: install: /usr/bin/install -c .libs/libbacktrace.lai /home/pm/ReplaySorcery/bin/backtrace-prefix/lib/libbacktrace.la
libtool: install: /usr/bin/install -c .libs/libbacktrace.a /home/pm/ReplaySorcery/bin/backtrace-prefix/lib/libbacktrace.a
libtool: install: chmod 644 /home/pm/ReplaySorcery/bin/backtrace-prefix/lib/libbacktrace.a
libtool: install: ranlib /home/pm/ReplaySorcery/bin/backtrace-prefix/lib/libbacktrace.a
libtool: finish: PATH="/home/pm/.nix-profile/bin:/home/pm/.gdrive-downloader:/home/pm/.local/bin:/usr/lib64/ccache:/home/pm/.nix-profile/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/pm/bin:/sbin" ldconfig -n /home/pm/ReplaySorcery/bin/backtrace-prefix/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/pm/ReplaySorcery/bin/backtrace-prefix/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /usr/bin/mkdir -p '/home/pm/ReplaySorcery/bin/backtrace-prefix/include'
 /usr/bin/install -c -m 644 /home/pm/ReplaySorcery/dep/libbacktrace/backtrace.h backtrace-supported.h '/home/pm/ReplaySorcery/bin/backtrace-prefix/include'
make[4] : on quitte le répertoire « /home/pm/ReplaySorcery/bin/backtrace-prefix/src/backtrace-build »
make[3] : on quitte le répertoire « /home/pm/ReplaySorcery/bin/backtrace-prefix/src/backtrace-build »
[ 18%] Completed 'backtrace'
make[2] : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
[ 18%] Built target backtrace
make[2] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
make[2] : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
make[2] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
[ 20%] Building C object CMakeFiles/replay-sorcery.dir/src/buffer.c.o
[ 23%] Building C object CMakeFiles/replay-sorcery.dir/src/config.c.o
[ 25%] Building C object CMakeFiles/replay-sorcery.dir/src/log.c.o
[ 27%] Building C object CMakeFiles/replay-sorcery.dir/src/main.c.o
[ 30%] Building C object CMakeFiles/replay-sorcery.dir/src/output.c.o
[ 32%] Building C object CMakeFiles/replay-sorcery.dir/src/socket.c.o
[ 34%] Building C object CMakeFiles/replay-sorcery.dir/src/thread.c.o
[ 37%] Building C object CMakeFiles/replay-sorcery.dir/src/util.c.o
[ 39%] Building C object CMakeFiles/replay-sorcery.dir/src/audio/aacenc.c.o
[ 41%] Building C object CMakeFiles/replay-sorcery.dir/src/audio/abuffer.c.o
[ 44%] Building C object CMakeFiles/replay-sorcery.dir/src/audio/adevice.c.o
[ 46%] Building C object CMakeFiles/replay-sorcery.dir/src/audio/aencoder.c.o
[ 48%] Building C object CMakeFiles/replay-sorcery.dir/src/audio/audio.c.o
[ 51%] Building C object CMakeFiles/replay-sorcery.dir/src/audio/fdkenc.c.o
[ 53%] Building C object CMakeFiles/replay-sorcery.dir/src/audio/pulsedev.c.o
[ 55%] Building C object CMakeFiles/replay-sorcery.dir/src/command/ctrlcmd.c.o
[ 58%] Building C object CMakeFiles/replay-sorcery.dir/src/command/kmscmd.c.o
[ 60%] Building C object CMakeFiles/replay-sorcery.dir/src/command/svkmscmd.c.o
[ 62%] Building C object CMakeFiles/replay-sorcery.dir/src/control/cmdctrl.c.o
[ 65%] Building C object CMakeFiles/replay-sorcery.dir/src/control/control.c.o
[ 67%] Building C object CMakeFiles/replay-sorcery.dir/src/control/dbgctrl.c.o
[ 69%] Building C object CMakeFiles/replay-sorcery.dir/src/control/x11ctrl.c.o
[ 72%] Building C object CMakeFiles/replay-sorcery.dir/src/device/device.c.o
[ 74%] Building C object CMakeFiles/replay-sorcery.dir/src/device/ffdev.c.o
[ 76%] Building C object CMakeFiles/replay-sorcery.dir/src/device/kmsdev.c.o
[ 79%] Building C object CMakeFiles/replay-sorcery.dir/src/device/svkmsdev.c.o
[ 81%] Building C object CMakeFiles/replay-sorcery.dir/src/device/x11dev.c.o
[ 83%] Building C object CMakeFiles/replay-sorcery.dir/src/encoder/encoder.c.o
[ 86%] Building C object CMakeFiles/replay-sorcery.dir/src/encoder/ffenc.c.o
[ 88%] Building C object CMakeFiles/replay-sorcery.dir/src/encoder/openh264enc.c.o
[ 90%] Building C object CMakeFiles/replay-sorcery.dir/src/encoder/vah264enc.c.o
[ 93%] Building C object CMakeFiles/replay-sorcery.dir/src/encoder/vahevcenc.c.o
[ 95%] Building C object CMakeFiles/replay-sorcery.dir/src/encoder/x264enc.c.o
[ 97%] Building C object CMakeFiles/replay-sorcery.dir/src/encoder/x265enc.c.o
[100%] Linking C executable replay-sorcery
make[2] : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
[100%] Built target replay-sorcery
make[1] : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
make : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
make : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
make[1] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
make[2] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
make[2] : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
[ 18%] Built target backtrace
make[2] : on entre dans le répertoire « /home/pm/ReplaySorcery/bin »
Consolidate compiler generated dependencies of target replay-sorcery
make[2] : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
[100%] Built target replay-sorcery
make[1] : on quitte le répertoire « /home/pm/ReplaySorcery/bin »
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/bin/replay-sorcery
-- Installing: /usr/local/etc/replay-sorcery.conf
-- Installing: /usr/lib/systemd/user/replay-sorcery.service
-- Installing: /usr/lib/systemd/system/replay-sorcery-kms.service
make : on quitte le répertoire « /home/pm/ReplaySorcery/bin »

ReplaySorcery on  master via △ v3.22.0 took 17s 

And the journalctl also confirm it does work.

❯ journalctl --user -fu replay-sorcery
-- Journal begins at Sun 2021-11-28 20:03:21 CET. --
déc. 01 07:44:26 VIX replay-sorcery[53121]: FFmpeg version: 4.4.1-7e0d640
déc. 01 07:44:26 VIX replay-sorcery[53121]: [h264_vaapi @ 0xce1880] Filter graph: hwmap=derive_device=vaapi,crop=3440:1440:0:0,scale_vaapi=3440:1440:nv12
déc. 01 07:44:26 VIX replay-sorcery[53121]: ATTENTION: default value of option allow_rgb10_configs overridden by environment.
déc. 01 07:44:26 VIX replay-sorcery[53121]: [h264_vaapi @ 0xce1880] H.264 baseline profile is not supported, using constrained baseline profile instead.
déc. 01 07:44:26 VIX replay-sorcery[53121]: [h264_vaapi @ 0xce1880] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
déc. 01 07:44:26 VIX replay-sorcery[53121]: [h264_vaapi @ 0xce1880] Quality attribute is not supported: will use default quality level.
déc. 01 07:44:26 VIX replay-sorcery[53121]: Created VA-API encoder
déc. 01 07:44:26 VIX replay-sorcery[53121]: PulseAudio server: PulseAudio (on PipeWire 0.3.40) 15.0.0
déc. 01 07:44:26 VIX replay-sorcery[53121]: Connecting to Pulse Audio device: bluez_output.BC_F2_92_D4_32_58.a2dp-sink.monitor...
déc. 01 07:44:26 VIX replay-sorcery[53121]: Created X11 controller

tl;dr : ReplaySorcery already works, with Pipewire. Only when this one is running in compatibility mode with a PulseAudio server passthrought. You do have to compile it with pulseaudio development libraries, of course, however.