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

No hud when using Steam Linux Runtime (Steam Play compatibility tool) #116

Closed
dpanter opened this issue Apr 5, 2020 · 14 comments
Closed

Comments

@dpanter
Copy link

dpanter commented Apr 5, 2020

Launching Linux native games with mangohud %command% works as expected, but not when enabling Steam Linux Runtime. With SLR enabled, Mangohud does not show up.
SLR is necessary for some games to work properly with their native version.

Using Steam beta client.
Steam system info

Note: This is similar yet different from issue #18, which was closed as can't reproduce and only referred to the environment variable.

Tested both mangohud %command% and mangohud.x86 %command%

Steam Overlay works with SLR enabled.
Galliumhud works with SLR enabled.
Mangohud works in Wine, Proton, glxgears, vkcube.

Makes no difference:

  • Disabling Steam overlay
  • Changing in-game resolution
  • Using fullscreen or windowed modes

OpenGL games tested:

  • Dying Light (Techland's own Chrome Engine 6)
  • Ion Fury (custom Build/EDuke32)
  • Apocryph (Unity3D 2017.3.0f3)
  • Space Mercs (Unity3D 2018.4.3f1)

Tested both OpenGL and Vulkan version:

  • Absolute Drift (Unity 5.6.0b11)

Launching Steam from terminal with mangohud steam breaks Steam completely and nothing is shown in the Steam client, it's all black. Error messages like XIO: fatal IO error 0 (Success) on X server ":0" in terminal and some steamwebhelper processes hang on exit.

@ademlabs
Copy link
Contributor

ademlabs commented Apr 6, 2020

I'm having the same issue. Even using MANGOHUD=1 doesn't seem to work anymore. It used to work before.

@dpanter
Copy link
Author

dpanter commented May 3, 2020

Tested Space Mercs and Ion Fury with MANGOHUD_DLSYM=1 introduced in MangoHud version 0.3.5.
Still no hud when using SLR.

@jackun
Copy link
Collaborator

jackun commented May 3, 2020

SLR is/acts like a container but it has access to user's home folder so you'd have to install MangoHud like in version < 0.3.0 to your $HOME. Maybe there's some way to "inject" libs to SLR.

@dpanter
Copy link
Author

dpanter commented May 3, 2020

Gave it a spin, the old installation method from 0.2.0 works with Vulkan in SLR. It may not be super useful considering the rarity of Linux native Vulkan titles, but still pretty nice.

@X6205
Copy link

X6205 commented May 24, 2020

Maybe this issue is realated to my testing of Batman Arkham Knight via SteamPlay Proton. Mangogud is visible only on initial screens of various logos, like WB games, Rocksteady or Unreal. But when game loads first in-game screen with menu, MangoHud disappeared.

@flightlessmango
Copy link
Owner

@X6205 This issue is about native games using SLR, proton is an entirely different thing. You should make a new issue or find a more suitable one

@o-schneider
Copy link

I have this issue too, tried to activate MangoHud on native Life is Strange: Before the Storm, and while I have the logs of it trying to read the configuration, nothing in game.

@jackun
Copy link
Collaborator

jackun commented Jun 10, 2020

@o-schneider seems like shaders fail to compile. If you're using mesa, maybe forcing some OpenGL version fixes it.

@o-schneider
Copy link

No, I meant, no HUD ingame, the games runs just fine otherwise.

@jackun
Copy link
Collaborator

jackun commented Jun 11, 2020

Yeah, Dear ImGui shaders fail for some reason, for me at least, probably same issue:

Version: 4.1 
glsl_version: 410

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile vertex shader!
0:1(13): error: syntax error, unexpected end of file

ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile fragment shader!
0:1(13): error: syntax error, unexpected end of file

----
"#version 410

layout (location = 0) in vec2 Position;
layout (location = 1) in vec2 UV;
layout (location = 2) in vec4 Color;
uniform mat4 ProjMtx;
out vec2 Frag_UV;
out vec4 Frag_Color;
void main()
{
    Frag_UV = UV;
    Frag_Color = Color;
    gl_Position = ProjMtx * vec4(Position.xy,0,1);
}
"
----
"#version 410

in vec2 Frag_UV;
in vec4 Frag_Color;
uniform sampler2D Texture;
layout (location = 0) out vec4 Out_Color;
void main()
{
    Out_Color = Frag_Color * texture(Texture, Frag_UV.st);
}
"
ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link shader program! (with GLSL '#version 410
')
error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader

@o-schneider
Copy link

Oh ok, I didn't get it. I don't remember seeing these kind of errors. Are they just printed out to stdout so that I can try?

@jackun
Copy link
Collaborator

jackun commented Jun 11, 2020

The "ERROR" lines should, shaders are just from my debug print.

@jackun
Copy link
Collaborator

jackun commented Jun 11, 2020

GLAD loader gets some Feral shader "optimizer"'s glShaderSource hook and that seems to mess something up.
Ack, something else too...

@flightlessmango
Copy link
Owner

Assuming this is basically the same issue as #369, i.e SLR does not have access to system vulkan layers. It needs to be fixed on Steams end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants