Describe the bug
When built with with_x11=disabled and with_wayland=enabled, the HUD position is wrong and doesn't follow the config value, RShift_F11 doesn't change the position as none of the shortcuts work, display-server config option also doesn't work.
List relevant hardware/software information
- OS: Arch Linux
- MangoHud: 0.7.2
- GPU: Intel Arc A750
- Mesa: 24.2.7
- Wine: wine-tkg-git 9.22.r2.g342b3b81-327 ( TkG Staging NTsync )
- DE/WM: GNOME 47.2 on Wayland (Mutter)
- DXVK: 2.5.1
- Kernel: Linux 6.12.1-arch1-1
To Reproduce
When running a game natively over Wayland, such as Windows games using Wine with the graphics backend set to Wayland (without x11 fallback) or Minecraft with GLFW 3.4 running natively over Wayland, if we build MangoHud with with_x11=disabled and with_wayland=enabled, the HUD position will be wrong, shortcuts won't work and display-server will return empty.
Expected behavior
Shortcuts, display-server and position should work.
Screenshots

Additional context
I made this issue back in April, which could be related. #1281
I build Wine with the Wayland driver and set it as the only graphics backend. Wine is also built with and using WoW64. I also use GLFW 3.4 with Minecraft. Both Wine games and Minecraft run natively over Wayland. When the games are running without MangoHud, no xwayland or mutter-x11-frames are spawned/running/sleeping. I guess something got fixed since April and now, because now, even with MangoHud, those processes aren't spawned/running/sleeping at all. So that's exactly what I wanted. Thanks. It can be used without any X11 dependencies or calls. (Hopefully I'm correct in that last part)
But the HUD is stuck and not configurable. That's the issue.
I should also mention that I don't use mangoapp or mangohudctl, so those may affect the building process or using it as Wayland only. Here's my PKGBUILD options:
build() {
arch-meson "$_pkgname" build \
-Dmangoapp=false \
-Dmangohudctl=false \
-Dwith_nvml=disabled \
-Dwith_xnvctrl=disabled \
-Dwith_x11=disabled \
-Dwith_wayland=enabled \
-Dwith_dbus=enabled \
--wrap-mode=default
meson compile -C build
}
Edit: Actually, none of the shortcuts work.
Edit 2: Ok so I've done some more testing.
Interestingly enough, the position option is honored in Minecraft and Orwell, both OpenGL Linux native games, but again the shortcuts don't work.
In Wine, when using Proton UMU and Fsync, the option is honored but shortcuts don't work.
In Wine, when using Wine TkG Staging with NTSync, the option is honored wrong and shortcuts don't work. But the interesting part is that:
- top-left is top-center
- top-center is top-right
- top-right is middle-left
- middle-left is middle-right
- middle-center is top-center
- middle-right is bottom-left
- bottom-left is bottom-center
- bottom-center is bottom-right
- bottom-right is top-left
Very weird.
Edit 3: Nevermind what I said about MangoHud working without any X11 calls or dependencies. Minecraft, Orwell and other games launched through Proton UMU spawn xwayland and mutter-x11-frames processes and they are running. Only games launched through Wine TkG Staging with NTSync+WoW64+Wayland don't have them. Even though Proton UMU is also using Wayland in my case. Interesting.
I would very much like MangoHud to work without any X11 calls and dependencies, if it is possible of course.
Edit 4: So I've discussed this below but will add it here as well. The position and display-server values work with my custom system Wine. With some new commits, shortcuts also work. No xwayland and mutter-x11-frames processes are triggered too.
But these do not work with Proton and Minecraft. The processes are also triggered. So there still must be some x11 stuff deep in the code?
Describe the bug
When built with
with_x11=disabledandwith_wayland=enabled, the HUD position is wrong and doesn't follow the config value, RShift_F11 doesn't change the position as none of the shortcuts work,display-serverconfig option also doesn't work.List relevant hardware/software information
To Reproduce
When running a game natively over Wayland, such as Windows games using Wine with the graphics backend set to Wayland (without x11 fallback) or Minecraft with GLFW 3.4 running natively over Wayland, if we build MangoHud with
with_x11=disabledandwith_wayland=enabled, the HUD position will be wrong, shortcuts won't work anddisplay-serverwill return empty.Expected behavior
Shortcuts,
display-serverandpositionshould work.Screenshots

Additional context
I made this issue back in April, which could be related. #1281
I build Wine with the Wayland driver and set it as the only graphics backend. Wine is also built with and using WoW64. I also use GLFW 3.4 with Minecraft. Both Wine games and Minecraft run natively over Wayland. When the games are running without MangoHud, no
xwaylandormutter-x11-framesare spawned/running/sleeping. I guess something got fixed since April and now, because now, even with MangoHud, those processes aren't spawned/running/sleeping at all. So that's exactly what I wanted. Thanks. It can be used without any X11 dependencies or calls. (Hopefully I'm correct in that last part)But the HUD is stuck and not configurable. That's the issue.
I should also mention that I don't use mangoapp or mangohudctl, so those may affect the building process or using it as Wayland only. Here's my PKGBUILD options:
Edit: Actually, none of the shortcuts work.
Edit 2: Ok so I've done some more testing.
Interestingly enough, the
positionoption is honored in Minecraft and Orwell, both OpenGL Linux native games, but again the shortcuts don't work.In Wine, when using Proton UMU and Fsync, the option is honored but shortcuts don't work.
In Wine, when using Wine TkG Staging with NTSync, the option is honored wrong and shortcuts don't work. But the interesting part is that:
Very weird.
Edit 3: Nevermind what I said about MangoHud working without any X11 calls or dependencies. Minecraft, Orwell and other games launched through Proton UMU spawn
xwaylandandmutter-x11-framesprocesses and they are running. Only games launched through Wine TkG Staging with NTSync+WoW64+Wayland don't have them. Even though Proton UMU is also using Wayland in my case. Interesting.I would very much like MangoHud to work without any X11 calls and dependencies, if it is possible of course.
Edit 4: So I've discussed this below but will add it here as well. The
positionanddisplay-servervalues work with my custom system Wine. With some new commits, shortcuts also work. Noxwaylandandmutter-x11-framesprocesses are triggered too.But these do not work with Proton and Minecraft. The processes are also triggered. So there still must be some x11 stuff deep in the code?