Gamescope steam session

the probelm was this package AUR (en) - devify was causing udev rules to time out. once I uninstalled that everything was working fine

in case anyone was wondering how I got all this working first I did

sudo pacman -S gamescope-session-git gamescope-session-steam-git

to install the chimeraos gamescope session files, but these are incomplete (and upstream says this is on purpose because they can’t include the files for some reason :person_shrugging: )

next you need to clone nobara gamescope session files which are actually based on the chimeraos ones( and adapted for fedora)

git clone https://github.com/Nobara-Project/steamdeck-edition-packages.git

next I installed some of the nobara game scope files

sudo install gamescope-session-plus/usr/bin/gamescope-session-plus  /usr/bin

sudo install gamescope-session-plus/usr/share/gamescope-session-plus/gamescope-session-plus /usr/share/gamescope-session-plus

cp gamescope-session-steam/etc/skel/Desktop/Return.desktop ~/.local/share/applications/

sudo install gamescope-session-steam/usr/bin/steamos-desktop-return  /usr/bin/

sudo install gamescope-session-steam/usr/bin/steamos-session-select /usr/bin/

sudo install gamescope-session-steam/usr/libexec/os-session-select /usr/lib/

sudo install gamescope-session-steam/usr/share/polkit-1/actions/org.nobaraproject.session.select.policy

sudo cp -a gamescope-session-steam/usr/share/icons/ /usr/share/

and optionally (technically the last one above is also optional it just has the icon for the return.desktop file) for the ability to run startup commands for the gamescope session

sudo cp -a gamescope-session-plus/etc/gamescope-session-plus/

sudo install gamescope-session-plus/usr/libexec/gs-thirdparty-services /usr/lib/

sudo install gamescope-session-plus/usr/share/polkit-1/actions/org.gamescope.start.policy

next you need to modify the files to replace all instances of libexec to lib and comment out a few files

comment out since we don’t have nobara-automount

diff gamescope-session-plus/usr/bin/gamescope-session-plus /usr/bin/gamescope-session-plus
24c24
< /usr/libexec/nobara-automount
---
> #/usr/lib/nobara-automount

comment out steamrestart since we do not have that and change libexec to lib

gamescope-session-steam/usr/bin/steamos-desktop-return /usr/bin/steamos-desktop-return
10,11c10,11
< /usr/bin/steamrestart
< /usr/libexec/os-session-select gamescope
---
> #/usr/bin/steamrestart
> /usr/lib/os-session-select gamescope

change libexec to lib

diff gamescope-session-steam/usr/bin/steamos-session-select /usr/bin/steamos-session-select
6c6
< GAMESCOPE_SESSION_SCRIPT="/usr/libexec/os-session-select"
---
> GAMESCOPE_SESSION_SCRIPT="/usr/lib/os-session-select"

comment out the echo for some reason this fails with permission denied and doesn’t allow the rest to run

diff gamescope-session-steam/usr/libexec/os-session-select  /usr/lib/os-session-select
7c7
< echo $@ >> /tmp/args
---
> #echo $@ >> /tmp/args

change libexec to lib

 diff gamescope-session-steam/usr/share/polkit-1/actions/org.nobaraproject.session.select.policy /usr/share/polkit-1/actions/org.nobaraproject.session.select.policy
18c18
<     <annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/os-session-select</annotate>
---
>     <annotate key="org.freedesktop.policykit.exec.path">/usr/lib/os-session-select</annotate>

and if you did the optional stuff

change libexec to lib

diff gamescope-session-plus/usr/share/gamescope-session-plus/gamescope-session-plus /usr/share/gamescope-session-plus/gamescope-session-plus
272c272
< /usr/libexec/gs-thirdparty-services
---
> /usr/lib/gs-thirdparty-services

change libexec to lib

 diff gamescope-session-plus/usr/share/polkit-1/actions/org.gamescope.start.policy /usr/share/polkit-1/actions/org.gamescope.start.policy
18c18
<     <annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/gs-thirdparty-services</annotate>
---
>     <annotate key="org.freedesktop.policykit.exec.path">/usr/lib/gs-thirdparty-services</annotate>

now make sure you have auto login and relogin setup up in sddm

ex:

File: /etc/sddm.conf.d/kde_settings.conf
[Autologin]
Relogin=true
Session=plasma.desktop
User=zany130
...rest of file

and you will be able to switch to a steam-deck like game mode by running Return to Gaming Mode from your start menu.

to switch back to your de just go to power → switch to desktop from the steam guide menu