Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Older DirectX fullscreen only games fail to find display #564

Closed
VGJUNKY opened this issue Aug 30, 2022 · 11 comments
Closed

Older DirectX fullscreen only games fail to find display #564

VGJUNKY opened this issue Aug 30, 2022 · 11 comments
Labels
bug Something isn't working Non-Steam Game Issues relating to Non-Steam Games launched through the Steam Client Steam Deck Issues related to using SteamTinkerLaunch on Steam Deck

Comments

@VGJUNKY
Copy link

VGJUNKY commented Aug 30, 2022

These games were not an issue on version 10, but are on the latest PR

While looking at #523 I had a non-steam game unable to run. I've now found out it is unrelated to the fork or inject custom command settings.

I have 2 examples of older games that run fine in proton 7.0-4 both on desktop and game mode on steamdeck but fail on stl with default settings.

Game 1: Croc 2
Error message
Screenshot_20220830_155429
Logs
steamtinkerlaunch_croc2.log
steam-15252888409685884928_croc2_protonlog.log

Game 2: Garfield lasagna world tour
No Error just a silent crash
Logs
steamtinkerlaunch_garfield.log
steam-16340261450566074368_garfield_protonlog.log

Both games force fullscreen with no windowed options naively, there's a workaround which is to enable virtual desktop, but this removes the ability to seperate and easily focus a custom command program (alt tab) as well as steam input doesn't apply custom control bindings to a game running in virtual desktop.

@frostworx
Copy link
Collaborator

sorry, I can't think of any reason why steamtinkerlaunch could even cause this directly. I'd guess that the wineprefix/compatdata used is kind of borked and therefore would suggest to start with a one for the beginning.
just found garfield lasagna on archive.org and try to reproduce it when I find the time.

@frostworx
Copy link
Collaborator

directly tested it and it works fine ootb on my system (using GE-Proton7-31). So I recommend to really start with a clean wineprefix/compatdata

@sonic2kk
Copy link
Owner

I agree with Frostworx, and wanted to mention an easy to way to do this on Steam Deck from Game Mode is by pressing the "Options" (or "Start") button, and under the "Developer" settings you can select "Delete Proton files". Note that this may delete some game-specific things that may not be backed up in the Steam Cloud, such as game saves that are stored in the Windows "My Documents" folder. These would be saved to the wineprefix. And related to discussions on other issues, this will delete any Winetricks installed.

@VGJUNKY
Copy link
Author

VGJUNKY commented Sep 1, 2022

Unfortunately deleting the prefix for both games (using game modes ui) and trying again with stl as the compatibility tool failed in the same way. Since you didn’t have this issue @frostworx it maybe steam deck specific.

I used proton 7 without stl afterwards and it worked.

@VGJUNKY VGJUNKY closed this as completed Sep 1, 2022
@VGJUNKY VGJUNKY reopened this Sep 1, 2022
@sonic2kk
Copy link
Owner

sonic2kk commented Sep 1, 2022

Had a look in the Croc2 log, found this interesting section:

Tue Aug 30 02:58:24 PM PDT 2022 STOP - ######### SteamTinkerLaunch v11.1.20220830 #########
Tue Aug 30 02:58:24 PM PDT 2022 STOP - ######### CLEANUP #########
Tue Aug 30 02:58:24 PM PDT 2022 INFO - closeSTL - closing STL
Tue Aug 30 02:58:24 PM PDT 2022 INFO - updateConfigEntry - Emptying 'CUSTOMCMD' for '/home/deck/.config/steamtinkerlaunch/default_template.conf'
Tue Aug 30 02:58:24 PM PDT 2022 INFO - updateConfigEntry - Option 'CUSTOMCMD' is updated with the new value 'echo' in config 'default_template.conf'
Tue Aug 30 02:58:24 PM PDT 2022 INFO - closeSTL - Creating '/dev/shm/steamtinkerlaunch/steamtinkerlaunch-closing.tmp'
Tue Aug 30 02:58:24 PM PDT 2022 INFO - setPrevRes - Returning to previous screen resolution via 'xrandr -s 0'
Tue Aug 30 02:58:24 PM PDT 2022 INFO - checkPlayTime - The game was not started via 'steamtinkerlaunch' but directly from Steam - skipping Crash Requester
Tue Aug 30 02:58:24 PM PDT 2022 INFO - steamdeckClose - recovering original gtk.css from '/home/deck/.config/gtk-3.0/gtk.css_ORIGNAL'
Tue Aug 30 02:58:24 PM PDT 2022 INFO - closeSTL - Game 'Croc2 (4245217489)' exited - cleaning up custom processes if necessary
Tue Aug 30 02:58:24 PM PDT 2022 INFO - notiShow - Skipping notifier on SteamDeck
Tue Aug 30 02:58:24 PM PDT 2022 INFO - closeTrayIcon - Closing TrayIcon ''

