Skip to main content
Topic: User OpenRC config interferes with gnome gdm wayland session (Read 2003 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

User OpenRC config interferes with gnome gdm wayland session

Hi forum and artix

Im running artix openrc gnome with gdm on an intel i7 machine with integrated intel graphics from 2023.

Just thought I should share what i have discovered regarding logging in to the gnome gdm wayland session.
1. wayland session would not login
2. gnome xsession is fine
3. through trial and error i narrowed it down to the ~/.config/rc user settings for pipewire-openrc/pipewire-pulse-openrc/wireplumber-openrc init.d directory. Once these directories were emptied i was able to login to the wayland session. I tested this a few times to confirm.

Im not a developer just a user, so my technical ability wont be of much help here. All I can do is pin point the cause to the ~/.config/rc folder interfering.

4. I have now started pipewire/wireplumber systemwide using the artix-pipewire-launcher and have no issues logging in and playing audio.

5. the steps i followed to setup pipewire/wireplumber user openrc in below link, reply #1
https://forum.artixlinux.org/index.php/topic,8073.msg48301.html#msg48301


Re: User OpenRC config interferes with gnome gdm wayland session

Reply #1
Pls try to set up the pipewire service exactly as in https://wiki.artixlinux.org/Main/OpenRC#User_Services to see if the problem then also reproduces.
That will only create the pipewire service, which is enough as wireplumber and pipewire-pulse can be started by pipewire by adding this to its config file.

artist

Re: User OpenRC config interferes with gnome gdm wayland session

Reply #2
Pls try to set up the pipewire service exactly as in https://wiki.artixlinux.org/Main/OpenRC#User_Services to see if the problem then also reproduces.
That will only create the pipewire service, which is enough as wireplumber and pipewire-pulse can be started by pipewire by adding this to its config file.

artist

Sorry for the late reply, timezone etc.

I set set the pipewire service as mentioned in the wiki link and still not able to login into the wayland session after rebooting again.

Code: [Select]
mkdir -p ~/.config/rc/init.d

Code: [Select]
cat << EOF >>  ~/.config/rc/init.d/pipewire
#!/usr/bin/openrc-run

depend() {
    need dbus
}

export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
supervisor=supervise-daemon
command="/usr/bin/pipewire"
EOF

Code: [Select]
chmod +x ~/.config/rc/init.d/pipewire

Code: [Select]
rc-update --user add pipewire default

Btw there are a few typos in that wiki link, instead of a forward slash there is a full stop for ~/.config/rc

Quote
Eg. for pipewire create file ~/.config.rc/init.d/pipewire with content:

Quote
$ chmod +x ~/.config.rc/init.d/pipewire

 

Re: User OpenRC config interferes with gnome gdm wayland session

Reply #3
I also had a look at how alpinelinux starts pipewire via openrc user and that was not a success either. I think gnome/gdm is the culprit really, just doesn't want to play nice with openrc user runlevels.

https://wiki.alpinelinux.org/wiki/OpenRC#User_services

For interests sake the only modifications i made were these after "rc-update -U del pipewire" service.

create rc.conf
Code: [Select]
${XDG_CONFIG_HOME:-$HOME/.config}/rc/rc.conf

Contents of rc.conf
Code: [Select]
rc_env_allow="WAYLAND_DISPLAY"

make runlevel gui
Code: [Select]
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/rc/runlevels/gui"
Code: [Select]
rc-update -U add pipewire gui

Reboot

This allowed me to login into the wayland session but did not start pipewire, so back to square one again.

Re: User OpenRC config interferes with gnome gdm wayland session

Reply #4
If you leave the setup like it is, and run:
  rc-update --user delete pipewire default
the login should work.
What is then the response of:
  rc-service pipewire start --user

Pls also check /var/log/rc.log for errors/failures.

artist
 

Re: User OpenRC config interferes with gnome gdm wayland session

Reply #5
If you leave the setup like it is, and run:
  rc-update --user delete pipewire default
the login should work.
What is then the response of:
  rc-service pipewire start --user

Pls also check /var/log/rc.log for errors/failures.

artist

Yes the login works but pipewire,wireplumber fail to load.
The response of "rc-service pipewire start --user" loads dbus and pipewire, but no audio can be obtained as i need pipewire-pulse and wireplumber to work for bluetooth audio. If I add pipewire-pulse and wireplumber user rc scripts and enable/start them i cant log into the wayland session.

"/var/log/rc.log" everything is "OK"

Re: User OpenRC config interferes with gnome gdm wayland session

Reply #6
If you leave the setup like it is, and run:
  rc-update --user delete pipewire default
the login should work.
What is then the response of:
  rc-service pipewire start --user

Pls also check /var/log/rc.log for errors/failures.

artist

Yes the login works but pipewire,wireplumber fail to load.
The response of "rc-service pipewire start --user" loads dbus and pipewire, but no audio can be obtained as i need pipewire-pulse and wireplumber to work for bluetooth audio. If I add pipewire-pulse and wireplumber user rc scripts and enable/start them i cant log into the wayland session.

"/var/log/rc.log" everything is "OK"



this might be a stupid question but is alsa on?


Re: User OpenRC config interferes with gnome gdm wayland session

Reply #8


this might be a stupid question but is alsa on?

Im not using alsa-utils/alsa openrc services. Only pipewire pipewire-pulse and wireplumber.

I have to admit that I don't understand how sound works as much as I used to.  My understanding was that everything works through ALSA on the kernel level, regardless of the user tools that you have.  Perhaps this is not the case any longer.  The fundamental problem, however, remains the same.  I would turn off the sound and manually restart it to make sure that the hardware is being understood by the kernel correctly.  It is very unrealistic to do this with rmmod and modpobe and lsmod and I am at a loss as to what tool can be used.  But that would be the first step.

Re: User OpenRC config interferes with gnome gdm wayland session

Reply #9


Im not using alsa-utils/alsa openrc services. Only pipewire pipewire-pulse and wireplumber.

I have to admit that I don't understand how sound works as much as I used to.  My understanding was that everything works through ALSA on the kernel level, regardless of the user tools that you have.  Perhaps this is not the case any longer.  The fundamental problem, however, remains the same.  I would turn off the sound and manually restart it to make sure that the hardware is being understood by the kernel correctly.  It is very unrealistic to do this with rmmod and modpobe and lsmod and I am at a loss as to what tool can be used.  But that would be the first step.

Its not so much an issue with sound, i can get sound using systemwide pipewire settings, the issue is most likely gnome wayland not playing nice with openrc services.

I just tested using lightdm + xfce4 + xorg and i had no issues using the openrc user services to start pipewire pipewire-pulse and wireplumber for my bluetooth audio. The same with gnome xsession, the user services work fine.

To add this is not an issue for me, ill stick to using xorg like I always have, i just wanted to bring it to attention and see if anyone can possibly reproduce this bug and maybe we could bugfix it here. Otherwise if it cant be fixed then that is fine too, but atleast this forum post is a placeholder for issues that may arise further down the road.

Re: User OpenRC config interferes with gnome gdm wayland session

Reply #10
One more thing that is confusing me in this discussion, and I much appreciate all the effort, I thought that piperwire has to  be run as a user service.