Make OpenGL GLX work with Steam client on Debian jessie

7,113

Solution 1

  1. The Direct rendering : Yes doesn't necessary means that you have OpenGL support required by steam. That only means that your current glx driver can directly communicate to the hardware. In other case all requests are pushed into queue and executed from that queue this is called 'indirect'. More on that, OpenGL may work over network. In such cases rendering will be indirect but still accelerated. There might be two or 3 kind of drivers for your video card, all with different capabilities. You can figure out which one you using by the Vendor string, server part. In case of Radeon there should be no MESA.
  2. Check the permissions for your current user in /etc/groups. It should be in video group to do any actual GL.
  3. To check that your i386 video driver function properly you should... Use i386 version of glxinfo. It will replace 64 bit version. Install it with apt-get install mesa-utils:i386. You can install 64 version back after your checks done.
  4. The debian 8.0 is not stable, this is testing branch. This means you may face any kind of issues and instruction may often go out of date.
  5. I suggest to enable both testing and unstable, there is not much difference between them. Keep testing as default. And in case if something missing or broken, you can use packages from unstable.

Solution 2

The AMD fglrx driver has been removed from Debian Jessie in mid-july 2014 . Debian had updated Xorg to a new ABI, but AMD are not updating their driver to be compatible with that new Xorg.

It's now the third time that I've been burned with AMD on GNU/Linux; the other problem is that they don't support older graphics cards for newer Xorg/distros, so you have to use the open-source "radeon" driver.

I would advise you to switch to another distro for the time being, that will not update to that new Xorg too soon (Ubuntu 14.04, Steam OS). I'm just switching back to windows temporarily :/

EDIT: The lesson learned is that I should have put the fglrx-driver on 'hold' so that it would not have been deleted, and would have blocked the Xorg update in the APT "smart upgrade".

Share:
7,113

Related videos on Youtube

quant
Author by

quant

I'm here to learn programming and *nix mostly, and am immensely indebted to this community for always being there when I get stuck. The help and support I've received on SE sites has allowed me to develop my understanding in a range of disciplines much faster than I could ever have hoped for. I try to give back once in a while as well; it's the least I could do. I'm the owner and maintainer of www.portnovel.com

Updated on September 18, 2022

Comments

  • quant
    quant over 1 year

    I'm trying to install Steam Client on Debian 8 (Jessie) 64-bit because the instructions ask me to (and because I've tried without them and it fails... read on!). In following the instruction I've basically done the following:

    deb http://http.debian.net/debian/ jessie main contrib non-free
    dpkg --add-architecture i386
    aptitude update
    aptitude install steam
    aptitude install libgl1-fglrx-glx:i386
    

    That last one was in an attempt to install the 32-bit drivers for my ATI Radeon HD 7800. These are needed because steam is apparently 32-bit and requires 32-bit drivers. The output when I run that command is:

    user@home:~$ sudo apt-get install libgl1-fglrx-glx:i386
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Package libgl1-fglrx-glx:i386 is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    E: Package 'libgl1-fglrx-glx:i386' has no installation candidate
    

    When I now run steam I get the following message:

    OpenGL GLX context is not using direct rendering, which may cause performance problems.

    For more information visit https://support.steampowered.com/kb_article.php?ref=9938-EYZB-7457.

    That link takes me to a page basically asking me to install the 32-bit drivers.

    user@home:~$ glxinfo | grep rendering
    direct rendering: Yes
    

    Well that's good, I think. But when I try to run, for example, Counterstrike: Source I get this:

    Could not find required OpenGL entry point 'glGetError`! Either your video card is unsupported, or your OpenGL driver needs to be updated.

    I'm guessing this is because I didn't install that driver?

    To confirm I have the right sources, here is my /etc/apt/sources.list file:

    user@home:~$ cat /etc/apt/sources.list                                
    deb http://http.us.debian.org/debian/ jessie contrib main
    deb http://http.debian.net/debian/ jessie main contrib non-free
    deb-src http://http.debian.net/debian/ jessie main contrib non-free
    deb http://repository.spotify.com stable non-free
    deb-src http://repository.spotify.com stable non-free
    

    Unfortunately the suggested solution to the following (very similar) question was included in my steps and didn't help in my case:

    Debian Stable libgl1-nvidia-glx:i386 not found (trying to install Steam)

    I'm assuming those instructions are there because they work, and they say specifically that they're for debian jessie. What am I doing wrong here?

    EDIT: As Braiam points out the problem might have more to do with a steam problem that my setup. I have tried to follow one of the suggested fixes by doing this:

    mv ~/.steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1{,.disable}

    However, unlike the reports of others this didn't seem to help me much (same outcome as before).

  • quant
    quant almost 10 years
    I installed 32-bit glxinfo as you suggested. When I type glxinfo | grep -i vendor I get server glx vendor string: SGI; client glx vendor string: Mesa Project and SGI; OpenGL vendor string: VMware, Inc.. Presumably that's ok because there is no mesa in the client string? When I type glxinfo | grep -i direct I get direct rendering: Yes. I am only really using debian testing because that's what's apparently needed to set up steam (according to the instructions linked above).