Skip to content

Instantly share code, notes, and snippets.

@akdev1l
Last active October 28, 2022 23:51
Show Gist options
  • Save akdev1l/9f93956a101157ff5251fbcd073d18cf to your computer and use it in GitHub Desktop.
Save akdev1l/9f93956a101157ff5251fbcd073d18cf to your computer and use it in GitHub Desktop.
fedora on deck - current state

Fedora on Steam Deck

  1. Current process
  2. Known Issues

Current process

  1. Install Fedora from a USB drive to the Steam Deck (it does not seem like the kernel in SteamOS is patches so as long as we have a new enough kernel we should be fine)
  2. Install steam from RPMFusion (flatpak steam has some problems integrating with the host system)
  3. Install mangoapp - https://github.com/akdev1l/mangohud
  4. Install gamescope-session following the manual setup process described here: https://github.com/Samsagax/gamescope-session
    1. NOTE: You don't need to disable your display manager as it is shown in this guide unless you want to boot straight into Steam GamePadUI

If you choose to stick with Gnome/KDE for a more traditional Linux experience it is recommend to create a .desktop file to allow quick access to Steam GamePadUI. We can do it by putting this file in ~/.local/share/applications/gamepadui.desktop

[Desktop Entry]
Name=GamePadUI
Comment=GamePadUI Steam Session for Steam Deck
Exec=/usr/local/bin/gamescope-session
Icon=steam
Terminal=false
Type=Application
Categories=Game;
PrefersNonDefaultGPU=true
X-KDE-RunOnDiscreteGpu=true

It will create a new entry in the application launcher named "GamePadUI" that will invoke the GamePadUI in full screen mode. (I've only tested this in gnome X11, I would expect it works on KDE as well - wayland seemed to not work)

Known Issues:

Can't escape from GamePadUI back into Gnome

From what I gather steam is changing the input mode of the steam deck into joystick mode and after that moment all the input is actually processed by steam directly. This means that we lose any control of outer environment as the inputs are just confined to steam and if we try to use the touchpad I observe that there is a duplicate mouse within steam that is also similarly constrained.

Workaround:

We can workaround this issue by just having a quick script that kills the steam session, that takes us back to our DE

  1. Create a desktop entry in ~/.local/share/applications/exit-steam.desktop
[Desktop Entry]
Name=Exit Steam
Comment=Back to desktop
Exec=/usr/bin/pkill gamescope
Terminal=false
Type=Application
  1. Use steam to add the application "Exit Steam" as a non-steam game

Whenever you want to go back to your DE you just need to go to non-steam games and select "Exit Steam"

Sound not working

Sound is not working - Fedora recognizes some audio device is present but I don't think the device configuration is correct. The sound device appears as AMD Renovoir2 Audio Pro with duplicate entries and no outputs. It is unclear where the problem is at this time.

SteamDeck Controller Inputs Are Different When Steam is Open

It turns out steam does a lot of processing for the controller inputs - I think Valve did this to piggyback of the steam input infrastructure as they needed to get that working anyway for games to work on SteamDeck. This is why on Steam OS if Steam crashes on desktop mode then the device will turn unresponsive. I theorize that Steam is simulating the input on behalf of the device rather than the OS processing it directly.

In Fedora the situation is bit brighter - if Steam is not running then it seems libinput is taking over and there are correctly mapped actions for basic usage (as long as you don't mind the on-screen keyboard without dual-handed input).

Here are the controls on Fedora as I have found them:

  1. Right touchpad works as touchpad - yay (left touchpad does not do anything, clicking does not do anything on either)
  2. D-Pad works as arrow keys
  3. B works as Esc
  4. A works as Enter
  5. Right and left triggers work as right and left click respectively

I have not found a way of adjusting the keymappings.

Workaround

You can work around this issue if it relly bothers you by simply having steam autostart - either regular steam autostart or you can add an autostart entry with steam -silent which will start steam in the same mode of operation that is in when on Desktop Mode on Steam OS.

// TODO: describe what to do here...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment