ValveSoftware / steam-runtime

A runtime environment for Steam applications
Other
1.19k stars 86 forks source link

Dota 2 doesn't work while Steam Play is activated #542

Open hellmind opened 1 year ago

hellmind commented 1 year ago

I would like to know whats about steam play, I thought it wasnt activated for dota2 since it is linux native. I need to activate steam play in order to play windows games. Sadly it breaks dota2 which is working fine without steamplay checkbox

When I press play while steam play is on:

gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by bash)
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
pid 677 != 673, skipping destruction (fork without exec?)
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
pid 682 != 673, skipping destruction (fork without exec?)
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
pid 720 != 673, skipping destruction (fork without exec?)
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so, got 0x555b31099b00
Using breakpad crash handler
[S_API] SteamAPI_Init(): Loaded '/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/linux64/steamclient.so' OK.
Game process updated : AppID 570 "gamemoderun /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=570 -- /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime'/scout-on-soldier-entry-point-v2 --  '/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh' +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid", ProcID 722, IP 0.0.0.0:0
                                                                Setting breakpad minidump AppID = 570
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198067859676 [API loaded yes]
SteamInternal_SetMinidumpSteamID:  Setting Steam ID:  76561198067859676
Setting breakpad minidump AppID = 373300
Loaded libSDL2-2.0.so.0, got 0x555b310c3000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libtier0.so, got 0x555b31099000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libfilesystem_stdio.so, got 0x555b3109ab80
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libinputsystem.so, got 0x555b31099580
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/liblocalize.so, got 0x555b32d60600
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemgl.so, got 0x555b32d5fb00
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so, got 0x555b32d60080
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libresourcesystem.so, got 0x555b32d5f580
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libschemasystem.so, got 0x555b32d5f000
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
crash_20221026155328_2.dmp[736]: Uploading dump (out-of-process)
/tmp/dumps/crash_20221026155328_2.dmp
/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh: line 109:   722 Segmentation fault      ${STEAM_RUNTIME_PREFIX} ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Installing breakpad exception handler for appid(steam)/version(1666144119)
                                                                          crash_20221026155328_2.dmp[736]: Finished uploading minidump (out-of-process): success = yes
crash_20221026155328_2.dmp[736]: response: CrashID=bp-f292ed32-c9d9-4492-bc94-3f04c2221026
crash_20221026155328_2.dmp[736]: file ''/tmp/dumps/crash_20221026155328_2.dmp'', upload yes: ''CrashID=bp-f292ed32-c9d9-4492-bc94-3f04c2221026''
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
pid 736 != 735, skipping destruction (fork without exec?)
Game process removed: AppID 570 "gamemoderun /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=570 -- /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime'/scout-on-soldier-entry-point-v2 --  '/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh' +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid", ProcID 722
ThreadGetProcessExitCode: no such process 735
ThreadGetProcessExitCode: no such process 724
ThreadGetProcessExitCode: no such process 723
ThreadGetProcessExitCode: no such process 721
ThreadGetProcessExitCode: no such process 722
ThreadGetProcessExitCode: no such process 673
ThreadGetProcessExitCode: no such process 581
ThreadGetProcessExitCode: no such process 580
Game 570 created interface STEAMAPPLIST_INTERFACE_VERSION001 /
Game 570 created interface STEAMAPPS_INTERFACE_VERSION008 /
Game 570 created interface STEAMHTMLSURFACE_INTERFACE_VERSION_005 /
Game 570 created interface STEAMHTTP_INTERFACE_VERSION003 /
Game 570 created interface STEAMINVENTORY_INTERFACE_V003 /
Game 570 created interface STEAMMUSICREMOTE_INTERFACE_VERSION001 /
Game 570 created interface STEAMMUSIC_INTERFACE_VERSION001 /
Game 570 created interface STEAMPARENTALSETTINGS_INTERFACE_VERSION001 /
Game 570 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION016 /
Game 570 created interface STEAMSCREENSHOTS_INTERFACE_VERSION003 /
Game 570 created interface STEAMUGC_INTERFACE_VERSION016 /
Game 570 created interface STEAMUSERSTATS_INTERFACE_VERSION012 /
Game 570 created interface STEAMVIDEO_INTERFACE_V002 /
Game 570 created interface SteamController008 /
Game 570 created interface SteamFriends017 /
Game 570 created interface SteamMatchGameSearch001 /
Game 570 created interface SteamMatchMaking009 /
Game 570 created interface SteamMatchMakingServers002 /
Game 570 created interface SteamNetworking006 /
Game 570 created interface SteamUser021 /
Game 570 created interface SteamUser021 / User
Game 570 created interface SteamUtils010 /
Game 570 method call count for IClientAppManager::GetCurrentLanguage : 1
Game 570 method call count for IClientAppManager::GetAppStateInfo : 1
Game 570 method call count for IClientUtils::RecordSteamInterfaceCreation : 23
Game 570 method call count for IClientUtils::IsSteamChina : 1
Game 570 method call count for IClientUtils::GetLauncherType : 1
Game 570 method call count for IClientUtils::GetSteamUILanguage : 1
Game 570 method call count for IClientUtils::GetAppID : 26
Game 570 method call count for IClientFriends::GetFriendPersonaName_Public : 2
Game 570 method call count for IClientUser::GetSteamID : 6
Uploaded AppInterfaceStats to Steam

artix sway Flatpak 1.14.0

my sys info sysinfo.txt

kisak-valve commented 1 year ago

Hello @hellmind, the native linux Dota 2 client is configured to run with Scout-in-Soldier with the Steam Linux Runtime - Soldier container environment. This isn't exactly Steam Play, but it does share the same runtime container. So that a runtime dev can get a clearer picture, please give https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information a read and share the requested information. (Seems like that should be collected from inside the flatpak.)

Looking at your system information, Vulkan is unable to connect to X with xcb,

              "messages" : [
                "Unable to initialize xcb connection"
              ],
              "issues" : [
                "cannot-draw"
              ]

and the various other render paths fail to load libglvnd.

        "glx/gl" : {
          "messages" : [
            "Waffle error: 0x2 WAFFLE_ERROR_UNKNOWN: XOpenDisplay failed"
          ],
          "renderer" : null,
          "version" : null,
          "library-vendor" : "glvnd",
          "issues" : [
            "cannot-load"
          ],
          "exit-status" : 1
hellmind commented 1 year ago

rundebug.txt VERSIONS.txt ./.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/VERSIONS.txt slr-latest.log slr-app570-t20221026T171352.log slr-app570-t20221026T171352.log slr-latest.log

hellmind commented 1 year ago

How can I force steam to use on dota 2 Scout-in-Soldier with the Steam Linux Runtime - Soldier container environment. having steam play activated?

hellmind commented 1 year ago

dump.txt

hellmind commented 1 year ago

Runing it like this, I can see the dota2 red logo

SDL_VIDEODRIVER=x11 "/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh" +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so, got 0x55c081d27b00
Using breakpad crash handler
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Loaded '/home/hellmind/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 570
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198067859676 [API loaded yes]
SteamInternal_SetMinidumpSteamID:  Setting Steam ID:  76561198067859676
Setting breakpad minidump AppID = 373300
Loaded libSDL2-2.0.so.0, got 0x55c08219ea00
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libtier0.so, got 0x55c081d27000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libfilesystem_stdio.so, got 0x55c0824ad680
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libinputsystem.so, got 0x55c0824ad100
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/liblocalize.so, got 0x55c0824ab000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemgl.so, got 0x55c0824ac600
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so, got 0x55c0824acb80
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libresourcesystem.so, got 0x55c0824ac080
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libschemasystem.so, got 0x55c0824abb00
Attempting to create OpenGL context: v3.3 (Core profile)...success. Checking entry points...success.
Fossilize INFO: Overriding serialization path: "/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/shadercache/570/fozpipelinesv6/steamapprun_pipeline_cache".
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libmaterialsystem2.so, got 0x55c08a080b00
Loaded libpangoft2-1.0.so, got 0x55c08cbff000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libpanorama_text_pango.so, got 0x55c08a100680
Loaded libpangoft2-1.0.so, got 0x55c08cbff000
Loaded libpango-1.0.so, got 0x55c08cbff500
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libpangoft2-1.0.so, got 0x55c08cbff000
Fontconfig warning: "/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/core/panorama/fonts/conf.d/41-repl-os-win.conf", line 148: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/core/panorama/fonts/conf.d/41-repl-os-win.conf", line 160: Having multiple values in <test> isn't supported and may not work as expected
Loaded libpangoft2-1.0.so, got 0x55c08cbff000
Loaded libpangoft2-1.0.so, got 0x55c08cbff000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libpanorama_text_pango.so, got 0x55c08a100680
Loaded libpangoft2-1.0.so, got 0x55c08cbff000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libmeshsystem.so, got 0x55c08a0feb00
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libworldrenderer.so, got 0x55c08a0fe580
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libvscript.so, got 0x55c08a0fe000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libnetworksystem.so, got 0x55c088720680
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libanimationsystem.so, got 0x55c088720100
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libvphysics2.so, got 0x55c08871fb80
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libsoundsystem.so, got 0x55c08871f600
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libscenesystem.so, got 0x55c08871f080
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libparticles.so, got 0x55c08871eb00
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/dota/bin/linuxsteamrt64/libserver.so, got 0x55c08a43c600
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/dota/bin/linuxsteamrt64/libclient.so, got 0x55c08a917680
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libpanorama.so, got 0x55c08a915580
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libv8system.so, got 0x55c08a915b00
Loaded libmpg123.so.0, got 0x55c097e4e000
CSteamHTMLSurface::Init - failing, no Steam process
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libcairo.so, got 0x55c08ab40580
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so, got 0x55c081d27b00
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/dota/bin/linuxsteamrt64/libhost.so, got 0x55c08ab40000
Loaded /home/hellmind/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libscenefilecache.so, got 0x55c08abd4680
CCrossProcessPipe::BWrite wrote too few bytes: 32 (Broken pipe).  Continuing.
src/common/pipes.cpp (883) : fatal stalled cross-thread pipe (pipe is disconnected).
src/common/pipes.cpp (883) : fatal stalled cross-thread pipe (pipe is disconnected).
src/common/pipes.cpp (883) : Fatal assert; application exiting
src/common/pipes.cpp (883) : Fatal assert; application exiting
assert_20221026180413_4.dmp[16393]: Uploading dump (out-of-process)
/tmp/dumps/assert_20221026180413_4.dmp
_ExitOnFatalAssert
~ took 2s ❯ assert_20221026180413_4.dmp[16393]: Finished uploading minidump (out-of-process): success = yes
assert_20221026180413_4.dmp[16393]: response: Discarded=1
assert_20221026180413_4.dmp[16393]: file ''/tmp/dumps/assert_20221026180413_4.dmp'', upload yes: ''Discarded=1''
hellmind commented 1 year ago

On factorio Having Steam play activated it uses the native runtime and work fine. If I force the steam-linux-runtime, ( it uses scout on soldier), doesnt work anymore

Why dota2 uses scout on soldier when isn't selected on compatibility menu when steamplay is activated?

Why scout on soldier doesnt work in my setup ?

hellmind commented 1 year ago

Using i3 ( xorg ) it works. So must be something with wayland Some library doesnt work in my scout on soldier runtime

hellmind commented 1 year ago

Thanks to sudo pacman -Sy libibus I can see an error: InitializeDisplayDB(): Unable to create dummy window for GLMDisplayDB

hellmind commented 1 year ago

Then with this: launch option got it working SDL_VIDEODRIVER=x11 %command%

smcv commented 1 year ago

Do you have SDL_VIDEODRIVER=wayland set in your environment?

Various things in Steam are known to be incompatible with that setting, in particular https://github.com/ValveSoftware/steam-for-linux/issues/8020.

hellmind commented 1 year ago

Yes, dota 2 supports SDL_VIDEODRIVER=wayland ? I tried amdvlk and radv too . Dont know which to pick

smcv commented 1 year ago

Yes, dota 2 supports SDL_VIDEODRIVER=wayland ?

That would be a question for https://github.com/ValveSoftware/Dota-2, but based on it not working for you, I would say the answer is probably: no, the Dota 2 developers don't support or test forcing SDL to use native Wayland.

I tried amdvlk and radv too . Dont know which to pick

amdvlk and radv are not valid values for SDL_VIDEODRIVER. AMDVLK and RADV are different Vulkan drivers for AMD GPUs, and setting SDL_VIDEODRIVER does not affect whether Vulkan rendering will use AMDVLK or RADV.

My experience has been that AMDVLK is not very reliable. As far as I know, the Steam Deck uses RADV, which is the driver provided by Mesa in common Linux distributions. You are unlikely to have AMDVLK available unless you have done something specific to install it.