Linux Mesa support status
jamesbch
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
What's happening when I start NS2:
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!
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
Assuming you're using the open-source Intel driver (unfamiliar with Intel), which Linux kernel version are you using?
uname -r
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.
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
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:
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 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.
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.
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:
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