protonscr

Team Fortress 2 doesn't run on Intel GPUs without GLSL 1.3 support

steamclosed Feature RequestMOVED: Team Fortress 2Intel driversreviewed
ValveSoftware/steam-for-linux#19 · opened 2012-12-20 by ghost · updated 2019-07-18 · 67 comments · github
?ghost 2012-12-20 github

While TF2 runs fine on Windows running on machines like mine (pre-HD integrated grahpics, e.g. the 4500mhd), the native Linux port fails to do anything more than to show a black screen, while the game loads and cycles through introduction screens and the main menu, with sound working perfectly fine.

The underlying issue seems to be lacking GLSL 1.3 support for said hardware. I cannot tell whether this is a software (Mesa) or a hardware problem; even under Windows, I get results of OpenGL 2.1 compliance at most. The game seems to be somehow less demanding in DirectX mode, or whatever reason Valve came up with.

In the game's log, several error messages related to failing shader compilation can be found. Numerous cases of this, and as shown in video, can be found in this Discussion thread: http://steamcommunity.com/app/221410/discussions/6/846939071071956036/#p1

A filthy, not-so-much-working workaround was proposed by me, which merely forces the game engine to assume we're running it on a GLSL 1.3-compatible system. Of course, this is asking for trouble, and the little useful results can also be found in this thread.

"Workaround", forcing GLSL version to minimum required 1.3:

MESA_GLSL_VERSION_OVERRIDE=130

Sslyon 2012-12-20 github

I can confirm this issue, observing the very same behaviour on my Intel GMA HD (Ironlake, 1st Gen i5).

PS: Someone should add a "Intel drivers" label to this issue.

Ttimeimp 2012-12-20 github

When launching TF2 with nVidia GeForce 6600 GT, it complains about there being a lack of an 'entry point'.

Researching around leads me to OpenGL 1.3 'n' stuff - which is odd, as this card seems to play TF2 OK under Windows.

Pplay3man 2012-12-20 github

Intel GMA 4500m, in windows it works fine, in wine on ubuntu too, but native version didn't...

Ddos1 2012-12-20 github

Debian sid amd64, Ivybridge (HD 4000)

All I can get from TF2 is http://i48.tinypic.com/28a55jq.png
Menu works, music plays, but graphics are a bit boring ;)

glxinfo says:

OpenGL version string: 3.0 Mesa 8.0.5
OpenGL shading language version string: 1.30

Tried workaround with locale C, but with no luck.

This PC haven't seen Windows at all (and probably won't in future too), so I cannot say if it worked on it or not. Haven't tried under wine.

Sslyon 2012-12-20 github

@dos1 yo! It should work on HD4000. You should try to use Mesa 9.0.1, as this is the recommended release, due to: http://intellinuxgraphics.org/2012Q4.html

Pplay3man 2012-12-20 github

@cumulus007 set intel drivers tag on this bug report please

Jjpgunter 2012-12-20 github

I get the same thing with Intel HD3000 graphics

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile
OpenGL version string: 2.1 Mesa 9.1-devel
OpenGL shading language version string: 1.20

I am running the latest from xorg-edgers.

Ddos1 2012-12-21 github

