Running i686 games on Fedora 29 x86_64

I’ve recently bought Braid and Witcher 2 Enhanced Edition on GOG.com and I haven’t been able to run neither of them despite installing all necessary dependencies listed on products’ pages. Both of those games are 32bit games, both crash at the start up and both end up with the same error:

$ sh GOG\ Games/Braid/start.sh
Running Braid
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 105
Current serial number in output stream: 106

All 64bit games purchased from GOG run without a hiccup.

I have two graphics card in the system, the primary one being Radeon RX 580:
$ lspci -v -s 2d:00.*
2d:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 0519
Flags: bus master, fast devsel, latency 0, IRQ 64
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=2M]
I/O ports at f000 [size=256]
Memory at f7a00000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities:
Kernel driver in use: amdgpu
Kernel modules: amdgpu

2d:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
Subsystem: ASUSTeK Computer Inc. Device aaf0
Flags: bus master, fast devsel, latency 0, IRQ 67
Memory at f7a60000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

I also have Nvidia 1070 Ti plugged into secondary GPUs slut, which I’m planning to passthrough to Windows VM when I find some free time to configure the setup. Right now it just sits there doing nothing:
$ lspci -v -s 2e:00.*
2e:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070 Ti] (rev a1) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 861e
Flags: bus master, fast devsel, latency 0, IRQ 62
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at d0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at f7000000 [disabled] [size=512K]
Capabilities:
Kernel driver in use: nouveau
Kernel modules: nouveau

