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.