intel hd 4000

intel hd 4000

Discuss your problems with the latest release of the engine here. Problems with games, maps or other utilities belong in their respective forums.

Moderator: Moderators

Post Reply
User avatar
zoggop
Posts: 289
Joined: 07 Sep 2010, 18:47

intel hd 4000

Post by zoggop » 01 Nov 2012, 10:36

Has anyone else tried running Spring (91) with the hd 4000? It does run, but the startup screen gains the garbled fonts noted for other intel gpus about halfway through, and there are no shadows nor ssmf rendering. The pertinent block from the infolog is curious:

Code: Select all

[f=0000000] SDL version:  1.2.10
[f=0000000] GL version:   4.0.0 - Build 9.17.10.2867
[f=0000000] GL vendor:    Intel
[f=0000000] GL renderer:  Intel(R) HD Graphics 4000
[f=0000000] GLSL version: 4.00 - Build 9.17.10.2867
[f=0000000] GLEW version: 1.5.8
[f=0000000] Video RAM:    unknown
[f=0000000] GL info:
	haveARB: 1, haveGLSL: 0, ATI hacks: 0
	FBO support: 1, NPOT-texture support: 1, 24bit Z-buffer support: 1
	maximum texture size: 8192, compress MIP-map textures: 0
	maximum SmoothPointSize: 20, maximum vec4 varying/attributes: 16/16
	maximum drawbuffers: 8, maximum recommended indices/vertices: 1200/1200
	number of UniformBufferBindings: 60 (16kB)
(The GLSL version is listed, yet haveGLSL is 0.)
0 x

User avatar
jK
Spring Developer
Posts: 2299
Joined: 28 Jun 2007, 07:30

Re: intel hd 4000

Post by jK » 01 Nov 2012, 10:45

Intel's GLSL drivers are broken
0 x

User avatar
zoggop
Posts: 289
Joined: 07 Sep 2010, 18:47

Re: intel hd 4000

Post by zoggop » 01 Nov 2012, 20:49

meaning that most commercial games are written with arduous workarounds to intel's broken drivers?
0 x

User avatar
jK
Spring Developer
Posts: 2299
Joined: 28 Jun 2007, 07:30

Re: intel hd 4000

Post by jK » 01 Nov 2012, 20:56

Commercial OpenGL games don't support integrated graphics (=Intel) at all. And even 90% of the commercial DirectX games don't do so, too.
But now Intel started a Nvidia-like program and send out their developers to the important game studios (COD is not important! SimCity, Civ5, ... are) to adjust the games to the broken drivers. But there is one difference to Nvidia, Intel rarely updates their drivers for released GPUs (there are normally only like 2 driver updates in 3 years and then they drop the support) so bugs in their drivers are NEVER fixed. Only updating the GPU (= buying new laptop) can fix such _software_ bugs.
Intel is a pain ...
0 x

User avatar
zoggop
Posts: 289
Joined: 07 Sep 2010, 18:47

Re: intel hd 4000

Post by zoggop » 01 Nov 2012, 23:15

They seem to support this particular integrated graphics (which is brand new). I've been playing recent 3D games on it without issue (Torchlight II, Left 4 Dead 2). I'm wondering if because of the shitty Intel support / support philosophy you mention, Spring just detects an Intel card and automatically turns off anything that might break? Actually that's probably not the case; I remember using an Intel 950 with shadows, reflective units, and shaded terrain. *scratches head*
0 x

User avatar
SpliFF
Posts: 1224
Joined: 28 Jul 2008, 06:51

Re: intel hd 4000

Post by SpliFF » 02 Nov 2012, 04:48

Intel may not make great drivers but as you pointed out other more demanding games run on Intel HD. The real issue I suspect is that Nvidia drivers allow invalid GLSL to pass through when the standard requires stricter rules. ATI and Intel drivers do not run the invalid code and nvidia extensions. It is exactly the same issue that used to plague websites when IE was the dominant browser and Microsoft actively encouraged sloppy coding and proprietry techniques that made websites only work correctly in IE. Other browsers were forced to adapt by implementing Microsofts crap in the form of "Quirks Mode" and the like which only made things much worse. This situation only turned around when IE's market fell far enough that developers felt obliged to support other browsers by correctly following the relevant standards.

