Fix steam under linux with an iGPU

Fixing “libGL error failed to load driver i965

2016-09-19

Running steam on linux is great, besides the triple-a game support obviously. But running it on an iGPU has recently been causing me problems, mainly under Arch.

jake@***:~$ steam
~/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
~/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
Running Steam on antergos  64-bit
~/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1468023329)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

#The solution

I have no idea why it works, or why it works, but speaking to some people online, this is the best solution:

Bash
LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' /usr/bin/steam %U

I have no idea why it works, but it works perfectly for me! Steam client runs with no problems.

jake@***:~$ LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' /usr/bin/steam %U
~/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
~/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
Running Steam on antergos  64-bit
~/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1468023329)

Unfortunately, it doesn’t seem to work if you add it to the steam.desktop file, for reasons I don’t quite understand. But, just edit /usr/bin/steam to include the variable, and that works perfectly!

Bash
export LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so'

Share this page

Similar content

View all →

None

Unsafe routes with Nebula

2021-02-02
3 minutes

Nebula is a great mesh network I recently deployed into my stack. For connecting nodes spread between networks, it’s great, much better than my previous WireGuard installation. An additional feature of nebula is unsafe_routes. Unsafe routes allow nodes which don’t have Nebula installed to be accessible to other Nebula nodes.

Revert Arch linux packages to specific date

2017-09-11
2 minutes

I’m one of those Arch users who apparently doesn’t use arch properly: I install updates daily, including packages from the AUR. This has the great benefit of giving me the most up-to-date packages available from upstream. However, the downside of meaning I have the latest packages from upstream, meaning if…

Browsable snapshots with ZFS

2020-09-06
2 minutes

ZFS is a pretty sweet filesystem, an opinion shared by the majority of the internet it seems. BTRFS (No Wikipedia, it’s not “butter fuss”) is also a nice filesystem, and the fact it’s built-in to the kernel makes it far safer to use as a root filesystem. One of my…