[SOLVED] vulkan 1.1.70 not loading libraries due to "wrong elf class 32" error
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
vulkan 1.1.70 not loading libraries due to "wrong elf class 32" error
Hidiho!
I am trying to run the windows based game "Quantum Break" with the help of lutris and WINE. While trying to start the game, I run into following errors (excerpts from whole output):
Code:
Unhandled exception: page fault on read access to 0x00000000 in 64-bit code
from WINE
Code:
Backtrace:
=>0 0x0000000003046d42 in d3d_x64_f (+0x16d42) (0x000000003045fb10)
1 0x00000000029b028a in renderer_x64_f (+0xf0289) (0x000000003045fb10)
2 0x00000000029ad2f1 in renderer_x64_f (+0xed2f0) (0x000000003045ff00)
3 0x00000000029a346a in renderer_x64_f (+0xe3469) (0x000000003045ff00)
from WINE
Code:
err: DxvkInstance::createInstance: Failed to create Vulkan instance
err: D3D11CreateDevice: Failed to create a DXGI factory
reported in console
Thus, I started researching and followed the hint on Vulkan. Indeed, when running vulkaninfo I get:
Btw: This post on LQ describes a very similar problem, which sadly was not solved.
I checked thoroughly. My system has the 32-bit-libraries (in usr/lib) as well as corresponding 64-bit-libraries (in urs/lib64) available.
Does Vulkan call on wrong libraries? Is there an issue with my library setup? Am I still missing software?
Try using ldd with the name of your Vulcan binary. It should show you exactly which libraries the program is trying to bind to and whether it succeeds in finding them.
I tried, but I am embarrassed to admit, that I failed to identify the binary. I browsed vulkan associated files, but obviously there is no single file sticking out as a vulkan.exe would on a Windows system.
Would someone help me picking the right file? Is there a way to determine initial binaries of programs?
All binary executables (programs) are stored in one or other of the directories called bin. Here's a list of them for reference: /bin: Essential system programs. Without these, Linux won't run at all. /usr/bin: All the other programs that come with your system. Programs that are useful for real life but not essential in an emergency. /usr/local/bin: Stuff that you built yourself from source. /opt/bin: Some things that you install as ready-built binaries, like firefox, go here. $HOME/bin: The (optional) bin subdirectory in your home directory. You can create a bin directory here and store private programs in it.
It's worth typing "echo $PATH" sometime. That will show you all the bin directories that get searched in for commands.
I looked indeed for files with "vulkan" in filename. There are a lot, but just "vulkaninfo" in a binary directory (/usr/bin/). Most are in /usr/lib or /usr/lib64, some in /usr/share.
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,524
Rep:
Quote:
Originally Posted by hazel
All binary executables (programs) are stored in one or other of the directories called bin. Here's a list of them for reference: /bin: Essential system programs. Without these, Linux won't run at all. /usr/bin: All the other programs that come with your system. Programs that are useful for real life but not essential in an emergency. /usr/local/bin: Stuff that you built yourself from source. /opt/bin: Some things that you install as ready-built binaries, like firefox, go here. $HOME/bin: The (optional) bin subdirectory in your home directory. You can create a bin directory here and store private programs in it.
It's worth typing "echo $PATH" sometime. That will show you all the bin directories that get searched in for commands.
I think there also might be /sbin and /usr/sbin that contain binary executables.
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,524
Rep:
Quote:
Originally Posted by Thoughtful_Sloth
I looked indeed for files with "vulkan" in filename. There are a lot, but just "vulkaninfo" in a binary directory (/usr/bin/). Most are in /usr/lib or /usr/lib64, some in /usr/share.
I think there also might be /sbin and /usr/sbin that contain binary executables.
Quite correct. But these two directories contain only "housekeeping" programs, so they are not on the path of ordinary users. Again /sbin is for the essential emergency ones and /usr/sbin for the less essential ones.
/lib is for essential libraries, /usr/lib(64) for less essential ones and /usr/share for data that programs need.
One of the big differences between Linux and Windows is that in Windows, you are confined to the playpen of My Documents. You are very strongly discouraged from trying to explore the rest of the system. In Linux, the whole system belongs to you and you are encouraged to explore it. Learning where different kinds of files are kept is part of the fun.
And, as you have noticed, Sloth, Linux files do not have to have a 3-letter extension to their names. Files that contain data often have one to show the data type (text, graphics, sound or whatever) but programs never do.
After I nearly crashed my linux by replacing the libraries in question with links to the 64bit ones (which he seems to look for) with no success at all, I followed a lead which suggested incompatibility between the radeon graphics driver and vulkan. Thus, I switched to AMDGPU driver.
Upside: Vulkan seems to be running now.
Downside: The game Quantum Break issues new error messages.
Just solved the problem myself the hard way.
Accidentally, I crashed my openSUSE entirely. Thus I had to rescue my data, format my drive and reinstall completely. Now, everything works just fine. It seems to me, that my previous OS installation was flawed in some way - although I have no clue what I could have done wrong.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.