matanui159 / ReplaySorcery

An open-source, instant-replay solution for Linux
GNU General Public License v3.0
854 stars 27 forks source link

DEs do not use the graphical-session target #121

Closed melvyn2 closed 3 years ago

melvyn2 commented 3 years ago

Describe the bug Some desktop environments do not start the graphical-session target, so the replay-sorcery target won't start even when enabled. According to https://unix.stackexchange.com/a/598055 , default.target will be started by these DEs, and I have confirmed that using this target instead does lead to a working startup (with kmsgrab- X11grab may need to be started later). It seems that GNOME will start this target, but I'm not aware of any other DEs doing so.

Desktop:

Configuration: replay-sorcery.conf

matanui159 commented 3 years ago

Sadly default.target will make X11 fail sometimes. What does KDE use for it's graphical target? Maybe I can have it support both?

melvyn2 commented 3 years ago

Looking a bit further, it seems KDE should be using graphical-session.target. Maybe KDE isn't using systemd by default and it needs to be enabled. I can't verify now but I'll look further into this when I am able again.

melvyn2 commented 3 years ago

systemd startup for KDE needs to be enabled with kwriteconfig5 --file startkderc --group General --key systemdBoot true. Once it is, the graphical-session.target will be started properly. I would recommend adding PartOf=graphical-session.target to the [Unit] section of replay-sorcery.service however this isn't completely required because it should be stopped when the session ends anyways.