The main reason Spring doesn't run properly on ATI/Intel is that developers here have long taken the attitude that anyone not using Nvidia is a dickhead and can go get fucked. Even when there are genuine driver issues quite often little or no attempt is made to work around them. I base that statement on 5 years of following ATI/Intel threads on this forums.

I know for an absolute fact that Spring can run reasonably well on Intel/ATI cards, even on cards as low end as a 1950xt which is nearly 10 years old now. I know because I hacked all the invalid GLSL and offscreen context crap out of an 0.89 build and made it playable even on Mesa drivers of all things. I can't submit the changes back to Spring because I've already been told by jK several times that any contributions that disable certain high-end features by default will be reversed because, and I quote jK here, "if they aren't enabled by default they don't get enough testing". I could agree with that IF the problems reported by these unwilling beta testers ever got fixed but the usual response is to blame the drivers or user for not buying Nvidia. I can't imagine how many ATI/Intel users over the years had Spring fail on their first attempt and simply bailed for lack of interest in providing feedback. To my knowledge Spring still does not start on ATI/Linux or Intel without LoadingMT=0 added manually to .springrc (I'm happy to be corrected on this as I haven't tested LoadingMT=1 since the 0.89 build).

I've been hearing the same excuses for years now - yet Spring remains the ONLY game I own, commercial or open, that continues to fail badly on my ATI/Intel systems without manual editing of the configuration files.

Sorry jK. You are one of the most active and talented developers here, without question, and I respect your right to develop according to your interests, but I'm philosphically opposed to using releases for testing purposes and playing favourites with hardware support.

Determining why Nvidia shaders fail on ATI
How to make my game run on all graphics cards

Summary:
Yes, Intel and ATI drivers are buggy, sometimes very buggy - However Spring currently requires none of the features that trigger these bugs to be playable so they should be disabled on relevant hardware until the drivers or code are fixed or other workaround found. If users want to test unstable features then let the users turn them on, ie opt in - not opt out. If that means the feature never gets used/tested then so be it, it can't have been that important if users show no interest in enabling it.
jK wrote:Commercial OpenGL games don't support integrated graphics (=Intel) at all. And even 90% of the commercial DirectX games don't do so, too.
Even if true (which I doubt) that's MORE of a reason to want Spring to run on Intel HD. Less commercial competition means more players right? I happen to know Supreme Commander runs fine and I'm definiteately not convinced Spring has higher graphical requirements. I don't think it's fair to compare the effort/reward trade-offs of an open-source game with commercial ones. Their priority is to sell as quickly as possible to a mass market using the latest bling. Our priority is to grow the playerbase and we can do that more effectively by supporting more hardware than we can by trying to "maek shiney thingz" and force them down players throats.

@ zoggop: If you're happy to be a voluntary beta tester I'm happy to provide some test builds that will run on your system. I'm just not sure how long I can maintain this as an external patch since you always need the newest Spring to play online and my own priorities are leading me away from Spring.
0 x

dansan
Server Owner & Developer
Posts: 1192
Joined: 29 May 2010, 23:40

Re: intel hd 4000

Post by dansan » 02 Nov 2012, 08:22

I always thought it's the engines responsibility to have as much features as desired/wished/required/possible, and it's the game devs responsibility to decide which ones she uses.

If that's the case, then a small program (lobby?) could run at install/initialization time, and switch features and workarounds on/off depending on hardware+driver support. Then the engine would support as much features on each machine as possible.

The game can check upon game start which feature are enabled and tell the user if his configuration supports its game or not. Actually the lobby could do this before downloading a game, if the following existed:

A simple webapp or xmlrpc-4-lobby could tell a user/lobby which games are supported by his configuration (examining its .springrc, GL_EXT_*-dump or something).

For support .springrc-diff-2-defaults should be appended to infolog.txt.

Uh.. sorry... from a simple "IMO" in the 1st paragraph this mutated into my thoughts on "howto maximum features enablement"...
0 x

User avatar
zoggop
Posts: 289
Joined: 07 Sep 2010, 18:47

Re: intel hd 4000

Post by zoggop » 02 Nov 2012, 11:22

