Linux, Intel HD 4000, OpenGL 3.1 Core profile
Leinad965
Join Date: 2013-10-12 Member: 188672Members
When try to start game it throws error that OpenGL 3.1 is needed. But there is support for OpenGL 3.1 starting from Mesa 9.0. Yes, it is supported only as "Core profile OpenGL 3.1", but it means, that is only no support for deprecated features. Can you switch for using Core profile, or there is need for old unsupported OpenGL features?
"OpenGL 3.1 and later versions are only supported with the Core profile.
There are no plans to support GL_ARB_compatibility. The last supported OpenGL
version with all deprecated features is 3.0. Some of the later GL features
are exposed in the 3.0 context as extensions."
citation from: http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt
"OpenGL 3.1 and later versions are only supported with the Core profile.
There are no plans to support GL_ARB_compatibility. The last supported OpenGL
version with all deprecated features is 3.0. Some of the later GL features
are exposed in the 3.0 context as extensions."
citation from: http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt
Comments
I don't know enough about mesa or the ns2 code base to tell you what exactly is wrong.
I just bought NS2, it's a bit of a disappointment to see it do nothing but exit to a black screen even after all of the dependencies were hunted down. As stated above, there are no plans for the open source graphics drivers on Linux to ever support the deprecated features of OpenGL 3.1. It would be nice to get a word from the developers as to whether supporting the open source drivers is planned in the near future or if I should start poking at Steam support for a refund.
OS:Windows 7 32/64-bit / Vista 32/64 / XP
Processor:Core 2 Duo 2.6 ghz
Memory:1GB for XP / 2GB for Vista/7
Graphics:DirectX 9 compatible video card with 1GB, ATI X800, NVidia 8600 or better
So it would be more than capable of running the game.
The Intel HD 4000 has more than 1.5gb of ram it can alocate and is much more powerful than a 8600. In fact, it is even more powerful than a 640. But beyond that, this isn't an issue that only affects the Intel HD 4000, this affects _all_ graphics cards under linux, they _all_ use Mesa or the even lower profile Gallium3D. The only exceptions are the AMD and Nvidia binary blobs, which break approximately every Tuesday.
If you find an PPA for experimental Mesa builds then you might be able to run the game on Intel hardware sometime soon. Irick can't get it to to run, but the devs might fix it.
No, it would not be. And even if it did, it would not be remotely supported. (due to shader model technology iirc?)
The minimum requirements are a 1 GB Dedicated graphics card, not integrated.
I'm getting a laptop with A4-5000/HD8330 soon. I don't expect to be playing NS2 on it, although i will try and see if it runs. Dota2 however should run at acceptable fps. Its mostly for schoolwork and stuff, so i wont be playing much on it anyway.
It comes out about as powerful as the 610. the 710 actually kills the HD 4000 (but not by a great deal).
Does this have to do with anything other than the OGL version that Mesa uses? So, for instance, my 7970 with Mesa is currently at 3.0, and once the driver for *that* card hits 3.1+, Mesa should be able to run NS2 just fine, correct? (Any performance issues with the driver aside, of course)
The problem is that the game is basically saying it needs the legacy APIs from old OpenGL, which... I mean i really doubt it does, especially if they started the rendering engine on DX. The game fails to start when it sees that Mesa supports 3.1 and 3.2 but not the old legacy OpenGL cruft. I could probably force it to run if Mesa supported spoofing the profile level, but I can't find any way to make it spoof full profile compliance past 3.0 :P
What this basically means is that the standard OpenGL reference platform (Mesa) for *nix can not run the game as is. It requires either Nvidia or AMD blobs. I'll restate this because people seem to not really grasp the issue at hand:
The non-support of the Intel HD 4000 is an aside. The root cause is in software, not hardware capability. Mesa is _the_ reference OpenGL implementation. It supports the most hardware of any given OpenGL driver and has a very robust if archaic (by convention) codebase. The cutting edge (by convention) GPU driver for linux is Gallium3D, which will _also_ not run the game.
What this means is that the game won't run on Linux even if you have a Titan unless you use the binary blob drivers. Why is this an issue? Because binary blobs fuck up a lot on Linux. There is no such thing as a stable Linux driver ABI like on Windows or OS X. Drivers compiled against 3.9 don't work with 3.10, Drivers compiled to work with X.org 1.bla don't work with Xorg <future release> which don't work with drivers compiled for Wayland, which don't work with Drivers compiled for Mir.
The binary Nvidia drivers hold every aspect of the system they touch back. They conflict with new kernels and patches, meaning that I may have to keep my system out of date and vulnerable to keep the binary blob happy. This is not just a usability risk, but a security risk as well.
Now, I entirely understand that they may be unable to _optimize_ for the Open Source mesa and Galium 3D drivers. It is understandable, I've worked with the tools available for AMD and Nvidia and it is _much_ easier to debug what's causing hangs with them than it is to do so for Mesa or Gallium3D at the moment. However, I find it unacceptable to expect a customer to compromise the security of their machine to just run a game.
Furthermore, this dependency is not stated anywhere in the Steam page for the game. In fact, _no_ Linux system requirements are stared in the Steam page. There is _no_ way for me to vet if this game has a chance to run with my system. I know it is technically feasible for the game to run, I know the technical limitations of my system, and I like to support interesting independent games who make the scary leap into the Linux market, but there is no way for me to play the game I just bought without making unacceptable compromises in system security and there is really no technical reason this should be.
However, it is the state of things, and now I am looking for some sort of declaration of intent by the developers as to if they will support the open source drivers in the future or if I should take it up with steam support for a refund.
You have been misinformed
People really underestimate modern IGPU/APUs.
The A10 will probably run this game acceptably even under Linux with low settings and ~720p resolution assuming you use the AMD binary blob. Honestly if the team had the resources to optimize for the Intel HD 4000 It would likely be able to pull off 1080p low from what I've seen of assets (unscientific observation). These little guys are surprisingly capable as long as you're not looking for miracles.
Have i seen ns2 run on integrated graphics? Yup. Even on a laptop.
Would I recommend anyone play like this?
No way.
Is it supported and will you get help if it doesn't run?
No.
As for your other info regarding Mesa, i can ask @max
glxinfo says it's 3.1
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop
OpenGL core profile version string: 3.1 (Core Profile) Mesa 9.2.1
OpenGL core profile shading language version string: 1.40
OpenGL core profile context flags: (none)
I've activated the beta channel on ns2. So if you need testing to see if it works, just say.
Looking forward to firing this game up.
I will point out that for anyone testing the upcoming Mesa here, you have to state your hardware. Mesa Radeon drivers are not up to date with OpenGL extension support and as such will not support OpenGL 3.2. They don't even support OpenGL 3.1 yet.
@ Max
I wouldn't bother with it imo. Radeon Mesa won't support 3.1 anyway, and you could probably shoot the Mesa devs a message on Mesa 10 if Intel GPUs still don't work with that release.
EDIT: Radeon apparently does support 3.1 now, though RadeonSI (7000 series) only supports between 2.1 and 3.0, according to Phoronix anyway. I checked with 9.2.1 and Radeon apparently does support 3.1 according to glxinfo, so Radeon will benefit from a switch to 3.1.
this is AWESOME and i really appreciate the work you guys do.
RadeonSI does support 3.1, if you're pulling daily git pulls. If you're on Arch Linux you could use this repo -- http://pkgbuild.com/~lcarlier/mesa-git/ -- to do easy, pre-built git pulls. I'm using RadeonSI on my hybrid laptop and works flawlessly (and the performance is even pretty solid).
Also, to those claiming that it is a hardware problem. I am running Natural Selection 2 just fine (albeit with low resolution) under Windows 7 using the DirectX drivers for Intel HD 4000 and at least according to Wikipedia the Windows drivers have support for OpenGL 4.0. So, this is a software problem, either @Max will have to back-port (not ideal) or Intel will need to get their shit together and provide proper Linux support (I wish...).
@Max: Happy hacking!
Edit: Spelling.
Intel does a lot of really amazing work for their Linux drivers. The Radeon drivers are quickly on their way to becoming the best drivers on Linux, but for the time being Intel probably provides the best GPU drivers. I'd even place them above Nvidia's. It's just a shame that the actual hardware capabilities aren't up to par with dedicated GPUs (though as an aside, I'm looking forward for the day when IGPs can become competitive with discrete cards, and I think that day is approaching).
That said, the Mesa drivers have stated that they don't have the resources to actually enable compatibility extensions in the Mesa driver stack, mostly due to lack of resources and programmers. Nvidia and AMD have had large staffs of developers to not only develop these extensions, but also to keep them up to date in order to make sure the proprietary drivers implement those extensions.
At the end of the day the old functions -- the ones that the core profile don't support -- were deprecated, and probably for good reason. I'm anxious for NS2 to stop using them.
Heh, Intel does nice work on their Linux drivers providing they aren't sourcing the GPU design from PowerVR And they've really stepped up on the Windows front too with the HD series.
New IGPs are already competitive with low end discrete cards, I think there is going to be a pretty interesting shift in the market dynamics as Intel and AMD have started to really focus on offering an all-in-one solution that is acceptable for a mainstream gaming experience.
Though honestly I think they are pretty damn close. The only thing that has really stopped Intel from being a valid contender as a gaming GPU in the past was the pretty abysmal state of their drivers on the Windows side, and they've definitely stepped up their efforts on that front. You'd be hard pressed to find a game out there that will not run with the driver they've got Windows side.
The Linux team at Intel has done great work, especially when you consider IGP performance under Linux isn't exactly the largest feature for most of their clientèle. I'm hoping that the shift in IGP capability as well as the resent resurgence of interest in Linux native gaming will get that team the resources they need to marathon up and get all of the hardware features of the new IGPs accessible in software.
Sorry for asking, just I only use linux.
Thanks
The easier fix seems to be to request the OpenGL 3.1 API at context creation to resolve the issue that we can't even start the game.
I'm running only Linux, my system has a Intel i5-4570S with integrated HD 4600 graphics.
Thanks for the effort done so far on removing the legacy OpenGL stuff
Thanks! I just heard about NS2, and bought it on Steam thinking my (rather beefy, but without dedicated graphics) Linux laptop would work at least on low settings...
Will this change make it into build 262?
http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt?h=10.0&id=12484d2582a478b3ef126efe12f24c8e4a4d4db7#n10