Linux, Intel HD 4000, OpenGL 3.1 Core profile

Leinad965Leinad965 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
«1

Comments

  • ConfusedConfused Wait. What? Join Date: 2003-01-28 Member: 12904Members, Constellation, NS2 Playtester, Squad Five Blue, Subnautica Playtester
    As far as I am aware, there is no way to run ns2 using mesa.

    I don't know enough about mesa or the ns2 code base to tell you what exactly is wrong.
  • irickirick florida Join Date: 2013-10-17 Member: 188732Members
    I'm running Mesa 10, with support for OpenGL 3.2 (core)
    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.
  • SkvateSkvate Join Date: 2002-11-25 Member: 9892Members, Reinforced - Shadow, WC 2013 - Silver
    Im not entierly sure the HD4000 is capable of running this game(with only 16 shader cores). I don't think it meets the minimum requirements.
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    UWE stated very early in development that onboard graphics are not supported. Purely to do with the Video card requiring a minimum of 1gb Ram. I had a newer card with only 512MB of ram, and that couldn't run NS2, there is no chance with an IGP, even if it was supported, which it isn't. Here are the minimum specs required:

    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
  • irickirick florida Join Date: 2013-10-17 Member: 188732Members
    Soul_Rider wrote: »
    UWE stated very early in development that onboard graphics are not supported. Purely to do with the Video card requiring a minimum of 1gb Ram. I had a newer card with only 512MB of ram, and that couldn't run NS2, there is no chance with an IGP, even if it was supported, which it isn't. Here are the minimum specs required:

    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.
  • rkfgrkfg Russia Join Date: 2013-09-03 Member: 187744Members, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow
    irick wrote: »
    The only exceptions are the AMD and Nvidia binary blobs, which break approximately every Tuesday.
    Objection! This is only applicable to (maybe, never used it on Linux) AMD blob. NVIDIA blob works great, it just works. Mainly because it shares most of the code between all supported platforms. Just saying to clear any misunderstandings but if you really want to build a gaming rig on Linux, stick to NVIDIA and have no regrets.
  • OuchOfDeathOuchOfDeath Join Date: 2013-02-04 Member: 182825Members
    edited October 2013
    Mesa just got updated to 3.2: http://www.phoronix.com/scan.php?page=news_item&px=MTQ4MzI

    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.
  • IronHorseIronHorse Developer, QA Manager, Technical Support & contributor Join Date: 2010-05-08 Member: 71669Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Subnautica Playtester, Subnautica PT Lead, Pistachionauts
    irick wrote: »
    Soul_Rider wrote: »
    UWE stated very early in development that onboard graphics are not supported. Purely to do with the Video card requiring a minimum of 1gb Ram. I had a newer card with only 512MB of ram, and that couldn't run NS2, there is no chance with an IGP, even if it was supported, which it isn't. Here are the minimum specs required:

    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.

    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.

  • SkvateSkvate Join Date: 2002-11-25 Member: 9892Members, Reinforced - Shadow, WC 2013 - Silver
    edited October 2013
    Also the HD4000 has 16 execution cores(shader cores) compared to 400 or more on discrete cards(CUDA cores on nVidia, stream processor on AMD/ATI). Lot of parallel workload on GPUs. I guess HD4000 will work on graphically less demanding games, but not with games like NS2. Even the low-end APU's from AMD have around 128 shader cores, and they do fare better in many games compared to the HD4000.

    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.
  • ObraxisObraxis Subnautica Animator & Generalist, NS2 Person Join Date: 2004-07-24 Member: 30071Super Administrators, Forum Admins, NS1 Playtester, Forum Moderators, NS2 Developer, Constellation, NS2 Playtester, Squad Five Silver, WC 2013 - Supporter, Subnautica Developer, Pistachionauts
    The Intel HD 4000 is not as powerful as a Nvidia 640. I know because I tested my own Intel HD 4000 against: 470, 710, 620.

    It comes out about as powerful as the 610. the 710 actually kills the HD 4000 (but not by a great deal).
  • snow_blindsnow_blind Join Date: 2012-03-05 Member: 148162Members
    As far as I am aware, there is no way to run ns2 using mesa.

    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)
  • irickirick florida Join Date: 2013-10-17 Member: 188732Members
    edited October 2013
    Mesa just got updated to 3.2: http://www.phoronix.com/scan.php?page=news_item&px=MTQ4MzI

    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.

    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.
    IronHorse wrote: »

    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.

    You have been misinformed

  • SkvateSkvate Join Date: 2002-11-25 Member: 9892Members, Reinforced - Shadow, WC 2013 - Silver
    i had not expected it to run that smoothly on HD4000, even though its at very low res, and the video doesn't show the typical situations where you get low FPS. Maybe there's hope for the A10-6800K and the future kaveri APU as well :D
  • irickirick florida Join Date: 2013-10-17 Member: 188732Members
    Skvate wrote: »
    i had not expected it to run that smoothly on HD4000, even though its at very low res, and the video doesn't show the typical situations where you get low FPS. Maybe there's hope for the A10-6800K and the future kaveri APU as well :D

    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.
  • IronHorseIronHorse Developer, QA Manager, Technical Support & contributor Join Date: 2010-05-08 Member: 71669Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Subnautica Playtester, Subnautica PT Lead, Pistachionauts
    What i said still applies, @irick , it does not meet the minium required and is not supported.

    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
  • vvrovvro Portugal Join Date: 2013-10-29 Member: 188862Members
    Running ubuntu 13.10 on a i7-4770S with an Intel® HD Graphics 4600. Doesn't work. gives a fatal error at start.

    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.


  • irickirick florida Join Date: 2013-10-17 Member: 188732Members
    Max wrote: »
    I am working on changing the OpenGL renderer to use a 3.1 core context now.
    Awesome. ^^
    Looking forward to firing this game up.

  • OuchOfDeathOuchOfDeath Join Date: 2013-02-04 Member: 182825Members
    edited October 2013
    Mesa 10 is due to be released very soon. Whether it will actually run NS2 is another story.

    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.
  • snow_blindsnow_blind Join Date: 2012-03-05 Member: 148162Members
    Max wrote: »
    I am working on changing the OpenGL renderer to use a 3.1 core context now.

    this is AWESOME and i really appreciate the work you guys do. :D
    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.

    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).
  • ninjinninjin Join Date: 2013-04-16 Member: 184854Members, Reinforced - Diamond
    edited November 2013
    I just want to quickly chime in and state that Intel HD 4000 compatability has already been discussed to some extent in the Linux setup guide thread.

    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.
  • snow_blindsnow_blind Join Date: 2012-03-05 Member: 148162Members
    edited November 2013
    ninjin wrote: »
    Intel will need to get their shit together and provide proper Linux support (I wish...).

    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.
  • irickirick florida Join Date: 2013-10-17 Member: 188732Members
    snow_blind wrote: »

    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 :3 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.
  • vvrovvro Portugal Join Date: 2013-10-29 Member: 188862Members
    How's development on changing the OpenGL renderer to use a 3.1 core context going? Any predictable time?

    Sorry for asking, just I only use linux.

    Thanks
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Members
    Mesa 9.2 implements the OpenGL 3.1 API, but the version reported by glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. Some drivers don't support all the features required in OpenGL 3.1. OpenGL 3.1 is only available if requested at context creation because GL_ARB_compatibility is not supported.

    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.
  • jonessenjonessen Join Date: 2013-12-05 Member: 189811Members
    I'd also love to see NS2 running on Mesa! I bought the Humble Jumbo Bundle two days ago mainly because of NS2 and then had to realize it doesn't work.
    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 :)
  • asaz989asaz989 Join Date: 2013-12-18 Member: 190261Members
    Max wrote: »
    I am working on changing the OpenGL renderer to use a 3.1 core context now.

    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?

  • montsegur87montsegur87 South America Join Date: 2013-12-31 Member: 191210Members
    Now that Mesa 10 is released , will we be able to run NS2 without blobs?
  • CoreProfileCoreProfile Join Date: 2014-01-20 Member: 193363Members
    Now and then mesa developers have no plan to support depricated features.

    http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt?h=10.0&id=12484d2582a478b3ef126efe12f24c8e4a4d4db7#n10
    OpenGL Core and Compatibility context support

    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.
  • NordicNordic Long term camping in Kodiak Join Date: 2012-05-13 Member: 151995Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    I know this is about linux but I got 50fps from my intel hd4600
Sign In or Register to comment.