wayblueorg / wayblue

Fedora Atomic images for wayland compositors
Apache License 2.0
133 stars 18 forks source link

Stop hyprland from invoking duplicate services #81

Closed rehashedsalt closed 2 weeks ago

rehashedsalt commented 2 weeks ago

Related to #80 Noissue

The services removed from hyprland.conf in this commit are also spawned by systemd when a user logs in and can cause breakage if Hyprland starts them manually. In theory, most of these daemons should detect that they're duplicates and fail, but I'd rather not have the potential for race conditions.

For reference, here's a depgraph of Hyprland's graphical-session.target:

$ systemctl --user list-dependencies graphical-session.target
graphical-session.target
● ├─at-spi-dbus-bus.service
● ├─dunst.service
● ├─flatpak-portal.service
● ├─flatpak-session-helper.service
● ├─gvfs-daemon.service
○ ├─uresourced.service
● ├─xdg-desktop-portal-hyprland.service
● ├─xdg-desktop-portal.service
● ├─xdg-document-portal.service
● ├─xdg-permission-store.service
● └─basic.target
●   ├─systemd-tmpfiles-setup.service
●   ├─paths.target
●   ├─sockets.target
●   │ ├─dbus.socket
●   │ ├─pipewire-pulse.socket
●   │ └─pipewire.socket
●   └─timers.target
●     ├─grub-boot-success.timer
●     └─systemd-tmpfiles-clean.timer

It's also worth noting that every session -- graphical or otherwise -- gets Pipewire for free. None of the compositors should be launching it themselves, as that can lead to the screensharing failures mentioned in #80. This wasn't the case for Hyprland, but it's worth noting.

I believe the configuration lines are still useful for users launching from a tty and so left them in, commented out for reference.