Hello,

I switched & so far it is going smooth& pipewire-pulse which was to be a pulseaudio replacement is functioning on my system. I need input to make less errors outputted.

My 66-servicefile modified from pulseaudio-66serv:
[main]
@ type = longrun
@ version = 0.2.0
@ description = "Start a pulseaudio session"
@ user = ( user )
@ options = ( log env)

[start]
@ build = auto
@ execute=(
	execl-toc -S ${XDG_RUNTIME_DIR}/pulse/native -m 0755
	pipewire && pipewire-pulse 
)

[environment]
conf_file=!/etc/pipewire/pipewire.conf
Anything to refine? I opened pavucontrol-qt & played music fine using parole but it missed loop at end of song which is minor.
% 66-inservice -zg pulseaudio           
Name                  : pulseaudio
Version               : 0.2.0
In tree               : graphics
Status                : enabled, up (pid 2355) 6 seconds
Type                  : longrun
Description           : Start a pulseaudio session
Source                : /usr/lib/66/service/pulseaudio
Live                  : /run/66/tree/1003/graphics/servicedirs/pulseaudio
Dependencies          : /
                        └─(2346,Enabled,longrun) pulseaudio-log
External dependencies : None
Optional dependencies : None
Start script          : 	execl-toc -S ${XDG_RUNTIME_DIR}/pulse/native -m 0755
                        	pipewire && pipewire-pulse 
Stop script           : None
Environment source    : /home/orb/.66/conf/pulseaudio/0.2.0
Environment file      : conf_file=!/etc/pipewire/pipewire.conf
Log name              : pulseaudio-log
Log destination       : /home/orb/.66/log/pulseaudio
Log file              : 
2020-12-16 00:19:07.659875404  [W][000000291.335599][pulse-server.c:419 reply_error()] pulse-server 0x561d692cbbe0: [PulseAudio Volume Control] ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host is down)
2020-12-16 00:19:08.659077974  [E][000000292.334271][pulse-server.c:845 do_set_client_name()] pulse-server 0x561d692b8e70: failed to connect client: Host is down

2020-12-16 00:29:00.245405838  [W][000000883.842226][pulse-server.c:4764 handle_memblock()] pulse-server 0x563e7bc2de70: unhandled seek flags:01
2020-12-16 00:29:00.245420973  [W][000000883.842256][pulse-server.c:4766 handle_memblock()] pulse-server 0x563e7bc2de70: unhandled offset:005eebfc


% pactl info                            
Server String: /run/user/1003/pulse/native
Library Protocol Version: 34
Server Protocol Version: 34
Is Local: yes
Client Index: 51
Tile Size: 65472
Server Name: PulseAudio (on PipeWire 0.3.18)
Server Version: 14.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000:00:1b.0.analog-stereo
Default Source: alsa_input.pci-0000:00:1b.0.analog-stereo
Cookie: 6aef:f25e
Anything to refine?
Yeah, you should place your service frontend file at /home/<user>/.66/service instead of /usr/lib/66/service. You named it as the same as the upstream one. So, if i do an update of this service your file will be overwritten and obviously you loose your change. According to the 66-enable documentation :
This tool expects to find a corresponding frontend service file, a directory name (see directory) or a service instance (see instance), by default at /etc/66/service or /usr/lib/66/service in this order of precedence for root user and $HOME/.66/service, /etc/66/service or /usr/lib/66/service in this order of precedence for a normal user.
/usr/lib/66/service should never be used to place your own service. Only the maintainers of the distro should handle it by the packager.
Good tip&info, noted. I need to reference more of the documentation, my style leans more towards learn by doing.
i answered a little to quickly:
you @ execute field is not correct. '&&' is a bash syntax not execline. By default the @ execute field is executed with execlineb not bash. So, your @ execute field become
@ execute=(
	execl-toc -S ${XDG_RUNTIME_DIR}/pulse/native -m 0755
	if { pipewire }
	pipewire-pulse 
)
Also, you don't need to define the [environment] section because you don't use at all in your @ execute field. So, remove the env options at @ options field and remove entirely the [environment] section.
Much thanks! I bet you frown upon it but I edited pulseaudio /usr/lib/66/service file so i could overwrite by reinstalling if things don't work out here. Lazy, but it works, just have to watch out for updates to it.

