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

MangoHUD does not work on ZorinOS 15.1 #17

Closed
canalocaradoti opened this issue Feb 6, 2020 · 19 comments
Closed

MangoHUD does not work on ZorinOS 15.1 #17

canalocaradoti opened this issue Feb 6, 2020 · 19 comments

Comments

@canalocaradoti
Copy link

Hello, how are you? First of all I would like to congratulate you for the work and I hope it will evolve even more and thus be a reference in the Linux world.

Well, I'm an editor on the Brazilian blog Diolinux and through the GamingOnLinux blog, I saw your tool and found it interesting and went to test it. But unfortunately on ZorinOS 15.1 Core (Gnome) and Lite (XFCE), MangoHUD is not working, I ran both the .sh script and tried to compile it and it was not. In theory ZorinOS uses the Ubuntu 18.04 base, and in some packages it can use the 18.04.1 base or the 18.04.3 base. I also saw that the meson is in version 0.47. I have a hybrid laptop from Dell (Intel + Nvidia), with a GTX 960M and using the 440.44 drivers. I wonder if you have any procedure to do or something like that. I am available to help.

Att
Ricardo

@flightlessmango
Copy link
Owner

flightlessmango commented Feb 6, 2020

Was there any errors when you tried to build mangohud?
What command did you use to test mangohud with?

For basic testing I usually recommend downloading the vulkan-tools package and running MANGOHUD=1 vkcube

@telans
Copy link
Collaborator

telans commented Feb 6, 2020

I ran both the .sh script and tried to compile it and it was not.

Failed to compile? What was the error message?

@canalocaradoti
Copy link
Author

So, I followed the recommended procedures. There was no error when I ran install.sh or when I ran ./build.sh install. I also tried the Vulkan test and nothing, so much so that I have the vulkan-tools package installed.

@telans
Copy link
Collaborator

telans commented Feb 6, 2020

Does $HOME/.local/MangoHud/libMangoHud.so exist? Same with $HOME/.local/share/villain/implicit_layer.d/mangohud64.json

@canalocaradoti
Copy link
Author

@telans here in my ZorinOS, there are these paths : /home/ricardo/.local/share/vulkan/implicit_layer.d/ with the mangohud64.json and /home/ricardo/.local/share/MangoHud/ with the libs libMangoHud.so and libMangoHud32.so. I'm sending a print of when I run sh with and without the sudo command.
2020-02-06_15-36

@telans
Copy link
Collaborator

telans commented Feb 6, 2020

Then it's strange that it doesn't load. Do you have vulkan-icd loader installed? Or in other words, does DXVK work on your system?

@canalocaradoti
Copy link
Author

@telans yes, dxvk and vulkan-icd loader are working perfectly, so much so that I play Overwatch through Lutris. I also tested it on Steam and it wasn't, with the latest version of Proton. If you can do tests on ZorinOS Core and Lite 15.1, it would be very interesting, as there are people migrating to this OS.

@guihkx
Copy link
Contributor

guihkx commented Feb 6, 2020

Before I advise you to delete everything and try again, please try running the following command:

$ VK_LOADER_DEBUG=debug MANGOHUD=1 vkcube

Then, put the output of that command here in a gist and post it here.

@canalocaradoti
Copy link
Author

@guihkx
Copy link
Contributor

guihkx commented Feb 6, 2020

Thanks!

That's an odd output. I'm not seeing ~/.local/share/vulkan/implicit_layer.d in the manifest search path. The output appears to be truncated to me.

Just to be 100% sure, can you run the command again but redirecting the output directly to a file? Like so:

$ VK_LOADER_DEBUG=debug MANGOHUD=1 vkcube 2>log.txt

Then put the contents of log.txt in a gist as well.

@canalocaradoti
Copy link
Author

Done man @guihkx
log.txt

@guihkx
Copy link
Contributor

guihkx commented Feb 6, 2020

LOL. Please try this next:

$ VK_LAYER_PATH=~/.local/share/vulkan/implicit_layers.d VK_LOADER_DEBUG=debug MANGOHUD=1 vkcube

