Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
How to properly run Steam Decks UI on Manjaro

This guide is deprecated! Please take a look at the defacto un-official SteamOS project HoloISO.

HoloISO is more straightforward to install and is being actively worked on.


Running Steams Deck UI on Manjaro with Minimal Glitches

This is an unofficial short guide on running Steam Decks new UI on Manjaro. I am kind of a linux noob, so forgive me if I get a few things wrong in this guide. Also, I have not fully tested everything so there may be some weird issues that I have overlooked.

Link to reddit discussion post:

Specs tested on:

  • CPU: i5 4670k
  • RAM: 16gb Corsair
  • GPU: 5700xt Power Color Red Dragon
  • Monitor: Ultrawide 1440x3440

Note: This guide may or may not work with an Nvidia graphics card. Try at your own risk.


Install Manjaro

  • Download manjaro kde
  • Flash the image to a USB using 'BalenaEtcher'
  • Install to a free partition on your PC

Please note: this guide assumes you use the open source drivers for an AMD card.


Prepare Packages

Open konsole from the applications menu and run the following commands:

  • Update packages with pacman -Syu
  • Install gamescope using pacman -S gamescope

Note: This part may be un-necessary. I do not know if this guide will work with steam-manjaro. My assumption is that steam-native is more likely to guarantee that the deck ui has the libraries it needs to run, but I honestly do not know if that is the case. - Uninstall steam-manjaro using pacman -Rs steam-manjaro - Install steam-native using pacman -S steam-native

Update: The pre-installed steam-manjaro is the recommended package to use to prevent library compatibility issues. https://wiki.archlinux.org/title/Steam/Troubleshooting#Steam_native_runtime

Once all the packages are installed, reboot your computer for changes to take effect.


Prepare Steam

Run steam for the first time to allow it to update

  • Run steam in the command line
  • OR click on the steam launcher in the applications menu

Login into steam and go to settings -> Steam Play and click Enable Steam Play for all other titles

At this point, you should test that games are running properly with proton on steam. You can:

  • Download a game and just run it
  • Follow the guide below on loading games from an NTFS hard drive (note: it is highly recommended to use Ext4 to store your games)

Once steam is launching games without any issues, exit out of steam and move on to the next step


Running Deck ui

Initialize the deck ui:

  • Run steam -steamos3 -gamepadui -steamdeck -steampal in the command line
  • Follow through the deck ui's on screen first time setup
  • Near the end of the setup, the deck ui will complain that the setup cannot continue
  • Exit out of steam again
    • Hit alt+tab to gain access back to the desktop
    • Hit ctl+c in the terminal to stop steam from running

Run the working deck ui:

  • Run gamescope -e -- steam -steamos -gamepadui
  • Steam should start running with the new deckui
  • Note: You should specificy the gamescope resolution using the -w -h -W -H commands. Otherwise steam will default to a resolution that I am assuming is the decks resolution.

Additional Notes

  • Please check the gamescope github for all the flags! https://github.com/Plagman/gamescope
  • Without the gamescope compositor running, you will get weird graphical glitches in the deck ui (you can see the desktop when you open the left hand side menu, you cannot open the steam overlay in game)
  • You must run gamescope with the -e flag. This enables steam integration with gamescope. If you do not do this, then games will just show a black screen when attempting to run them. Source: Plagman/gamescope#388
  • You can run gamescope with the -w -h -W -H flags to specify the resolution of steam and games.
  • You can use the -b command for borderless mode, and the -f command for full screen mode.
  • You can use the -U command to enable AMD FSR 1.0, and the -r command to set the frame limit. By default, the framerate limit is unlimited.

Optional tips

Loading existing games onto Steam:

  • If you are dualbooting, you can load your existing games into steam. However, if the drive containing your games is formatted as NTFS, steam cannot load the games unless you first fix some issues.
  • First: Make windows unlock the hard drives write access
    • Disable fast boot in the bios
    • Boot into windows, login, then shutdown
    • Now, you should be able to create folders on your hard drive in linux using dolphin wihtout any issues
  • Second: Update the UUID settings in linux for your hard drive
  • Third: Add the games folder to steam
    • Rename your steam folder on your hard drive to SteamPlay
    • Launch steam normally (no deck ui commands)
    • Go to settings -> download -> steam folder and select your hard drive
    • Steam should automatically find the SteamPlay folder and load your games
  • At this point, steam should automatically start a bunch of downloads. Steam needs to get additional files to allow games to work on linux. For now, I suggest pausing all downloads except for a couple games you want to test, and allow steam to download the SteamPlay compatibility tools (Steamworks Common, Steam Runtime Soldier, Proton).

Gamemode:

Running steam exclusively:

  • I believe that there is a way to disable plasma from running on login and instead run steam only. Doing this would offer a bit more performance as only the gamescope compositor would be running instead of kwin and plasma running in the background. One way to test that this is possible is by switching to a different console using ctl+alt+f1. Then run gamescope -e -- steam -steamos -gamepadui

Glorious Eggroll Proton:

  • You can use GE Proton if you want. The tool at https://github.com/AUNaseef/protonup can help you download the latest GE proton versions. (you can install protonup from the AUR using yay)

Other notable issues