SpliFF wrote:@ zoggop: If you're happy to be a voluntary beta tester I'm happy to provide some test builds that will run on your system. I'm just not sure how long I can maintain this as an external patch since you always need the newest Spring to play online and my own priorities are leading me away from Spring.
Yeah, I would test it. I guess the most optimistic way of looking at patches, if you make them, is: maybe they'll get incorporated into main.
0 x

User avatar
SpliFF
Posts: 1224
Joined: 28 Jul 2008, 06:51

Re: intel hd 4000

Post by SpliFF » 02 Nov 2012, 13:07

Alright. I've got a 4-day weekend starting so i'll make some time to build a patched version of 91 and put it up on github. Are you setup to compile or do you need a binary? If so which platform?

I have an i3 laptop (HD 4000) running win7 64bit so if it runs on that I assume it should run on yours.

I'll also test under linux with the ATI 1950xt. I used to play supreme commander on that card so I know it's capable of reasonable unit counts provided the shaders are dialed back or disabled (I think it's a Shader Model 1 card doing ~ 100,000 shader ops/s). It's using the free mesa drivers rather than the proprietry fglrx so it's performance is lower than spec but I think it represents a pretty good minimum requirement (chances are a system old enough to have a card like that wont meet the minimum CPU requirements anyway). Mine is a Pentium D I think which chokes on pathfinding at around 1000 units or more.

For a laugh I'll see how it goes on my 680GTX(4GB). That thing eats frames for breakfast on any game I've thrown at it. If my previous experiments match up the game should be able to render 10's of thousands of units but the pathfinder will max out the main core at around 5k units.

Get back to you in a couple of days.
0 x

User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14601
Joined: 17 Nov 2005, 02:43

Re: intel hd 4000

Post by Forboding Angel » 12 Nov 2012, 10:05

Any updates on this spliff? I've been rather interested in this as well.
0 x

User avatar
SpliFF
Posts: 1224
Joined: 28 Jul 2008, 06:51

Re: intel hd 4000

Post by SpliFF » 12 Nov 2012, 11:50

The results for the ATI machine were interesting. Before testing I updated the machine with a new kernel and the latest mesa and x11 from the x11 git repository (in other words, the bleeding edge).

I then compiled the 91.0 release version from git and moved my .springrc config so spring would regenerate it. I tested spring with a couple of mods and maps and it basically works. I noticed some errors but they seem related to widgets (eg, red ui).

I can't say at this point why it works better. Spring and Mesa have both undergone some big changes since I tested last but at least it shows spring is capable of running on linux/ati under the right conditions.

My i3 laptop is currently running win7 so I cant test the intel issues properly until I go back to dual boot.

CONCLUSIONS

- Updating everything seems to help (try git versions of mesa if you can handle it but be warned it's not easy to install system drivers by hand).
- Try resetting your config
- Try disabling widgets and see which cause errors
- Some ATI bugs may be specific to proprietry driver (fglrx)
- Spring is better at disabling problematic features than I gave it credit for. Maybe it's recent changes in the engine.

EDIT: Hmmm. Now that I read you post again I'm not sure why I got the idea you were on linux. What OS are you using?

UPDATE: Seems to be running fine on win7/i3 laptop (intel hd something). Using default config so not sure which features are on or off.
0 x

User avatar
zoggop
Posts: 289
Joined: 07 Sep 2010, 18:47

Re: intel hd 4000

Post by zoggop » 12 Nov 2012, 23:00

EDIT: Hmmm. Now that I read you post again I'm not sure why I got the idea you were on linux. What OS are you using?
Maybe I should try it in linux--I'm running windows 8.
UPDATE: Seems to be running fine on win7/i3 laptop (intel hd something). Using default config so not sure which features are on or off.
Does your i3 have hd 3000 or hd 4000? My brother's laptop has hd 3000 and runs os x, and I recall that ssmf rendering and shadows don't work, but reflective units and terrain shading do. On mine (hd 4000 in win8), none of these features work. Hm, I should check whether ground decals render or not.
0 x

User avatar
zoggop
Posts: 289
Joined: 07 Sep 2010, 18:47

Re: intel hd 4000

Post by zoggop » 12 Nov 2012, 23:18

Image

Oops, terrain shading clearly works (this is one of those maps whose texture isn't baked at all), as do ground decals, and units appear to be shiny. It's just the lack of ssmf and shadows, then.
0 x

Post Reply

Return to “Help & Bugs”