I could just rename the file in /usr/lib/66/service then make a new file in etc/66/service & rename back and forth according to how much I want to test. Would that be better if I don't want to keep using 66-enable/66-disable? I'm too silly because I'm learning, bear with me. :D
Would that be better if I don't want to keep using 66-enable/66-disable?
What do you means?
Never mind, just a frowned upon way of switching service files. 66 system is one of the best, just like its creator.
Once the service is running and you make changes to it, you should 66-enable -F to pass the changes into the running service.

Modified and custom created services running as root should go to /etc/66/service, user services should go to ~/66/service

I am mentioning this to take the confusion out of new users who may read this thread, as I think some confusion is being passed. You can also call a service your own name in ,,,/66/service/myservice and use 66-enable -t sometree -F myservice
Yes, new users note also about stopping enabled services and starting disabled services "on the fly" with 66-disable -t sometree -S myservice and 66-enable -t sometree -S myservice... makes things convenient.
3 months later
Sorry to somewhat necrobump this thread, I wanted to share my experience with Pipewire on KDE Plasma. I managed to install and got it working, but not without jumping through the hoops. First I installed Pipewire and enabled the service, but I got no sound devices found and no sound at all. So I uninstalled the package, installed and uninstalled Pulseaudio, then I tried to install Pipewire again. This time it worked and got rid of PA once and for all! I don't know if this has to happen everytime, maybe PA left behind some configuration files that were called by Pipewire? Of course I hope it's not the case :D
wastelander wroteSorry to somewhat necrobump this thread, I wanted to share my experience with Pipewire on KDE Plasma. I managed to install and got it working, but not without jumping through the hoops. First I installed Pipewire and enabled the service, but I got no sound devices found and no sound at all. So I uninstalled the package, installed and uninstalled Pulseaudio, then I tried to install Pipewire again. This time it worked and got rid of PA once and for all! I don't know if this has to happen everytime, maybe PA left behind some configuration files that were called by Pipewire? Of course I hope it's not the case :D
i have been using pipewire for a while now, not that i needed to. Anyways i dont think enableing pipewire service alone is enough, at least when looking at alsamixer (if there is anyone who can confirm that sound is indeed passed through pipewire in this scenario let me know).

Im my case, i had to install pipewire-alsa and then enable pipewire-media-session service(media-session service wont wont anyways without installing pipewire-alsa). This will then show "Pipewire" when using alsamixer.

To replace pulseaudio, install pipewire-pulse and enable pipewire-pulse. to verify, run pactl info from the terminal

IMHO
negative wroteIm my case, i had to install pipewire-alsa and then enable pipewire-media-session service(media-session service wont wont anyways without installing pipewire-alsa). This will then show "Pipewire" when using alsamixer.

To replace pulseaudio, install pipewire-pulse and enable pipewire-pulse. to verify, run pactl info from the terminal

IMHO
Thanks and yes, I forgot to say that I installed and enabled pipewire-pulse too, but this didn't work until reinstalling all again and after installing and uninstalling pulseaudio in between. However, two questions are still open for me:
1) is really pipewire a less invasive alternative to pulseaudio? I don't really know, it looks like kind of a PA emulator, it also install a "pulse" folder and allows the plasma-pa widget to show up;
2) should I really need a sound server on my system? The answer should be a no, I would like to use just ALSA, but the big problem is the icon volume. KDE doesn't have one unless plasma-pa is enabled, I used to install kmix but it looks like it doesn't work anymore, the volume icon is visible but there is not slider showing up when I hover on click on it.
What I understood is that pipewire is more init/serv-mngmt agnostic, while pulseaudio is made from scratch to be at the presence of systemd. Since this is another RH/IBM product one shouldn't expect too much out of it, but it is for security and other technical reasons more isolated from the core/root/host system, while pulseaudio can't really run without direct access to root abilities. So you can control audio/visual stuff as user from a container/chroot without any control on the host processes/sockets ... etc while pulseaudio can't work this way, it has to communicate with its mothership-part (pulseaudio-root on host).

So for me apulse is still my friend ... and nice pipewire today can turn to nasty pipewire tomorrow, with all respect to the two devs here that brought pipewire to obarun.
fungal_net wroteSince this is another RH/IBM product one shouldn't expect too much out of it
Hmmm yes, I could have performed a simple search on Wikipedia to find this: "It was created by Wim Taymans at Red Hat" ?. Kind of scary indeed, now I am even less convinced, Pulseaudio seems worse but Pipewire is not even so good. I know that apulse has to be used as command for every application that should need PA, however this seems not to be possibile for the Plasma volume applet:
https://bugs.gentoo.org/620132

Powered by Obarun