Linux Mesa support status

jamesbchjamesbch Join Date: 2004-04-20 Member: 28035Members, Constellation
Hey guys,

I've read posts saying that NS2 now supports mesa through OpenGL 3.1 which is great. I read some people successfully played (with more or less performance) with their intel cards, this is awesome. I tried myself eager to test a bit but it failed although I meet the hardare+software conditions:

Hardware: Intel i7-4770S (Intel HD 4600, up to OpenGL 4.0 in theory)

Software: Debian testing, 3.14-1-amd64, Mesa 10.2.2
$glxinfo | grep string
server glx vendor string: SGI
server glx version string: 1.4
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.2.2
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 10.2.2
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.2.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0

What's happening when I start NS2:
GetInstanceCount currently unimplemented
Build 266
Linux
Steam initialized
Num displays: 2
Error: X windows: GLXBadFBConfig
Error: glXCreateContextAttribsARB failed
Error: X windows: GLXBadFBConfig
Error: X windows: GLXBadFBConfig
Error: X windows: GLXBadFBConfig
Error: X windows: GLXBadFBConfig
Error: X windows: GLXBadFBConfig
Error: X windows: GLXBadFBConfig
Error: X windows: GLXBadFBConfig
Error: X windows: GLXBadFBConfig
Error: X windows: GLXBadFBConfig
Error: OpenGL version 3.1 is required
Error: Couldn't initialize the render device.

Please post your feedback if it worked (or not) and what is your hardware with software versions. I'm really interested in helping here, so I can do more tests if necessary. Is there a way to get more debugging information?

Thank you all for the good work, I was impressed by the WorldCup by the way! :)