Windows:

  • Steams menu overlay did not work for me in Windows 10 when a game was running
  • The steam controller did not work in games on Windows 10 with the deck ui running
  • The steam controller could not be configured on Windows 10 with the deck ui running

Linux:

  • Various settings in the deck ui menu do not work
    • Do not play with the deck ui's settings! They may possibly break you steam install. (I believe developer mode will break steam)
  • Clicking Switch to desktop button in the decks ui's power menu does not work. Instead, hit alt+tab to escape back to the desktop.
  • Clicking the sleep button in the deck ui's power menu sleeps the computer. However, my computer crashes when attempting to wake back up. This only seems to occur when using wayland.
  • Steams store can look a bit glitchy at weird resolutions like 3440x1440.
  • Opening up the left hand menu in the deck ui will make the background go black. The correct behavior should blur the background. You can instead run -steamos3 which will enable background blurring, but it may cause the left hand menu to not scale correctly making buttons hidden off the screen (the menu gets borked if you change the resolution parameters for gamescope).
  • The battery indicator does not show up on desktops, but may show on laptops. This means that on desktops you cannot access the right hand menu which would allow you to access your steam friends list. You can still access the battery indicator menu by pressing Home + A for Steam/Xbox controllers, or Home + X for Playstation controllers.

Other:

  • On my laptop, it seems to work with Nvidia cards if you run prime-run steam -steamos -gamepadui but it runs at a low framerate. This may because I ran without gamescope.
  • In the regular steam app, you can enable hardware acceleration settings -> Interface. However, I do not know if this affects the deck ui's performance.
@GDYendell
Copy link

GDYendell commented Mar 26, 2022

Thanks for this. It works well for me on arch. I can run it on tty2 (ctrl+alt+2), as tty1 is in use.

One thing I would note is that installing gamescope, gamemode and lib32-gamemode seemed to break controller support in game even when launching from desktop as usual (it worked in the deck ui), but a reboot fixed it.

@red-dragon65
Copy link
Author

red-dragon65 commented Mar 29, 2022

Interesting. I didn't realize that was an issue as I had to restart my computer to get Windows to unlock the hard drive before I could start testing games on Linux. Thank you for commenting. I've updated to the guide to let users know a reboot is required for some changes to take effect.

@eVen-gits
Copy link

eVen-gits commented Jun 17, 2022

Hey!

Do all the coontrols/buttons work normally? Mostly I mean the TDP configurations and mangohud etc?

What are the differences between running SteamOS and Manjaro in this case?

@red-dragon65
Copy link
Author

red-dragon65 commented Jun 21, 2022

@eVen-gits
No. Last I checked, you cannot alter the TDP settings or even open mangohud. This is because of two reasons:

A) The right hand menu cannot be accessed because the battery indicator is not present. At least, that was the case on my desktop and laptop. This is unlike the steam deck which, in addition to the battery indicator, has a dedicated controller button to open the menu . I have seen ChimeraOS running the deck ui with the battery indicator, but I am unsure of what work around is possible to make that happen. Also, I don't know if it is possible to create a hotkey that can open the battery menu.

B) Even if the menu could open, most of the menu settings don't/won't work any ways (such as settings the fps limiter) as those settings only work for the steam deck and are not coded to work for PC's as of yet. I think MangoHUD may be the exception to this but I have not tested it. It may be possible to run MangoHUD on the desktop and then switch back to the Deck UI, but I am not sure if MangoHUD will show or work as 'gamescope' may block it.

@red-dragon65
Copy link
Author

red-dragon65 commented Jun 21, 2022

@eVen-gits
As for your SteamOS vs Manjaro question, correct me if I am wrong, I am going to assume you mean 'the version of SteamOS running on the Steam Deck' vs 'this guide on running SteamOS on Manjaro hack'.

They are basically the same except SteamOS on the Steam Deck is less buggy and more polished. With my guide, the battery indicator menu cannot be accessed, you cannot switch to the desktop using the deck ui menu, and there may be various graphical issues that popup depending on your specific install. Also, there is always a chance things will break as dependencies get updated.

@red-dragon65
Copy link
Author

red-dragon65 commented Jun 21, 2022

@eVen-gits
Honestly, this guide has become deprecated since holoiso came out. With holoiso, the only thing that doesn't seem to work is the TDP settings and GPU clock settings. Everything else works just like the Steam Deck.

If you are looking to install SteamOS, definitely take a look at holoiso. It is a much more polished and bug free experience as well as being more straightforward to get setup. I will update the gist to reflect this statement.

@red-dragon65
Copy link
Author

red-dragon65 commented Jun 21, 2022

@eVen-gits
Actually, it seems like holoiso also has issues with the battery indicator not appearing. However, I did find info online on how to access the battery indicator menu. Apparently, you can press the Steam/Xbox home button + A to make it appear. For a playstation controller, you can hit the home button + X.

@eVen-gits
Copy link

eVen-gits commented Jun 21, 2022

Thank you a lot for your detailed replies, @red-dragon65 .

I wanted to switch to Manjaro on Steam Deck, because that is what I use for my PC and I like their verion of software control center (AUR, snap and flatpack support). Seems like it's a good decision that I waited.

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