Closed ajbucci closed 2 years ago
Quite strange. Well, I have no idea how to debug from the Deck UI since I don't own a Deck.
Quick question - Are you using Heroic Games Launcher AppImage or Flatpak?
AppImage! Yes, definitely strange.
If I add "> log.log" to the launch options it generates a log file in my GameFiles directory but it only says:
3.32.0 Checking if Zenity is installed: Game parameters updated. Now launching game...
So it looks like it's just updating the parameters but failing to run the launch command in the .sh file. Can you paste the contents of the game's .sh file?
Just to add, that method of logging does show the expected (working) output when launching from the steam desktop UI.
Here are the contents of my .sh file:
!/bin/bash
Game Name = Hades (EPIC)
App Name = Min
Overrides launch parameters
cd .. && ./HeroicBashLauncher "Hades" "Min" "/home/deck/.config/heroic/GamesConfig/Min.json" "epic"
(/home/deck/Downloads/HeroicBashLauncher-2.2.5_AppImage/binaries/legendary launch Min --wine '/home/deck/.config/heroic/tools/wine/Wine-GE-Proton7-7/bin/wine' --wine-prefix '/home/deck/Games/Heroic/Prefixes/Hades' || (echo "---CANNOT CONNECT TO NETWORK. RUNNING IN OFFLINE MODE---" ; /home/deck/Downloads/HeroicBashLauncher-2.2.5_AppImage/binaries/legendary launch Min --offline --wine '/home/deck/.config/heroic/tools/wine/Wine-GE-Proton7-7/bin/wine' --wine-prefix '/home/deck/Games/Heroic/Prefixes/Hades' )) || (zenity --error --title="Error" --text="Failed to launch games
Consider posting the log as an issue" --width=200 --timeout=3)
Looks fine. I guess you may have to try using Heroic Flatpak. The Deck seems very unpredictable.
Can you try pasting exec > log.log 2>&1
right under #!/bin/bash
and commenting the Override launch parameters command like #cd .. && ./HeroicBashLauncher ...
?
Now try launching the script from Steam (Desktop and UI mode) without any launch options.
That did the trick!! Here's the log:
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. [Core] WARNING: Could not determine locale, falling back to en-US [cli] INFO: Logging in... [Core] INFO: Logging in... [cli] INFO: Checking for updates... [Core] INFO: Getting authentication token... [cli] INFO: Launching Min... ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wineserver: using server-side synchronization. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely pid 10056 != 10055, skipping destruction (fork without exec?) wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. 002c:fixme:winediag:LdrInitializeThunk wine-staging 7.0 is a testing version containing experimental patches. 002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ATTENTION: default value of option vk_xwayland_wait_ready overridden by environment. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. Wine cannot find the FreeType font library. To enable Wine to use TrueType fonts please install a version of FreeType greater than or equal to 2.0.5. http://www.freetype.org ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). wine: overriding CPU configuration, 8 logical CPUs, host CPUs 0,1,2,3,4,5,6,7. 0148:err:module:import_dll Library dxgi.dll (which is needed by L"Z:\home\deck\Games\Heroic\Hades\x64\EngineWin64s.dll") not found 0148:err:module:import_dll Library dxgi.dll (which is needed by L"C:\windows\system32\d3d11.dll") not found 0148:err:module:import_dll Library d3d11.dll (which is needed by L"Z:\home\deck\Games\Heroic\Hades\x64\EngineWin64s.dll") not found pid 10069 != 10068, skipping destruction (fork without exec?)
Does launching from Steam via desktop mode and UI mode display different log?
Yes, it's different. Here's the log launching from steam desktop (up until it successfully launches the game):
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. [Core] WARNING: Could not determine locale, falling back to en-US [cli] INFO: Logging in... [Core] INFO: Trying to re-use existing login session... [cli] INFO: Checking for updates... [Core] INFO: Getting authentication token... [cli] INFO: Launching Min... ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wineserver: using server-side synchronization. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely pid 3211 != 3210, skipping destruction (fork without exec?) ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). 002c:fixme:winediag:LdrInitializeThunk wine-staging 7.0 is a testing version containing experimental patches. 002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). Wine cannot find the FreeType font library. To enable Wine to use TrueType fonts please install a version of FreeType greater than or equal to 2.0.5. http://www.freetype.org ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. wine: using kernel write watches (experimental). 0144:err:wldap32:DllMain No libldap support, expect problems 0144:err:kerberos:kerberos_LsaApInitializePackage no Kerberos support, expect problems 0144:err:winediag:ntlm_check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0144:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems 0144:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
I am having the same issue too where the script will work in steam desktop mode but not in steam deck mode. Heroic launcher flatpak and heroic bash launcher flatpak.
@kuynh Can you try pasting exec > log.log 2>&1
right under #!/bin/bash
in the game .sh script you want to launch from the Steam UI?
Then share the log from log.log here.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ATTENTION: default value of option vblank_mode overridden by environment. 3.32.0 Traceback (most recent call last): File "HeroicBashLauncher.py", line 35, in
File "flatpak.py", line 29, in launchflatpakgame File "checkparameters.py", line 12, in checkparameters File "json/init.py", line 293, in load File "encodings/ascii.py", line 26, in decode UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 730: ordinal not in range(128) [3] Failed to execute script 'HeroicBashLauncher' due to unhandled exception! Checking if Zenity is installed: ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. bwrap: execvp ./Documents/HeroicBashLauncher-2.2.5_Flatpak/GameFiles/HeroicBashLauncher: No such file or directory
Did you use Flatseal and add the HeroicBashLauncher path?
@ajbucci and @kuynh try using Proton instead of Wine-GE and see if that works.
Yes I did use flatseal and gave access to home files. How should I run proton instead of wine-ge? Do I force it to use proton from the steam ui? If so then problem still occurs with proton experimental and proton 7.
You can select Proton in Heroic itself.
In @kuynh's case, I can say that it's a Python error while in @ajbucci's it's some DXVK issue. But none of these issues occur while in desktop mode :(
I don't know if it makes much of a difference, can you add the game launch script manually instead of using AddToSteam and see if that works?
If I select Proton in Heroic, re-run your script generator, then run your script from the SteamDeckUI it will open the game (progress!)... however the game doesn't actually take focus, it opens in the background and I can hear sound, but there is no way for me to see the game itself.
Did you use Steam's Proton? Check with Proton-GE and other Wine-GE versions to see if it works.
Interesting. Switching to Proton-GE from Steam's Proton does indeed work!... any idea as to why? I assume none of this has to do with your script and I really appreciate you taking the time to help troubleshoot!
Proton 7.0 and Proton-GE did not work for me when setting them in the heroic launcher. Also I forgot to mention this but the script AddToSteam does not work and I've been manually adding them to steam. I was curious so I did what you told me to do to get logs and did it for the AddToSteam script and got this. Hopefully this might provide more information.
(zenity:11588): WARNING : 15:22:38.951: AT-SPI: Could not obtain desktop path or name
(zenity:11588): WARNING : 15:22:38.977: atk-bridge: get_device_events_reply: unknown signature
(zenity:11588): WARNING : 15:22:38.977: atk-bridge: get_device_events_reply: unknown signature
(zenity:11588): WARNING : 15:22:38.977: atk-bridge: GetRegisteredEvents returned message with unknown signature
(zenity:11588): WARNING : 15:22:38.991: AT-SPI: Could not obtain desktop path or name
(zenity:11588): WARNING : 15:22:38.992: AT-SPI: Could not obtain desktop path or name
3.32.0
(zenity:11622): WARNING : 15:22:42.055: AT-SPI: Could not obtain desktop path or name
(zenity:11622): WARNING : 15:22:42.067: AT-SPI: Could not obtain desktop path or name
(zenity:11622): WARNING : 15:22:42.067: atk-bridge: get_device_events_reply: unknown signature
(zenity:11622): WARNING : 15:22:42.067: atk-bridge: get_device_events_reply: unknown signature
(zenity:11622): WARNING : 15:22:42.067: atk-bridge: GetRegisteredEvents returned message with unknown signature
(zenity:11622): WARNING : 15:22:42.082: AT-SPI: Could not obtain desktop path or name
(zenity:11622): WARNING : 15:22:42.082: atk-bridge: get_device_events_reply: unknown signature
(zenity:11622): WARNING : 15:22:42.082: atk-bridge: get_device_events_reply: unknown signature
(zenity:11622): WARNING : 15:22:42.082: atk-bridge: GetRegisteredEvents returned message with unknown signature Checking if Zenity is installed: Selecting Steam userid - 167959809 RocketLeague_Heroic Adding Rocket League to Steam
The log shows that the script worked. Did the error dialog pop up or did it fail silently?
I do see the pop up of finish adding to steam but when I check steam its not there.
Maybe you can create a new issue for this. As for launching from Steam UI is concerned, I'm pretty sure that Python error is getting in the way.
Maybe you can try Bash launcher v2.3.0 and see if the Python error gets solved.
The problem is the registered symbol at the end of the path /home/deck/Games/Heroic/Rocket-League®/
. I noticed that it failed to parse that symbol when launching. To fix this I renamed the folder on my machine:
mv /home/deck/Games/Heroic/Prefixes/Rocket-League® /home/deck/Games/Heroic/Prefixes/Rocket-League
Then, in the Heroic Games Launcher I went into the settings for Rocket League and set the WinePrefix folder to the path that I changed above home/deck/Games/Heroic/Prefixes/Rocket-League
.
Exactly like #30. That's the only workaround now. The Heroic devs have to implement the changes.
For those users still facing issues, make sure to go through workarounds. Otherwise, I'll be closing this issue soon since it's not a Bash Launcher bug anymore.
Sorry to post this here since my bet is it's not even an issue with the shell script you're generating, but on the off chance that it is....
When trying to run Hades using the latest AppImage relase (HeroicBashLauncher_AppImage_2.2.5 and latest Heroic Launcher) it will launch from terminal AND launch from the Steam UI from Desktop, but it will NOT launch from the SteamDeckUI. Is there a good way to debug this? I can post the steam logs when running steam in terminal and launching hades from there, but it works in that scenario...