2e:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 861e
Flags: bus master, fast devsel, latency 0, IRQ 68
Memory at f7080000 (32-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

I have Fedora 29 with following kernel version:
$ uname -r
5.0.7-200.fc29.x86_64

I have following Mesa packages installed:
$ dnf list ‘mesa
Fedora Modular 29 - x86_64 - Updates 18 kB/s | 23 kB 00:01
Fedora 29 - x86_64 - Updates 24 kB/s | 22 kB 00:00
Fedora 29 - x86_64 29 kB/s | 25 kB 00:00
RPM Fusion for Fedora 29 - Free tainted 8.3 kB/s | 9.4 kB 00:01
Installed Packages
mesa-dri-drivers.x86_64 18.3.6-2.fc29 @updates
mesa-filesystem.x86_64 18.3.6-2.fc29 @updates
mesa-libEGL.x86_64 18.3.6-2.fc29 @updates
mesa-libGL.i686 18.3.6-2.fc29 @updates
mesa-libGL.x86_64 18.3.6-2.fc29 @updates
mesa-libGLU.i686 9.0.0-16.fc29 @fedora
mesa-libGLU.x86_64 9.0.0-16.fc29 @fedora
mesa-libOpenCL.x86_64 18.3.6-2.fc29 @updates
mesa-libgbm.x86_64 18.3.6-2.fc29 @updates
mesa-libglapi.i686 18.3.6-2.fc29 @updates
mesa-libglapi.x86_64 18.3.6-2.fc29 @updates
mesa-libxatracker.x86_64 18.3.6-2.fc29 @updates
mesa-vulkan-drivers.x86_64 18.3.6-2.fc29 @updates
Available Packages
mesa-demos.x86_64 8.4.0-1.fc29 updates
mesa-dri-drivers.i686 18.3.6-2.fc29 updates
mesa-filesystem.i686 18.3.6-2.fc29 updates
mesa-khr-devel.i686 18.3.6-2.fc29 updates
mesa-khr-devel.x86_64 18.3.6-2.fc29 updates
mesa-libEGL.i686 18.3.6-2.fc29 updates
mesa-libEGL-devel.i686 18.3.6-2.fc29 updates
mesa-libEGL-devel.x86_64 18.3.6-2.fc29 updates
mesa-libGL-devel.i686 18.3.6-2.fc29 updates
mesa-libGL-devel.x86_64 18.3.6-2.fc29 updates
mesa-libGLES.i686 18.3.6-2.fc29 updates
mesa-libGLES.x86_64 18.3.6-2.fc29 updates
mesa-libGLES-devel.i686 18.3.6-2.fc29 updates
mesa-libGLES-devel.x86_64 18.3.6-2.fc29 updates
mesa-libGLU-devel.i686 9.0.0-16.fc29 fedora
mesa-libGLU-devel.x86_64 9.0.0-16.fc29 fedora
mesa-libGLw.i686 8.0.0-15.fc29 fedora
mesa-libGLw.x86_64 8.0.0-15.fc29 fedora
mesa-libGLw-devel.i686 8.0.0-15.fc29 fedora
mesa-libGLw-devel.x86_64 8.0.0-15.fc29 fedora
mesa-libOSMesa.i686 18.3.6-2.fc29 updates
mesa-libOSMesa.x86_64 18.3.6-2.fc29 updates
mesa-libOSMesa-devel.i686 18.3.6-2.fc29 updates
mesa-libOSMesa-devel.x86_64 18.3.6-2.fc29 updates
mesa-libOpenCL.i686 18.3.6-2.fc29 updates
mesa-libOpenCL-devel.i686 18.3.6-2.fc29 updates
mesa-libOpenCL-devel.x86_64 18.3.6-2.fc29 updates
mesa-libd3d.i686 18.3.6-2.fc29 updates
mesa-libd3d.x86_64 18.3.6-2.fc29 updates
mesa-libd3d-devel.i686 18.3.6-2.fc29 updates
mesa-libd3d-devel.x86_64 18.3.6-2.fc29 updates
mesa-libgbm.i686 18.3.6-2.fc29 updates
mesa-libgbm-devel.i686 18.3.6-2.fc29 updates
mesa-libgbm-devel.x86_64 18.3.6-2.fc29 updates
mesa-libxatracker.i686 18.3.6-2.fc29 updates
mesa-libxatracker-devel.i686 18.3.6-2.fc29 updates
mesa-libxatracker-devel.x86_64 18.3.6-2.fc29 updates
mesa-omx-drivers.x86_64 18.3.6-2.fc29 updates
mesa-vdpau-drivers.i686 18.3.6-2.fc29 updates
mesa-vdpau-drivers.x86_64 18.3.6-2.fc29 updates
mesa-vulkan-devel.i686 18.3.6-2.fc29 updates
mesa-vulkan-devel.x86_64 18.3.6-2.fc29 updates
mesa-vulkan-drivers.i686 18.3.6-2.fc29 updates
rosegarden4-parmesan-fonts.noarch 17.12-5.fc29 fedora

I was thinking about trying to instal mesa-dri-drivers.i686 package, however quick google search shows some inconsistent reports on whether or not 32bit and 64bit mesa drives and their prerequisites can simultaneously run in the same system.

Has anyone encountered similar problem? How did you solve it? Is it possible to run both 32bit and 64bit mesa dri drivers on Fedora 29 at the same time?

1 Like

No idea how to fix it but for the time being, if you have a steam account as well you could try to activate those two games over there. I know GOG lets you do that on some titles and The Witcher 2 runs perfectly fine for me in Valve-land.

2 Likes

I know next to neoxti g about the specifics but is Mesa not for AMD stuff? You are using a 1070.

Never mind you also have and AMD card in there.

1 Like

Thanks for suggestions. I don’t have Steam installed nor do I have Steam account, but I’ve checked it out and based on the available information from rpm fusion repository it seems that steam package actually requires 32bit mesa drivers to run properly. Same is also true for wine package. So I probably try installing some of those 32bit mesa packages first to see where it gets me.

Yeah, me neither, but I found pretty good write-up when trying to find solution to above mentioned issue: https://www.reddit.com/r/archlinux/comments/6la6n5/trying_to_understand_drm_dri_mesa_radeon_gallium/

2 Likes

So installing 32bit mesa drivers solved this issue and I can now play both of those games. Thanks everyone for help.

3 Likes