Arch Linux
Hi i’m on a fresh install of Arch. And Anno 1701 crashed in Wine with an X Error. I googled a lot and can say so far: My 32 Bit OpenGL is somehow invisible.
Can you please help me to get to the root of my problem?
i can give you some terminal outputs so far:
$ glxinfo32 | grep OpenGL X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 154 (GLX) Minor opcode of failed request: 24 (X_GLXCreateNewContext) Value in failed request: 0x0 Serial number of failed request: 79 Current serial number in output stream: 80
$ glxinfo | grep OpenGL OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GT 610/PCIe/SSE2 OpenGL core profile version string: 4.5.0 NVIDIA 370.28 OpenGL core profile shading language version string: 4.50 NVIDIA OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.5.0 NVIDIA 370.28 OpenGL shading language version string: 4.50 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 370.28 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions:
$ sudo pacman -Qs nvid local/lib32-libvdpau 1.1.1-2 Nvidia VDPAU library local/lib32-nvidia-cg-toolkit 3.1-5 NVIDIA Cg libraries local/lib32-nvidia-libgl 375.10-2 NVIDIA drivers libraries symlinks (32-bit) local/lib32-nvidia-utils 375.10-2 NVIDIA drivers utilities (32-bit) local/lib32-opencl-nvidia 375.10-2 OpenCL implemention for NVIDIA (32-bit) local/libvdpau 1.1.1-2 Nvidia VDPAU library local/libxnvctrl 370.28-1 NVIDIA NV-CONTROL X extension local/nvidia 370.28-2 NVIDIA drivers for linux local/nvidia-cg-toolkit 3.1-4 NVIDIA Cg libraries local/nvidia-libgl 370.28-1 NVIDIA drivers libraries symlinks local/nvidia-settings 370.28-1 Tool for configuring the NVIDIA graphics driver local/nvidia-utils 370.28-1 NVIDIA drivers utilities local/opencl-nvidia 370.28-1 OpenCL implemention for NVIDIA
uname -a Linux silver 4.8.4-1-ARCH #1 SMP PREEMPT Sat Oct 22 18:26:57 CEST 2016 x86_64 GNU/Linux
any ideas? which log-Files can help me. XOrg.log isn’t any helpful.
how to solve:
check wether your /etc/pacman.conf has multilib-testing uncommented but testing not. so the graphic libraries are not of the same version number. Just use repositories testing combined with multilib-testing or not. Better not, i suggest! Just use the stable ones.
Last edited by puk (2016-11-01 22:42:09)
Форум
PlayOnLinux is unable to find 32bits OpenGL libraries in Ubuntu 14.04 64bit
I have managed to solve this problem. Please scroll down to see how I resolved it. This only applies to 64bit Ubuntu systems AFTER 13.04. The fix is not noob or beginner friendly, you will have to step outside your comfort zone.
Quote
Hi there,
first off the important information as per sticky requirements:
1. Ubuntu 14.04 64bit
2. PlayOnLinux 4.2.2
3. Unity 7
4. POL throws the following «PlayOnLinux is unable to find 32bits OpenGL libraries».
5. I am running an Nvidia GTX 680 with the proprietary Nvidia drivers 337.21 for 64bit systems.
As far as I know, ia32-libs no longer exist for Ubuntu 13.10 and onwards [which means the multiarch solution no longer works]. I have tried reinstalling my drivers, which worked for Steam (as it was complaining about the 32bits OpenGL issue as well). Only PlayOnLinux is still requesting this. I believe I solved this in Ubuntu 13.10, but I cannot recall what it was I installed to solve it.
Any and all help is greatly appreciated!
Alright, I did the following commands in a terminal:
sudo dpkg —add-architecture i386
sudo apt-get update
I then restarted Ubuntu, and the error message is gone. Yet, not a single game is runnable in PlayOnLinux. The debug spits out the following information:
err:wgl:has_opengl Failed to load libGL: libGL.so.1: wrong ELF class: ELFCLASS64
err:wgl:has_opengl OpenGL support is disabled.
Is there any solution to this? Note that native Linux games work, and my Steam library is fine. Only POL and Wine are giving me trouble.
err:wgl:has_opengl Failed to load libGL: libGL.so.1: wrong ELF class: ELFCLASS64
err:wgl:has_opengl OpenGL support is disabled.
In other words: «while the system was looking for a 32bit version of libGL.so.1, all it found is a 64bit library».
So you still need to install a 32bit version of the accelerated display libraries that come with your video driver.
How would I go about installing the necessary files?
As far as I know, when manually installing the Nvidia driver, it will ask me if I want to install the 32bit libraries for it as well. I always make sure to say yes and let it do it. I even reinstalled it once more just now to make sure it did exactly that.
Is it looking for libgl1-nvidia-glx:i386? If it is, then I assume I’m screwed. That package isn’t within the repositories. I really wish I remembered what that one item was that I installed in 13.10 that solved this for me.
PlayOnLinux checks by emulation what a 32bit Wine would typically do when it needs accelerated display;
It starts a small C program, that opens an OpenGL context, then asks for direct rendering support (https://github.com/PlayOnLinux/POL-POM-4/blob/master/src/check_direct_rendering.c)
It’s not looking for a specific library, as long as some library provides the features it should be ok.
If it isn’t a dependency issue on any specific library, then does that mean the Nvidia driver or Wine/POL are bugged? Could the issue be with how Ubuntu 14.04 is storing the libraries?
From the command glxinfo | grep -i render:
direct rendering: Yes
OpenGL renderer string: GeForce GTX 680/PCIe/SSE2
GL_KHR_debug, GL_KTX_buffer_region, GL_NVX_conditional_render,
GL_NV_compute_program5, GL_NV_conditional_render,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_KHR_debug, GL_KTX_buffer_region, GL_NVX_conditional_render,
GL_NV_compute_program5, GL_NV_conditional_render,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
I believe I do have direct rendering support, so the question is why it isn’t sufficient?
I’ve managed to solve the issue. For other Ubuntu 14.04 or even 13.10 64bit users who use the Nvidia proprietary drivers, basically Wine/POL are asking for libGL, but aren’t pointed to the right location.
To check if you’re experiencing this as well, first open a terminal and enter:
[code]ldconfig -p | grep libGL.so.1[/code]
Which should return something similar to:
[code]libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1[/code]
That folder it’s pointed to is not where the Nvidia driver’s 32bit library is. So, let’s fix that. Open a terminal and type:
[code]sudo gedit[/code]
A text editor will open up. In it, type:
[code]/usr/lib32[/code]
Now, save this text file as local.conf. You’re going to want to save it in the directory called /etc/ld.so.conf.d (yes that is a folder).
Not sure where it is? When opening the Home window, on your left is the Computer directory. Click that, and you will see a whole bunch of folders. Among them is the /etc folder.
Alright, we’ve written the text file and saved it. Now, open a new terminal and type the following:
[code]sudo ldconfig[/code]
This will update Ubuntu to tell it to look in that new directory we saved in the text file. To check that you did it right, in any terminal, type this again:
[code]ldconfig -p | grep libGL.so.1[/code]
Now, what should appear is something along the lines of:
[code]libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/libGL.so.1[/code]
So, now if you run any 3D game or application in Wine via POL it should be able to run. It should no longer say it can’t find libGL.so.1 in the debug window either.
NOTE: This fix only applies to Ubuntu 13.10 and 14.04 64bit! I believe this issue only pops up for the Nvidia proprietary driver, but if this occurs with AMD ‘s proprietary driver then this fix may not work. Intel graphics should not experience this issue.
PlayOnLinux Unable to find 32bit opengl libraries Dual ATI Videocards
Im curently running Ubuntu 12.04 LTS 64Bit So, i installed league of legends fine the first time with the opensource ATI Drivers provided by ubuntu itself with no issues at all, but it runs so slow . max 20fps because those drivers dont fully support my Dual Graphic cards Than i restored system and i installed the Linux Version of the Proper ATI Drivers from the AMD Website wich supports my APU AMD-A8-4500M with the AMD Radeon 7640G + 7670M Graphics Cards enabling me full performance from my system .. Problem is, to run League of Legends i need a 32bit opengl library, and the driver, automaticly detects a 64bits Linux install and loads the 64bit libraries but not the 32 ones . i need some kind of command, to force the 32bit libraries to load, or to make League of Legends run on the 64 ones .. Im kinda noob to ubuntu .. i installed the 32 bits ones trough terminal and still doesnt work idk why, maybe the driver doesnt want to load them .. plzz help me on this, i dont want to go back to windows just to play league since im noob idk what more details to post here so plz tell me what do you need
1 Answer 1
I’m going to suggest possible solutions that are merely trial and error. I am no expert in the matter, so take caution when implementing any of my suggestions.
First, I would like to suggest doing the following command:
sudo apt-get install ia32-libs
This should pull in some 32-bit libraries; perhaps the one you need? If this works, hooray! Don’t touch anything else.
If that didn’t work, completely remove the AMD proprietary drivers. I have no idea how you installed them, but this link is fairly sufficient: http://wiki.cchtml.com/index.php/Ubuntu_Precise_Installation_Guide#Removing_Catalyst.2Ffglrx
sudo sh /usr/share/ati/fglrx-uninstall.sh sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev* sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon sudo apt-get install xserver-xorg-video-ati sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup sudo rm -rf /etc/ati
If the fifth command doesn’t work, replace with:
sudo apt-get install --reinstall libgl1-mesa-glx:i386 libgl1-mesa-glx:amd64 libgl1-mesa-dri:i386 libgl1-mesa-dri:amd64 xserver-xorg-core
Then reinstall your proprietary driver. In 12.04, open the dash and open the «Additional Drivers» application (or alternatively, run «jockey-gtk» from the command line). Install the latest driver from that program (fglrx-updates). You will NOT get the latest and greatest driver, but you WILL get a driver that has been tested by Canonical and just works. You could get newer drivers (the link I’ve provided is able to show you one such method. You could also use an x-swat or xorg-edgers PPA, but they’re beyond the scope of this question).
One tip, though: Don’t mess with graphics drivers. A clean install has the best possible set-up for graphics in most of the cases. Drivers downloaded from websites are always shaky unless you know what you’re doing. Drivers from PPAs are generally unstable. The only drivers you should really be using are the drivers Ubuntu ships with (i.e., the open source ones) or the ones downloadable through the «Additional Drivers» program.
I do not know whether the fault of PlayOnLinux lies in a bad driver set-up, but I personally think that’s the culprit.
One last thing, since you’re using an AMD APU:
sudo apt-get install amd64-microcode
This nifty little package solves a lot of problems with AMD APUs.