In particular, the xrandr command is interesting. I wonder if this is why those older games can't find a display device? I know little to nothing about xrandr but I'm fairly sure it's related to setting display modes, so it could be relevant. Maybe some other commands are needed?

The Proton log complains about display modes too, quite a lot:

121199.314:0134:0138:err:x11settings:X11DRV_EnumDisplaySettingsEx Failed to get L"\\\\.\\DISPLAY1" supported display modes.
121199.314:0134:0138:err:x11settings:X11DRV_EnumDisplaySettingsEx Failed to get L"\\\\.\\DISPLAY1" supported display modes.

So I guess however the previous resolution is set, these older games don't seem to like. I wonder if this is specific to Non-Steam games?

@VGJUNKY could you test with a GEProton release if possible? Maybe this is a Proton bug(?) that GE has fixes for, but no idea. These are Non-Steam games too so maybe GE has general patches for them that aren't in Proton.

EDIT: Just checked the logs on my laptop and PC, setPrevRes isn't called on desktop it seems like, so it might only be called for Steam Deck.

@sonic2kk
Copy link
Owner

sonic2kk commented Sep 2, 2022

Still not sure what causes this but just a heads up that the fix for Non-Steam Games may be reverted soon, though a full fix for the underlying issue should come soon.

Not totally sure it's anything to do with setPrevRes anymore as it looks like Garfield doesn't have that, though you mentioned it just silently crashes, so there could be two separate issues.

Maybe you could try forcing the Steam Linux Runtime? I'm not sure how Steam Deck launches Non-Steam games so there could be something the Deck does that STL doesn't. Not sure if the SLR would be related but there's only one way to find out I suppose 😄

@VGJUNKY
Copy link
Author

VGJUNKY commented Sep 2, 2022

Proton-ge does nothing different. These 2 games work perfectly fine on standard 7 proton in steam. Nor does forcing SLR do anything. Its good that we’ve figured out its steam deck specific at the very least.

I believe the issues are the same cuz the proton logs both indicate it fails to find a display. But I can’t decern anything more specific.

For now I’ll keep this issue open as I’m feeling lazy and want to do a proper writeup when making a new issue. And I don’t have much time for that atm.

@sonic2kk
Copy link
Owner

sonic2kk commented Sep 2, 2022

I wonder if the game is using a different wineprefix with STL versus with a regular Steam launch. Not totally sure what could be causing the Proton log display error but I'll have a look around and see if I can spot anything online for other games.

If your game has a config file anywhere you could try manually editing it and seeing if anything looks off.

Also, maybe Steam isn't correctly deleting the Proton files for Non-Steam games. You could try manually deleting the prefix which is seemingly at /home/deck/.local/share/Steam/compatdata/3804377994. Delete the folder called 3804377994 and try running your game again. Though that would be strange as it means STL and Steam are using different prefixes...

@sonic2kk sonic2kk added bug Something isn't working Steam Deck Issues related to using SteamTinkerLaunch on Steam Deck Non-Steam Game Issues relating to Non-Steam Games launched through the Steam Client labels Sep 5, 2022
@frostworx
Copy link
Collaborator

I still don't think this is a steamtinkerlaunch issue.
I'd guess as well that the wineprefix could have been partially broken (this occassionally happens when switching proton versions - not steamtinkerlaunch related)
Can you reproduce that the games still do work with steamtinkerlaunch 10?

@VGJUNKY
Copy link
Author

VGJUNKY commented Sep 24, 2022

I don’t think i can test 10 on steam deck, it just auto updates to 11 aka newest version

@frostworx
Copy link
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Non-Steam Game Issues relating to Non-Steam Games launched through the Steam Client Steam Deck Issues related to using SteamTinkerLaunch on Steam Deck
Projects
None yet
Development

No branches or pull requests

3 participants