Comments

  • TurbineTurbine Join Date: 2012-09-13 Member: 159160Members
    It looks like a driver issue, I could be wrong.

    Assuming you're using the open-source Intel driver (unfamiliar with Intel), which Linux kernel version are you using?

    uname -r
  • jamesbchjamesbch Join Date: 2004-04-20 Member: 28035Members, Constellation
    Hey Turbine,

    It's already written in my initial post:
    kernel: 3.14-1-amd64
    driver: 10.2.2

    Thanks for looking at my problem!

    In the meantime I have put my ATI graphic card (Asus 6850) into my computer, tried many different things among different version of Mesa (radeon open driver). After a few hours of unsuccessful testing I haven't found a working version. I tested Mesa 10.2.2, Mesa 10.1.1-1, Mesa 10.1.0-4. I tried because murray* claimed he could play, so I wanted to try but it crashes at startup (with a single GLXBadFBConfig and without any complain about OpenGL 3.1 missing).

    I tried the fglrx proprietary drivers too, the game doesn't crash at startup, in fact there is the loading turning for less than a second then it's stuck with 100%/200%, the problem comes from compiling shaders (eg: deferred shader). I unpacked murray* shader cache and it was going well for ~20 seconds (rotating circle + steam popup at top right) then it hangs again when it tries to compile its first non-already-compiler-shader (alien surface shader). I tried fglrx 14.4.2-1 and 13.12-4 even with different kernel 3.14-1 and 3.12-1 too.

    So I'm really interested in making this works for Intel (with mesa) because the driver is very stable (compared to proprietary drivers). I may try a nvidia card soon, if I can.

    * murray post which helped me in this testing: http://forums.unknownworlds.com/discussion/134613/linux-possible-workaround-for-amd-catalyst-users#latest He has the same GPU as me so it's a big plus. It would really help me if could make a new version of his archive.
  • murraymurray Join Date: 2012-12-22 Member: 175880Members, NS2 Playtester, Pistachionauts
    edited July 2014
    jamesbch wrote: »
    Hey guys,

    I've read posts saying that NS2 now supports mesa through OpenGL 3.1 which is great. I read some people successfully played (with more or less performance) with their intel cards, this is awesome. I tried myself eager to test a bit but it failed although I meet the hardare+software conditions:

    Hardware: Intel i7-4770S (Intel HD 4600, up to OpenGL 4.0 in theory)

    Software: Debian testing, 3.14-1-amd64, Mesa 10.2.2
    $glxinfo | grep string
    server glx vendor string: SGI
    server glx version string: 1.4
    client glx vendor string: Mesa Project and SGI
    client glx version string: 1.4
    OpenGL vendor string: Intel Open Source Technology Center
    OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop
    OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.2.2
    OpenGL core profile shading language version string: 3.30
    OpenGL version string: 3.0 Mesa 10.2.2
    OpenGL shading language version string: 1.30
    OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.2.2
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0

    What's happening when I start NS2:
    GetInstanceCount currently unimplemented
    Build 266
    Linux
    Steam initialized
    Num displays: 2
    Error: X windows: GLXBadFBConfig
    Error: glXCreateContextAttribsARB failed
    Error: X windows: GLXBadFBConfig
    Error: X windows: GLXBadFBConfig
    Error: X windows: GLXBadFBConfig
    Error: X windows: GLXBadFBConfig
    Error: X windows: GLXBadFBConfig
    Error: X windows: GLXBadFBConfig
    Error: X windows: GLXBadFBConfig
    Error: X windows: GLXBadFBConfig
    Error: X windows: GLXBadFBConfig
    Error: OpenGL version 3.1 is required
    Error: Couldn't initialize the render device.

    Please post your feedback if it worked (or not) and what is your hardware with software versions. I'm really interested in helping here, so I can do more tests if necessary. Is there a way to get more debugging information?

    Thank you all for the good work, I was impressed by the WorldCup by the way! :)

    After switching from Catalyst to Mesa, i had the same problem. Have you tried the workaround (symlink to /usr/lib32/libudev.so) , which i described in this thread?

    http://forums.unknownworlds.com/discussion/134362/linux-b263-amd-graphic-card-with-mesa

    Edit: I also uploaded a new archive with compiled shaders for the build 266:
    http://forums.unknownworlds.com/discussion/134613/linux-workaround-for-amd-catalyst-users-update
  • jamesbchjamesbch Join Date: 2004-04-20 Member: 28035Members, Constellation
    edited July 2014
    Hey murray,

    murray: can you give me the exact version number of your mesa driver? Are you using your AMD or Intel graphic card?

    With fglrx (14.4.2-1), I installed the new version of your cached shader archive, I could start the game and play in the tutorial. For online servers that's an other story, they most had shaders to compile which froze my game every time, for example: materials/editor/editor_background.surface_shader and one related to reflected water. I could join two servers (mostly empty) out of the 10 I tried. The loading times are very lengthy (compared to my QEMU VM using vfio: a few seconds). Performance 1920x1200 everything off 75-85 fps, with some nice effects around 55-65 fps.

    With radeon mesa (10.2.2-1), the game crash directly without loading with a single "Bad Match" error*. Steam complains* I don't have acceleration (but I have). I tested with the udev symlink too (no change). A few days ago I tried to downgrade and this warning vanished (I don't remember the errors). *There:
    Steam complain:
    Error: 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.

    NS2 errors:
    Steam initialized
    Num displays: 2
    Error: X windows: BadMatch (invalid parameter attributes)

    I will try again with intel mesa with the new workaround you proposed with udev. In fact I don't have the same file so I did an equivalent command: ln -s /lib/i386-linux-gnu/libudev.so.0 ~/.steam/steam/SteamApps/common/Natural\ Selection\ 2/libudev.so.0

    EDIT: I tried again intel mesa (10.2.2-1) but your udev workaround does not change my outcome, still complaining about missing OpenGL 3.1 support. I even installed all dependency reported by ldd and started the ns2_linux32 binary by hand, still the same outcome, too bad.

    Unfortunately my nvidia card is too big for my (new) desktop so I cannot test, sorry.
    Thank for your help!
  • murraymurray Join Date: 2012-12-22 Member: 175880Members, NS2 Playtester, Pistachionauts
    edited July 2014
    jamesbch wrote: »
    Hey murray,

    murray: can you give me the exact version number of your mesa driver? Are you using your AMD or Intel graphic card?

    I own an AMD Radeon HD 6850 and i am using Mesa 10.2.3. But the game also runs (or should run) with Mesa 10.2.2.
    jamesbch wrote: »
    With fglrx (14.4.2-1), I installed the new version of your cached shader archive, I could start the game and play in the tutorial. For online servers that's an other story, they most had shaders to compile which froze my game every time, for example: materials/editor/editor_background.surface_shader and one related to reflected water. I could join two servers (mostly empty) out of the 10 I tried. The loading times are very lengthy (compared to my QEMU VM using vfio: a few seconds). Performance 1920x1200 everything off 75-85 fps, with some nice effects around 55-65 fps.

    I think only vanilla ns2 server will work (servers without mods). If I find some time, I will join some other servers and (hopefully) compile these missing shaders.
    jamesbch wrote: »
    With radeon mesa (10.2.2-1), the game crash directly without loading with a single "Bad Match" error*. Steam complains* I don't have acceleration (but I have). I tested with the udev symlink too (no change). A few days ago I tried to downgrade and this warning vanished (I don't remember the errors). *There:
    Steam complain:
    Error: 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.

    NS2 errors:
    Steam initialized
    Num displays: 2
    Error: X windows: BadMatch (invalid parameter attributes)

    I will try again with intel mesa with the new workaround you proposed with udev. In fact I don't have the same file so I did an equivalent command: ln -s /lib/i386-linux-gnu/libudev.so.0 ~/.steam/steam/SteamApps/common/Natural\ Selection\ 2/libudev.so.0

    EDIT: I tried again intel mesa (10.2.2-1) but your udev workaround does not change my outcome, still complaining about missing OpenGL 3.1 support. I even installed all dependency reported by ldd and started the ns2_linux32 binary by hand, still the same outcome, too bad.

    Unfortunately my nvidia card is too big for my (new) desktop so I cannot test, sorry.
    Thank for your help!

    I also had this or a similar error. It looks like, your mesa library is incompatible with the steam runtime [1]. Please start steam from a terminal and look for errors like this:
    libGL error: dlopen /usr/lib32/xorg/modules/dri/r600_dri.so failed (/home/user/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1: version `GCC_4.7.0' not found (required by /usr/lib32/xorg/modules/dri/r600_dri.so))
    
    If you have this problem, then delete (or rename) this file (maybe you must delete several files) in your steam folder. Then steam will load the library from your global system.

    This solution also works (or should work) for 64 bit games like XCOM: Enemy Unknown.


    [1] https://bbs.archlinux.org/viewtopic.php?pid=1432315

Sign In or Register to comment.