@canalocaradoti
Copy link
Author

Look man (saved it in the same file lol)
log.txt

@guihkx
Copy link
Contributor

guihkx commented Feb 6, 2020

Thanks again.

As I don't want to flood this issue with me asking you to run commands and post them here, I want to ask if you're okay to continue this discussion using MangoHud's Discord? Here's the invitation link: https://discordapp.com/invite/Gj5YmBb

The fact that we both speak Portuguese will also help, I guess. Let me know if you can or cannot talk via Discord. If you can, just look for Guilherme in the members list and message me.

@guihkx
Copy link
Contributor

guihkx commented Feb 7, 2020

Found out what the problem is.

ZorinOS is a distro based on Ubuntu LTS, and both of them are still using an older version of glibc (2.28 and 2.27, respectively). But the pre-compiled binaries of MangoHud 0.1.0 require glibc 2.29.

Here's the info I get on Ubuntu LTS 18.04.3:

$ ldd libMangoHud*
libMangoHud32.so:
./libMangoHud32.so: /lib/i386-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./libMangoHud32.so)
./libMangoHud32.so: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./libMangoHud32.so)
	linux-gate.so.1 (0xf7f09000)
	libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7c85000)
	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7c80000)
	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7c61000)
	libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7adb000)
	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf79d9000)
	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf79bb000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf77df000)
	libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf77b3000)
	/lib/ld-linux.so.2 (0xf7f0a000)
	libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf77af000)
	libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf77a8000)
	libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf778b000)
	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7781000)
libMangoHud.so:
./libMangoHud.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./libMangoHud.so)
./libMangoHud.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./libMangoHud.so)
	linux-vdso.so.1 (0x00007ffebfb89000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f48f19cc000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f48f17c8000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f48f15a9000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f48f1220000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f48f0e82000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f48f0c6a000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f48f0879000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f48f0651000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f48f1d04000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f48f044d000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f48f0247000)
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f48f0032000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f48efe2a000)

So, right now, a solution for users of these distros, would be compiling MangoHud yourself. It's really easy, just take a look at the README.

Nonetheless, I don't see why the next release of MangoHud couldn't be compiled using a LTS distro, such as Ubuntu LTS.

@flightlessmango
Copy link
Owner

Nonetheless, I don't see why the next release of MangoHud couldn't be compiled using a LTS distro, such as Ubuntu LTS.

I have tried to solve that problem like that before, but to no avail. But it has been some time since last. Also shouldn't it have worked when he compiled it without errors?

@guihkx
Copy link
Contributor

guihkx commented Feb 7, 2020

In this case, I believe @canalocaradoti didn't compile MangoHud, he just tried the pre-compiled release.

@guihkx
Copy link
Contributor

guihkx commented Feb 7, 2020

Though I can't confirm this with him right now because he's not on Discord atm.

@guihkx
Copy link
Contributor

guihkx commented Feb 8, 2020

Okay, so I got the confirmation that @canalocaradoti did try compiling MangoHud using build.sh.

But since he's on Zorin OS, the script currently doesn't detect it to install the dependencies. And even after manually adding Zorin OS here, some dependencies still couldn't be installed because the script relies on the return code of dpkg -l <package> to determine if a package is installed or not.

I don't know much about Ubuntu, but this guy on Ask Ubuntu said:

Do not depend on the exit code of dpkg -l packagename, as it might return with a 0 exit code even if the package is not fully installed - see: github.com/bitrise-io/bitrise/issues/433

So after he manually installed the dependencies, the compilation part went just fine.

However, I believe we could add to the README more generic instructions on how to manually compile and install MangoHud, since it'd be virtually impossible to add every single Ubuntu-based distro to the script.

Of course, I also understand that end-users should be preferably using the pre-compiled release, so hopefully the next version can be compiled on Ubuntu LTS, for greater compatibility? Thanks.

Anyway, I think we can close this one now.

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

4 participants