flathub / org.freedesktop.Platform.VulkanLayer.MangoHud

https://flathub.org/apps/details/org.freedesktop.Platform.VulkanLayer.MangoHud
18 stars 8 forks source link

Improve documentation on running Vulkan/OpenGL apps with MangoHUD #23

Open Calinou opened 1 year ago

Calinou commented 1 year ago
flathubbot commented 1 year ago

Started test build 33623

flathubbot commented 1 year ago

Build 33623 successful To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/16256/org.freedesktop.Platform.VulkanLayer.MangoHud.flatpakref
gasinvein commented 1 year ago

The intended way to enable MangoHud for to OpenGL apps is to ask the apps' maintainers to add support for it (usually by adding '/usr/lib/extensions/vulkan/MangoHud/bin' to the apps' PATH). Passing --command manually is more of a hack and only suitable for testing.

Calinou commented 1 year ago

(usually by adding '/usr/lib/extensions/vulkan/MangoHud/bin' to the apps' PATH).

What's the most compact way to do this? Does this require creating a wrapper script for apps that currently don't use one? I'm preferably looking for something that could be easily copypasted across manifests.

gasinvein commented 1 year ago

--env=PATH=/app:/usr/lib/extensions/vulkan/MangoHud/bin:/usr/bin in finish-args should be enough, I guess. A wrapper would be needed only if the app wants MangoHud to be enabled by default.

Calinou commented 1 year ago

I've tried adding - "--env=PATH=/app/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin" to Minetest's finish-args for instance, then running the app with mangohud flatpak run net.minetest.Minetest//master.

The app does start successfully (I had to add /usr/bin too), but I can't get MangoHUD to show up.

It does work if I modify the wrapper script to run mangohud:

  - 'MINETEST_USER_PATH=$HOME/.var/app/net.minetest.Minetest/.minetest exec mangohud minetest.bin "$@"'

However, I don't want to put a hard dependency on MangoHUD in the Flatpak (and don't want it to always show up in the default configuration, for people who have it installed).

gasinvein commented 1 year ago

I had to add /usr/bin too

Yes, and I've included it in the suggested --env arg.

I don't want to put a hard dependency on MangoHUD in the Flatpak (and don't want it to always show up in the default configuration, for people who have it installed).

It's up to the apps' maintainers. If they want to e.g. enable MangoHud whenever available, they can check if the manohud command exists, if it does - use it, otherwise - run the app binary directly.

Calinou commented 1 year ago

It's up to the apps' maintainers. If they want to e.g. enable MangoHud whenever available, they can check if the manohud command exists, if it does - use it, otherwise - run the app binary directly.

How can I make MangoHUD opt-in while still allowing the system mangohud command to work on the Flatpak?