Hi @slyon! :)
Yes, that was it. I have compiled Mesa 9.0.1 (it's not available yet from Debian repositories) and TF2 now works like a charm - thanks for suggestion!

Pplay3man 2012-12-21 github

@jpgunter You have Ironlake = Intel HD (2010 series) which support only OpenGL 2.1

Jjpgunter 2012-12-21 github

@play3man Does my graphics chip need to support something higher to play tf2?

Pplay3man 2012-12-21 github

@jpgunter In linux yes... or... with linux steam yes. But it's playable in linux by Wine with windows version of steam. So I hope native version of TF2 will be playable too...

Jjpgunter 2012-12-21 github

Are the minimum specs documented anywhere?

Ppepijndevos 2012-12-22 github

So the final answer is that you need a HD 3000/4000?

I'm getting sound, but a lot of messages saying Compile of "shadowmodel_ps20" Failed: followed by what looks like C code.

This is my system info:

Processor Information:
    Vendor:  GenuineIntel
    Speed: 1300 Mhz
    2 logical processors
    2 physical processors
    HyperThreading:  Unsupported
    FCMOV:  Supported
    SSE2:  Supported
    SSE3:  Supported
    SSSE3:  Supported
    SSE4a:  Unsupported
    SSE41:  Unsupported
    SSE42:  Unsupported

Network Information:
    Network Speed:  

Operating System Version:
    Linux (64 bit)
    Kernel Name:  Linux
    Kernel Version:  3.6.10-1-ARCH
    X Server vendor:  The X.Org Foundation
    X Server release:  11300902

Video Card:
    Driver:  Intel Open Source Technology Center Mesa DRI Mobile Intel® GM45 Express Chipset x86/MMX/SSE2

    Driver Version:  2.1 Mesa 9.0.1
    Desktop Color Depth: 24 bits per pixel
    Monitor Refresh Rate: 60 Hz
    VendorID:  0x8086
    DeviceID:  0x2a42
    Number of Monitors:  1
    Number of Logical Video Cards:  1
    Primary Display Resolution:  1366 x 768
    Desktop Resolution: 1366 x 768
    Primary Display Size: 10.08" x 5.67"  (11.54" diag)
                                            25.6cm x 14.4cm  (29.3cm diag)
    Primary VRAM Not Detected

Sound card:
    Audio device: Intel Cantiga HDMI

Memory:
    RAM:  1938 Mb

Miscellaneous:
    UI Language:  English
    LANG:  C
    Microphone:  Not set
    Total Hard Disk Space Available:  131031 Mb
    Largest Free Hard Disk Block:  105801 Mb
`
Sslyon 2012-12-22 github

@pepijndevos If you want to play now – yes! In the future either the Intel/Mesa driver could be extended to support the missing features, or Valve could change the Source engines DirectX to OpenGL translation layer to have lower requirements.

Pplay3man 2012-12-26 github

nothing new guys?

Wwimmez 2012-12-27 github

For Ubuntu 12.04 players, I found this PPA: https://launchpad.net/~ubuntu-x-swat/+archive/mesa9 that upgrades your MESA to v9 which fixed this issue on my Intel Core i3 (Sandy Bridge) CPU.

?ghost 2013-01-03 github

@mcoumans The issue you referred to is not the same, since you are actually able to play the game.

Mmcoumans 2013-01-03 github

@cumulus007 Yes, but only by stopping all programmes, logging out and logging back into another Desktop environment. Furthermore, the info may help devs to find the core of the problem.

AAgmenor 2013-01-23 github

Consider this as a "Me too!" post. I have the same symptoms (game loading with sound but screen remains desperatly black) with same hardware, including Intel GMA 4500M integrated graphics card on Ubuntu 12.10.

?ghost 2013-01-25 github

Can you be more clear with your work around please?

Where do I stick
MESA_GLSL_VERSION_OVERRIDE=130

Pplay3man 2013-02-03 github

Nothing new guys?

YYulike 2013-02-04 github

Update would be nice, maybe the next graphics driver update will update GLSL to 1.3. I'm on Ironlake HD Graphics.

Jjljusten 2013-02-04 github

The related Mesa feature request is at https://bugs.freedesktop.org/show_bug.cgi?id=59187.

YYulike 2013-02-04 github

"It should be possible to implement the missing functionality on Ironlake. The code is open source, and the hardware documentation is freely available on the web(*), so in theory, anyone could make progress toward this.

Sadly, our team is extremely busy working on newer hardware and is unlikely to have time to implement GL 3.0 support for Ironlake...at least not any time soon. I sincerely apologize for this; we'd all love to see it happen too."

So that's a "**** off and buy newer hardware." response?

Ddos1 2013-02-04 github

Difference is that you can implement it by yourself without fighting with reverse engineering, cause documentation is available. It's highly probable that someone will step up and implement it, but it's hard to say when that will happen.

Pplay3man 2013-02-04 github

So, when I have GMA 4500M... I can forget for support?

YYulike 2013-02-05 github

Would it be possible to get a word from anyone at Valve? A simple "we wont fix" or "we're working on it" whatever, just a response?

YYulike 2013-02-05 github

So neither side are willing to take the blame, then that's a definite no. It will not get fixed.

Jjohndrinkwater 2013-02-05 github

Valve are saying: this is a feature of their game (wontfix), nvidia drivers support it, intel & amd drivers need some work… and they do need work. If you own AMD, forward your comments to http://devgurus.amd.com/community/steam-linux

YYulike 2013-02-05 github

This bug also, as I expected, effects Counter-Strike: Source...

Pplay3man 2013-02-06 github

I thinks CS Source tag on this will be good... So also others Source games will be unplayable... Portal 1/2 :(

Ddavidgomes 2013-02-06 github

I can confirm this on Ubuntu 12.10, Intel graphics.

YYulike 2013-02-06 github

Is there noway they can implement a fullback mode? CS: Source can run on as low as DX7 so I don't see why OpenGl 3 should be a requirement.

Pplay3man 2013-02-06 github

True!

Ggright6678 2013-02-06 github

Would mucho appreciate this issue to be resolved :)

Aam1github 2013-02-07 github

I can confirm this too for CS:S on a gentoo, 64bit, latest steam, intel gma 4500mhd.

YYulike 2013-02-08 github

Seems to affect a lot of people...

Aam1github 2013-02-08 github

I've reported a bug on freedesktop:
https://bugs.freedesktop.org/show_bug.cgi?id=60481

Pplay3man 2013-02-08 github

Thanks, i hope it will be fixed soon.

YYulike 2013-02-08 github

I responded asking for it to be fixed as well. Also it effects Intel HD Ironlake too.

TtheCapypara 2013-02-08 github

Can confirm that, and I'm really hoping for (A) a low-level opengl mode for the source engine (like -dxlevel for DirectX) and/or (B) a driver patch.

Kkatanacrimson 2013-02-13 github

Would like to see this change, rather disappointing seeing Valve handling windows & hardware far better than on linux, when they're hoping to draw the market towards linux instead. Kinda pathetic.

Aam1github 2013-02-13 github

Because this is not a Valve-issue and Intel wouldn't fix it, i'm looking for people who has the knowledge in several Linux-forums, such as Gentoo ( http://forums.gentoo.org/viewtopic-t-951050.html ). I hope i would find some people who can patch this. My knowledge about changing drivers is 0% :-1:

Keep pushing in serveral forums an ask for help from Pros. :+1:

Pplay3man 2013-02-13 github

Valve created a game which runs in Windows with Intel GPU.
Valve ported a game, that same game, which doesn't run in Linux with the same Intel GPU.

(Like a "layman") I doesn't care about Direct X or Open GL (like a "layman") I doesn't know what it is. I just want that game which runs in Windows and it's native ported to Linux, play on Linux! Drivers support OpenGL 2.1, that it's OK. But that game wants something more on Linux, than it's wants on Windows. So, I think, this is Valve issue.

Changing drivers is just workaround, nothing more, I think.

Sslyon 2013-02-13 github

Well, I don't think it's a workarround. Both are valid fixes for this issue. Valve could fix it more easily, but won't do it.. What about some fundraising for someone who implements the missing part in the driver?

MMrSchism 2013-02-13 github

Can confirm that, and I'm really hoping for (A) a low-level opengl mode for the source engine (like -dxlevel for DirectX) and/or (B) a driver patch.

I think that A is probably the better option and shouldn't be impossible to implement. A better option would be automatic detection of OGL implementation and requirements based on game and settings

(Like a "layman") I doesn't care about Direct X or Open GL (like a "layman") I doesn't know what it is. I just want that game which runs in Windows and it's native ported to Linux, play on Linux! Drivers support OpenGL 2.1, that it's OK. But that game wants something more on Linux, than it's wants on Windows. So, I think, this is Valve issue.

Wikipedia has a good article why certain DirectX doesn't directly equate to OpenGL in features. Valve is not responsible for what features and capabilities the different versions of DirectX and OpenGL are capable of, nor are they responsible for what DirectX/OpenGL version is available for a given driver or hardware device.

Pplay3man 2013-02-13 github

@MrSchism I think, that Wine translating DirectX to OpenGL. Just like a Valve's translating layer in Source Engine. So why I can play TF2 in Wine, but native version doesn't work?

MMrSchism 2013-02-13 github

Actually Wine uses D3D (DirectX's Direct3D) DLLs, from what I can recall.

More than that, I think that DirectX's default shading language is HLSL, not GLSL. This means that many inconsistencies occur because of the necessity to use GLSL for OpenGL which is not totally analogous (version wise) to features available in HLSL.

?ghost 2013-02-13 github

It doesn't. There is no natively working D3D implementation for Linux.
Wine's built-in D3D stack (no Windows DLLs involved) interprets calls and
converts them to OpenGL equivalents.

MMrSchism 2013-02-13 github

It doesn't. There is no natively working D3D implementation for Linux.
Wine's built-in D3D stack (no Windows DLLs involved) interprets calls and
converts them to OpenGL equivalents.

I was basing it off of the fact that I usually only see TF2 functioning with d3dx#.dll

YYulike 2013-02-13 github

So is it possible for Valve to fix at all?

TtheCapypara 2013-02-15 github

Well at least I can get the Tux promo item by juts starting the game and waiting a few minutes. But the game is still not working here.

MMrSchism 2013-02-15 github

I got the Tux item almost instantly.

Pplay3man 2013-02-15 github

Same here. Valve!!! Or someone else, please fix this...!

Jjorgenpt 2013-02-15 github

Issue transferred to ValveSoftware/Source-1-Games#19.

This issue is closed - continue conversation there.

MMajkl578 2013-02-15 github

@jorgenpt: This, what are you doing with issues, is really BAD and UGLY solution. Please stop it and find proper way, which wouldn't mess up everything.

Kkatanacrimson 2013-02-16 github

Seconding @Majkl578. please...don't ever do that again. It's horribly disruptive to the issue, we lose our issue subscriptions, and now it's an absolutely AWFUL time trying to figure out who said what in among all the fucking butchered comments that you had to transfer.

Pplay3man 2013-02-16 github

I'm with you guys +1

MMajkl578 2013-02-16 github

Guys, I created an issue for this, #1817, since I think this is really serious problem.

?ghost 2013-02-16 github

Valve, please clarify on your hardware support. This is a terrible situation and a big letdown for any Linux gaming enthusiast. I'm not going to buy a new laptop just to be able to play a game that was released even before my GPU entered the market! Absolutely ridiculous.

YYulike 2013-02-17 github

Can someone re-open this, it should not be closed until it's fixed.

BBenjaminRH 2013-02-17 github

+1 I'm experiencing this issue too, and having bought games for Linux, I'd like to be able to play them.

MMajkl578 2013-02-17 github

Since @jorgenpt messed everything up (see #1817 for more details about it), you've to continue your discussion at https://github.com/ValveSoftware/Source-1-Games/issues/19.

Launch options

Upstream links