Steam for Linux

Steam for Linux

DonMinik 31 Jul, 2015 @ 2:38pm
[solved] OpenGL GLX context is not using direct rendering, which may cause performance problems.
Hello everyone,

I just started to get steam working on linux but I run into this failure on starting steam: "OpenGL GLX context is not using direct rendering, which may cause performance problems."
Never the less steam still starts but everytime I try launching a game nothing realy happens.
After reading https://wiki.archlinux.org/index.php/Steam#OpenGL_not_using_direct_rendering_.2F_Steam_crashes_Xorg i figured out that my graphics driver might be some kind of incompatible to steam. I am using Nvidias driver in version 352 with nvidia prime to run my gtx 960m besides the intel graphics that is inactive.
I read that this may have not worked in earlier versions of nvidias drivers and you were forced to use bumblebee to run nvidia optimus hybrid graphics.
By now I feel like if it is working (except for steam). Teach me if I'm wrong.
Oh, and by the way I am running elementary OS Freya that is based on Ubuntu 14.04.

I hope you guys can help me with this or at least tell me if using nvidias driver is a good or a rather bad idea at the moment.

Cheers
Last edited by DonMinik; 2 Aug, 2015 @ 8:04am
< >
Showing 1-3 of 3 comments
Long Ago [Linux] 31 Jul, 2015 @ 11:11pm 
I am not familiar with OS Freya or where to get help specifically for that. But the nvidia driver packages in regular repos or xorg-edgers ppa seem to work fine in real Ubuntu 14.04 (I am using 64-bit). And nvidia-prime in 14.04 works far better than bumblebee did in 13.10. In 13.10 which used bumblebee, I had to insert some parameters before the optirun command to use nvidia graphics. With nvidia-prime in 14.04 you use NVIDIA X Server Settings to select which graphics you want to use (although, I have to reboot when switching from Intel to Nvidia graphics) and no parameters are needed for steam games.

Does your laptop have visual indication of which graphics is being used? The power LED on my laptop is blue when using Intel and amber when using Nvidia.

Although, "nomodeset" kernel boot parameter is typically needed during install for desktops with nvidia only, someone on ubuntuforums.org on a laptop with hybrid graphics said he could not get it to work unless he did "not" use nomodeset. So I did not use any boot parameters when installing Ubuntu 14.04 on my laptop and everything works fine. However, my laptop has older Intel HD 4600 / Nvidia GTX 765M, so it works fine with nvidia-331-updates package from normal repos. Even the Intel driver in 14.04 works much better than whatever version was used with bumblebee in 13.10.

The GTX 750 Ti (which has the new Maxwell chip) on my desktop would not work with the nvidia-current in 14.04, but worked fine with nvidia-331-updates. Although, I am currently using nvidia-352 package from xorg-edgers ppa (needed version 337 or newer to play with video overclocking).

See if NVIDIA X Server Settings allows you to switch to nvidia graphics (which on my laptop was the intial default). If you do not have mesa-utils install that:

sudo apt-get update sudo apt-get install mesa-utils

Then look through "glxinfo | less" and see what it shows for "direct rendering" and whether it show nvidia related things or something else.
DonMinik 1 Aug, 2015 @ 3:57am 
Thanks a lot for the fast answer!

I am glad to hear that I can stick to NVIDA Prime. I prefere running harware with drivers provided by its producer (it makes me belive that the risk of damaging the hardware by false use and overheating is less).

My X Server Settings shows me the Gefore as "GPU 0". The Gefore is also selected in PRIME Profiles. I do not have an led or something on my hardware that could proof if X Server Settings are telling the truth.

I installed mesa-utils but it made no difference.

Here is the output I get from glxinfo:
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
...

client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
...

GLX version: 1.4
GLX extensions:
...

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 960M/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 352.30
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
...

OpenGL version string: 4.5.0 NVIDIA 352.30
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
...

I spared you the extension list.

To me it appears that the Hardware and the driver are both identified and selected correctly. Are there any further settings that has to be set to make it run with steam? On NVIDIA X Server there is not much more to configure :/
DonMinik 2 Aug, 2015 @ 8:04am 
I solved it!!

After spending some hours on google I found this:
https://steamhost.cn/steamcommunity_com/app/221410/discussions/5/828939163894026239?l=german

The solutuin guessd by MasterGeek did the trick.
I just had to edit alt_ld.so.conf (as root) that can be found in /usr/lib/nvidia-352 and /usr/lib/nvidia-352-prime.

I added these lines:
/usr/lib32/nvidia-352
/usr/lib/nvidia-352

Now steam an the games installed run like a charm.

If I understood right my setup was quite okay so far but a missing link to 32bit drivers made steam struggle and not beeing able to work with the nvidia driver. And running games without a graphics driver obviously is not about to work. :)
< >
Showing 1-3 of 3 comments
Per page: 1530 50