Skip to main content
Topic: Got Pipewire to run in Bash (Read 1931 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Got Pipewire to run in Bash

I got it to run finally after a lot of heartache though a bunch of this stuff popped up in a separate Konsole window

Code: [Select]
[E][00012.546256] mod.protocol-native | [module-protocol-:  609 lock_socket()] server 0x556d76ba24e0: unable to lock lockfile '/run/user/1000/pipewire-0.lock': Resource temporarily unavailable (maybe another daemon is running)
[E][00012.546300] pw.conf      | [          conf.c:  412 load_module()] 0x556d76b87900: could not load mandatory module "libpipewire-module-protocol-native": Resource temporarily unavailable
[E][00012.546368] default      | [      pipewire.c:  123 main()] failed to create context: Resource temporarily unavailable
[W][00012.546547] mod.protocol-pulse | [        server.c:  571 start_unix_server()] server 0x55c2c82012d0: socket '/run/user/1000/pulse/native' is in use
[W][00012.546559] mod.protocol-pulse | [        server.c:  973 servers_create_and_start()] pulse-server 0x55c2c8200e10: failed to start server on 'unix:/run/user/1000/pulse/native': Address already in use
[E][00012.546564] mod.protocol-pulse | [  pulse-server.c: 5126 pw_protocol_pulse_new()] 0x55c2c8200e10: no servers could be started: Address already in use
[E][00012.546594] pw.conf      | [          conf.c:  412 load_module()] 0x55c2c81e5900: could not load mandatory module "libpipewire-module-protocol-pulse": Address already in use
[E][00012.546705] default      | [      pipewire.c:  123 main()] failed to create context: Address already in use
W 13:18:12.665338         spa.bluez5 ../pipewire/spa/plugins/bluez5/bluez5-dbus.c:3574:get_managed_objects_reply: GetManagedObjects() failed: org.freedesktop.DBus.Error.ServiceUnknown
W 13:18:12.706726       GLib-GObject (null):(null):(null): invalid unclassed pointer in cast to 'WpObject'
W 13:18:12.706743       GLib-GObject (null):(null):(null): invalid unclassed pointer in cast to 'GObject'
C 13:18:12.706748       GLib-GObject (null):(null):(null): g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
C 13:18:12.706754          wp-object (null):(null):(null): wp_object_update_features: assertion 'WP_IS_OBJECT (self)' failed
M 13:19:09.312293 m-si-audio-adapter ../wireplumber/modules/module-si-audio-adapter.c:234:si_audio_adapter_configure: <WpSiAudioAdapter:0x55806a94d280> no usable format found for node 111
W 13:19:09.312317 script/create-item create-item.lua:65:addItem: <WpSiAudioAdapter:0x55806a94d280> failed to configure item for node 111
M 13:19:09.354129    m-lua-scripting ../wireplumber/modules/module-lua-scripting/api.c:337:object_activate_done: <WpSiStandardLink:0x55806a74c860> link-factory: can't link ports 129 and 136: File exists
W 13:19:09.354152 script/policy-node policy-node.lua:85:chunk: <WpSiStandardLink:0x55806a74c860> failed to activate si-standard-link: link-factory: can't link ports 129 and 136: File exists
W 13:19:11.970636       GLib-GObject (null):(null):(null): instance with invalid (NULL) class pointer
C 13:19:11.970652       GLib-GObject (null):(null):(null): g_value_init_from_instance: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
C 13:19:11.970659       GLib-GObject (null):(null):(null): g_value_get_object: assertion 'G_VALUE_HOLDS_OBJECT (value)' failed
C 13:19:11.970663            wp-port (null):(null):(null): wp_port_get_direction: assertion 'WP_IS_PORT (self)' failed
M 13:19:18.385009 m-si-audio-adapter ../wireplumber/modules/module-si-audio-adapter.c:234:si_audio_adapter_configure: <WpSiAudioAdapter:0x55806a970430> no usable format found for node 107
W 13:19:18.385027 script/create-item create-item.lua:65:addItem: <WpSiAudioAdapter:0x55806a970430> failed to configure item for node 107

can anyone tell me what the errors mean, I have audio already but some of these errors looks like it can be fatal

Pipewire messes with XOrg

Reply #1
EDIT: Pipewire messed with the X11 server and I had to remove all commands from my .bashrc and remove the pipewire folders from /etc and .config. My X11 server started working then and now I think that I'm just not ready for setting up Pipewire if it causes that bad of a mess. I'll leave a picture of my tty that I had to use telling me what was going on.


Re: Got Pipewire to run in Bash

Reply #3
I have used that and it couldn't work for some reason.

I did look through the forums and some people said to add this to .bashrc

Code: [Select]
pipewire &
pipewire-pulse &
wireplumber

and when I did, that's when I encountered these issues

Re: Got Pipewire to run in Bash

Reply #4
http://imgur.com/a/Dtsc43m

Also this showed up on the tty I had to use to remove the pipewire folders and get X11 working again

Re: Got Pipewire to run in Bash

Reply #5
The guide doesn't mention .bashrc:
Quote
Because pipewire does not need any service for starting, it's necessary to add the relevant start up commands, to autostart on your Desktop Environment. Or you can create a bash script, which you can add at the startup of your DE (KDE/XFCE/GNOME allow the addition of such scripts):
(Neither it is mentioned in the Arch wiki page on Pipewire.)

What DM and DE are you using? Are you using X.Org or Wayland?

Re: Got Pipewire to run in Bash

Reply #6
KDE Plasma is me DE and I'm using Xorg


Re: Got Pipewire to run in Bash

Reply #8
I don't have an issue with autostarting pipewire. The code have I've sent is pipewire actually working, but messing with other things as well

Re: Got Pipewire to run in Bash

Reply #9
When I got Pipewire to autostart, a problem kept escalating and I didn't notice until all of my terminal emulators started showing the errors on the first post of this topic and I couldn't access pacman, or the CLI for that matter, from the emulators at all because that error message was popping up everywhere, whether it be from new tabs, new instances, new windows and eveutally it lead to it taking over xorg to where I couldn't get my DE to work which is what lead to me removing PipeWire.

Sorry for necrobumping, but this thread is one of the first results that appear when searching "pipewire artix", and it might help some people. I believe there are some changes since this thread was posted, so here's how I got pipewire working on my Artix machine.

pipewire-media-session is deprecated in favor of wireplumber. Pipewire won't work without it, so install wireplumber.

In pipewire.conf make sure you enter this line at the bottom of the file:
Code: [Select]
"/usr/bin/pipewire-pulse" = { "#args" = "-a tcp:4713" }

What this does is to start the pipewire-pulse compatibility layer. Normally this is handled by a systemd service, so instead we just specify a tcp port for it. This way it can communicate with the pipewire daemon.

I then autostart pipewire, pipewire-pulse, and wireplumber (in this order).
I added this line from a pipewire topic from another user though I've tested this and this wasn't the issue.

Re: Got Pipewire to run in Bash

Reply #10
That is because the commands are still in your ~/.bashrc and are executed whenever Bash is started as interactive shell (man bash). Reverse the changes you have made to ~/.bashrc, create a separate script, for example ~/pipewire-startup.sh and add it to KDE startup as indicated above.

 

Re: Got Pipewire to run in Bash

Reply #11
Alright, I've reinstalled my OS and restarted my journey of getting PipeWire to work from the beginning. I recorded the whole thing too to make sure I got all the steps down properly though I still wasn't able to get PipeWire working and I'm just gonna stick with PulseAudio for now