Zertik Posted June 13, 2025 Share Posted June 13, 2025 I'm having this issue trying to play DST on steam deck's built in linux mode. while i could turn linux compatibility off and just play with the steam deck, contoller seems to be far worse than mouse and keyboard, and undocking the steam deck and docking it over and over again can get annoying. I hope Klei fixes the controls reverting to Xbox after a loading screen, because i haven't been able to play the game for a year 2 1 Link to comment https://forums.kleientertainment.com/forums/topic/166396-steam-deck-linux/ Share on other sites More sharing options...
Ginosaji Posted June 13, 2025 Share Posted June 13, 2025 Steam Deck user here. I'm mainly using my Deck as a low budget Desktop in docked mode with an external monitor, keyboard, mouse and an usb headset. DST is playable for me with kb+m in desktop mode but i'll have to do some tinkering. The game automatically detects the built in Steam Controller that the Deck is coming with so i'm running a command-line in the terminal to disable the driver for the Controller. The driver will automatically start again after you restart your Steam Deck so there is no risk that you can no longer do any inputs when you go handheld again. I just grabbed one of the command-lines from this reddit post. Link to comment https://forums.kleientertainment.com/forums/topic/166396-steam-deck-linux/#findComment-1821784 Share on other sites More sharing options...
Zertik Posted June 16, 2025 Author Share Posted June 16, 2025 the konsole says "no such device for that command Link to comment https://forums.kleientertainment.com/forums/topic/166396-steam-deck-linux/#findComment-1822823 Share on other sites More sharing options...
hhh2 Posted August 2, 2025 Share Posted August 2, 2025 (edited) @Zertik @Ginosaji SteamDeck=0 %command% Add the line above into the 'Launch Options' of DST. It might be worth making a note of, because it disables the ways that programs can detect that you are playing on a Steam Deck and you can add this command to the launch options of any game you will play on Steam, in case a specific game makes unwanted changes because it detects that you are. When you supply these launch options to DST, the program will behave exactly like you are playing on a regular PC. It restores the ability to select resolution as well as disable the controller portion of the Steam Deck, which identifies itself as an Xbox360 controller. I am sorry you have such difficulty playing Don't Starve, Zertik. Edited August 2, 2025 by hhh2 Link to comment https://forums.kleientertainment.com/forums/topic/166396-steam-deck-linux/#findComment-1830244 Share on other sites More sharing options...
hhh2 Posted August 2, 2025 Share Posted August 2, 2025 (edited) @Sanitar @Pet Rock @Joey9Baka @-Nick- @tailor100 @TidMiste @ExultedCthulhu @chaosmonkey @CyberSkink I don't mean to tag on mass, but this is a longstanding issue and want to promote a solution. I skimmed the threads with Steam Deck in the title and none of them have received a reply from Klei staff. @JoeW I've noticed a lot of players have had this issue over years, yet no solution is ever dished out. Maybe you could propose an idea to check if the Desktop mode thingy is activated and only restrict the interface if Steam deck is true and Desktop mode is not true. I'm assuming technically that 'SteamDeck=1' is an environment variable. I do not think that the fault lies in the way DST is signaled by the environment variable. I think it's a fault or oversight of Valve's. This environment variable ought not be passed if the current mode is of Desktop, as the expectation is that it should behave like a Desktop. Maybe valve should standardise a GamingMode=1 enviroment variable to signify that the computer is in handheld mode. Edited August 2, 2025 by hhh2 2 Link to comment https://forums.kleientertainment.com/forums/topic/166396-steam-deck-linux/#findComment-1830252 Share on other sites More sharing options...
Ginosaji Posted August 10, 2025 Share Posted August 10, 2025 is that a gamescope variable? gamescope is kinda hit or miss for me. either the game doesn't start at all with gamescope variables in the launch options or the game does start but i don't see any of the changes taking place. 1 Link to comment https://forums.kleientertainment.com/forums/topic/166396-steam-deck-linux/#findComment-1831328 Share on other sites More sharing options...
Fornax Posted August 10, 2025 Share Posted August 10, 2025 It’s not a gamescope variable, this one disables Steam Deck specific settings so the game thinks it’s running on a regular Linux distro. 2 Link to comment https://forums.kleientertainment.com/forums/topic/166396-steam-deck-linux/#findComment-1831337 Share on other sites More sharing options...
hhh2 Posted August 10, 2025 Share Posted August 10, 2025 (edited) 12 hours ago, Ginosaji said: is that a gamescope variable? gamescope is kinda hit or miss for me. either the game doesn't start at all with gamescope variables in the launch options or the game does start but i don't see any of the changes taking place. It's an environment variable. I think it's a feature of the Linux kernel. The way I know and understand it is some data as strings is accessible to processes similar to the convention of command line arguments, but less verbose and more implicit. I can prove to you that it is an environment variable. When in the Desktop mode and with DST running open the terminal and paste this command into it: cat /proc/"$(pgrep dont)"/environ | grep -aow SteamDeck=[01] In the case that there is nothing in the launch options of DST, the terminal will say "SteamDeck=1". In the case that there is 'SteamDeck=0 %command%', the terminal will say "SteamDeck=0". In Linux, you can peer into the environment of any running process if you know its process ID as it is a file. The Steam client that is distributed on SteamOS is specified to insert "SteamDeck=1" into the environment of any process it starts. Modern games that strive for the Steam Deck approval thingy on Steam (the check mark thingy) will probably have a few statements that search for this string to evaluate a variable that is used to alter the game logic to be befitting of the handheld form-factor. Like the conventions of some computer shells, environment variables can be declared or redeclared for the executable by placing those declarations before the command, hence "SteamDeck=0 %command%"; "%command%" is a filepath to the executable of DST or the process that the Steam client starts when you press the green "Play" button. In the Lua scripts of the latest version of DST at the time of this post, line 95 of worldgen_main.lua defines the function IsSteamDeck which gets the value of a IS_STEAM_DECK that is set accordingly by the environment variable. This function is used in the logic elsewhere which disables parts of the interface. (Incidently, I think it is possible to redefine this function with a mod so it unconditionally returns false and Windows users can restrict the interface by putting "SteamDeck=1 %command%" into DST's launch options.) Undoubtedly Klei's intention to disable those was to ensure that end users don't cause any problems for themselves. Edited August 10, 2025 by hhh2 Link to comment https://forums.kleientertainment.com/forums/topic/166396-steam-deck-linux/#findComment-1831375 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now