So Clickteam doesn't have a native Linux exporter, but obviously there's Wine/Proton. As a developer, what kind of stuff I can do to increase the chances of my game working on Linux via Wine/Proton? E.g. what extensions not to use, and so on.
So Clickteam doesn't have a native Linux exporter, but obviously there's Wine/Proton. As a developer, what kind of stuff I can do to increase the chances of my game working on Linux via Wine/Proton? E.g. what extensions not to use, and so on.
You can try Proton Experimental and Proton 7, using Lutris from the Desktop Mode's "app shop". It is easier to install windows only games from Steam first and let the Steamdeck download and install Proton and such first.
I got 3 of my older .exe games running. Hatcher Dice, Termanull, & LOOTRONS 1982. You will probably have to re-key some things for inputs if you do not like the Steamdeck default's for trackpads an L & R triggers. The touchscreen works great for LOOTRONS, and it was a great feeling getting one of my projects playable on Steamdeck without much technical struggles.
2 of my 3 apps are mouse and clicking based, so it was easier to play them. Because my older windows games have their own unique resolutions, tuning settings for display & trying to get your games to run in portrait mode, etc, will take some display setting changes in Desktop Mode.
Here is what my LOOTRONS 1982 game looks like on Steamdeck:
lootrons_steamdeck3pics.jpg
In my apps, they were only using DirectX 8 and 9 features, so nothing too technical.I outlined what I did here: https://community.clickteam.com/threads/109414-Support-for-Steam-Deck?p=776756#post776756
My game is fully functioning 100% on Steam Deck on the standard Proton release using DX11, and it reads my control scheme out of the box without modification. I have keyboard controls built in, but if a controller is detected it swaps to that and there is no mouse functionality. I was previously using the Direct Show object for FMVs and the game wouldn't run unless in Proton Experimental, and even then the videos wouldn't play. I've since made all cutscenes in-engine instead and now it all runs on the standard Proton release. I'm using a huge swath of extensions too and haven't ran into any issues other than Direct Show.
I use the Joypad 2 object and this is the gist of how I run my events.
1) Joypad 2 runs event to detect if attached controller is an Xbox gamepad or not. If yes, set global value to 1, if no, set global value to 2.
2) If global value = 1, activate Xbox (Xinput) controller event group (that uses the Joypad 2 object, not the Xbox extension).
3) If global value = 2, activate the anything else (DirectInput) controller event group.
I haven't tested other controllers on the Steam Deck yet, but the default controls built into the device itself works out of the box on launch with no issues whatsoever. It detects it as an Xbox controller.