Pipewire wont recognize audio cards, only a dummy output
narukeh opened this issue · comments
I saw your video installing an encrypted artix, so i thought i should do it to. I still use Arch, since i don't care about systemd.
i installed it the manual arch-way (not the new python script). I did not use larbs, but in end effect did everything the same (the commands in larbs.sh and voidrice).
(Installed on another laptop a month ago and did not have this issue (unencrypted tho))
Cant select the default card because my sound cards wont show in pulsemixer, so i cant play any audio. Only a dummy output shows up.
Since pipewire is started just like any other program in xprofile, i just pkill
ed it and started it again, but it gave me a bunch of errors.
$ sudo pkill pipewire
sudo pkill pipewire
sudo pkill pipewire-pulse
sudo pkill pipewire-pulse
setsid -f pipewire
[sudo] password for hegashi:
$ [W][02902.505500] mod.rt | [ module-rt.c: 274 pw_rtkit_check_xdg_portal()] Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
[W][02902.505527] mod.rt | [ module-rt.c: 1035 pipewire__module_init()] found session bus but no portal
[W][02902.515561] mod.rt | [ module-rt.c: 274 pw_rtkit_check_xdg_portal()] Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
[W][02902.515602] mod.rt | [ module-rt.c: 1035 pipewire__module_init()] found session bus but no portal
M 09:46:28.373247 mod.rt ../pipewire/src/modules/module-rt.c:274:pw_rtkit_check_xdg_portal: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
M 09:46:28.373302 mod.rt ../pipewire/src/modules/module-rt.c:1035:pipewire__module_init: found session bus but no portal
[W][02902.531239] mod.protocol-pulse | [ server.c: 610 start_unix_server()] server 0x55e703946930: socket '/run/user/1000/pulse/native' is in use
[W][02902.531292] mod.protocol-pulse | [ server.c: 1042 servers_create_and_start()] pulse-server 0x55e703946180: failed to start server on 'unix:/run/user/1000/pulse/native': Address already in use
[E][02902.531302] mod.protocol-pulse | [ pulse-server.c: 5642 pw_protocol_pulse_new()] 0x55e703946180: no servers could be started: Address already in use
[E][02902.531355] pw.conf | [ conf.c: 594 load_module()] 0x55e7038f67d0: could not load mandatory module "libpipewire-module-protocol-pulse": Address already in use
[E][02902.531488] default | [ pipewire.c: 125 main()] failed to create context: Address already in use
M 09:46:29.777838 wireplumber ../wireplumber/src/main.c:364:on_disconnected: disconnected from pipewire
My guess: it wants to start pipewire on this "adress" unix:/run/user/1000/pulse/native
, but it cant since its already in use, but how is it in use since i killed it? I just dont get it. (In the past very rarely pipewire would crash, and thats how i used to restart it, then it always worked.) Pulsemixer wont start after i pkill/setsid pipewire, i have to relogin using sudo pkill -u $USER
I have these *pipe* programs installed:
$ diff -usa <(p -Qqe | grep -E 'pipe|pulse') <(p -Qqs 'pipe|pulse')
--- /proc/self/fd/11 2023-03-05 09:57:45.233408729 +0100
+++ /proc/self/fd/12 2023-03-05 09:57:45.233408729 +0100
@@ -1,4 +1,13 @@
+libcanberra
+libpipeline
+libpipewire
+libpulse
+libwireplumber
+pipewire
pipewire-alsa
+pipewire-audio
pipewire-jack
pipewire-pulse
+pulseaudio-qt
pulsemixer
+wireplumber
Then i thought maybe i need more firmware (even tho i never needed an additional package for audio to work) so i installed sof-firmware
, but no result.
Then i copied the /usr/share/pipewire/pipewire.conf
template to ~cf/pipewire/pipewire.conf
, and changing only 2 relevant lines at the end
$ diff -usa /usr/share/pipewire/pipewire.conf pipewire.conf
--- /usr/share/pipewire/pipewire.conf 2023-02-20 18:44:50.000000000 +0100
+++ pipewire.conf 2023-03-05 08:34:35.823358953 +0100
@@ -279,12 +279,12 @@
# but it is better to start it as a systemd service.
# Run the session manager with -h for options.
#
- #{ path = "/usr/bin/pipewire-media-session" args = "" }
+ { path = "/usr/bin/wireplumber" args = "" }
#
# You can optionally start the pulseaudio-server here as well
# but it is better to start it as a systemd service.
# It can be interesting to start another daemon here that listens
# on another address with the -a option (eg. -a tcp:4713).
#
- #{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }
+ { path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }
]
but no result, still getting only a dummy output.
Then i commented pipewire
in xprofile
, and did systemctl --user enable pipewire-pulse.service
, logout/login, still no result.
Then i formated my laptop, installed Arch again, and it is still the same thing, just a dummy output. My guess, there was an update somewhere which requires modifying a config somewhere.
All hail alsa-firmware
and/or alsa-utils
(i guess in the past they have been pulled as dependencies, so i never had to to extra stuff)