protonscr

Mandatory installation of MESA drivers causes problems with proprietary drivers

steamopen reviewedDistro Family: Ubuntu
ValveSoftware/steam-for-linux#3808 · opened 2015-04-22 by classner · updated 2018-07-27 · 7 comments · github
Cclassner 2015-04-22 github

Dear Steam for Linux team,

for users with NVIDIA cards, the mandatory installation of the MESA drivers, at least on Linux Mint 17.1, is causing problems. A short summary what I found out about it:

Description about what causes the issue

When installing steam, the MESA drivers are automatically pulled in. Even when uninstalling them, steam requests an installation on startup. It wants to install

  • libgl1-mesa-glx:i386
  • libglapi-mesa:i386
  • libgl1-mesa-glx:i386

However, for many games, the proprietary NVIDIA drivers are required. The installation of MESA is even requested, when the NVIDIA drivers are properly setup, including the i386 compatibility packages.

The installation of the MESA drivers, however, replaces /etc/ld.so.conf.d/i386-linux-gnu_GL.conf with /usr/lib/i386-linux-gnu/mesa/ld.so.conf, registering /usr/lib/i386-linux-gnu/mesa/libGL.so.1 before the nvidia libGL.so.1 (which is located in /usr/lib/i386-linux-gnu).

What is happening then

This leads to a warning about direct rendering not being available at steam startup, and issues with games, e.g., the infamous Could not find required OpenGL entry point "glGetError" (see, e.g., here, or here, or in general here).

Workaround

A workaround was for me to simply removing the file /etc/ld.so.conf.d/i386-linux-gnu_GL.conf and rerunning sudo ldconfig. This effectively breaks the MESA installation by removing the link to its library directory, but leaves it installed so that steam is happy.

It would be great if this could be addressed in a cleaner way.

In general, thanks for bringing steam to Linux and keep up the good work!

Cclassner 2015-04-22 github

For reference: installing the packages broke my cinnamon desktop: it wouldn't load correctly any more. I had to sudo apt-get --reinstall install cinnamon to make it work again after sudo apt-get remove libgl1-mesa-glx:i386. After restarting, I just ignored the request of steam to install MESA by closing the opened terminal and it works.

PPlaque-fcc 2015-04-24 github

Suddenly happened to me too.

I'm on FireGL (fglrx).

Ignoring this requisition didn't break a thing.

Ccjwijtmans 2015-05-14 github

isnt this more of a distro problem than a steam problem?

Cclassner 2015-05-14 github

I wouldn't say so: I would expect that the MESA libraries replace whatever other OpenGL libraries are installed if I install the MESA package. Consequently, I don't find it appropriate that Steam requests that installation and doesn't detect the presence of the already present OpenGL libraries.

Ssilviucc 2015-05-16 github

Guys, does this happen to you with distro supplied packages or with driver installations from installers supplied by nvidia/AMD?

What I do, is comment out the contents of both:

/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf

and

/etc/ld.so.conf.d/i386-linux-gnu_GL.conf

Indeed, this breaks MESA, but, honestly, I don't care. I do not use it. I'm hopeful that this "fix" will finally solve the occasional breakage when MESA gets updated for security reasons.

I also don't agree that this is a distro issue. The steam .deb package has Valve listed as maintainer.

Cclassner 2015-05-17 github

This happened to me with the drivers supplied by NVIDIA. Sure, that's a valid workaround. Ideally, this wouldn't be necessary and should be easy to fix.

Jjavabrett 2016-01-29 github

+1 for fixing this, the problem forced me to manually repair my LMDE Cinnamon + NVIDIA 340.96 driver.