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

Closed
cumulus007 opened this Issue Dec 20, 2012 · 67 comments

Comments

Projects
None yet

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

slyon commented Dec 20, 2012

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.

timeimp commented Dec 20, 2012

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.

dos1 commented Dec 20, 2012

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.

slyon commented Dec 20, 2012

@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

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.

@ghost ghost assigned mikesart Dec 20, 2012

dos1 commented Dec 21, 2012

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!

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

Are the minimum specs documented anywhere?

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
`

slyon commented Dec 22, 2012

@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.

wimmez commented Dec 27, 2012

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.

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

mcoumans commented Jan 3, 2013

@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.

Agmenor commented Jan 23, 2013

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.

Reidoon commented Jan 25, 2013

Can you be more clear with your work around please?

Where do I stick
MESA_GLSL_VERSION_OVERRIDE=130

Yulike commented Feb 4, 2013

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

Member

jljusten commented Feb 4, 2013

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

Yulike commented Feb 4, 2013

"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?

dos1 commented Feb 4, 2013

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.

Yulike commented Feb 5, 2013

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?

Yulike commented Feb 5, 2013

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

Member

johndrinkwater commented Feb 5, 2013

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

Yulike commented Feb 5, 2013

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

I can confirm this on Ubuntu 12.10, Intel graphics.

Yulike commented Feb 6, 2013

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.

Would mucho appreciate this issue to be resolved :)

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

Yulike commented Feb 8, 2013

Seems to affect a lot of people...

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

Yulike commented Feb 8, 2013

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

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.

damianb commented Feb 13, 2013

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.

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% 👎

Keep pushing in serveral forums an ask for help from Pros. 👍

slyon commented Feb 13, 2013

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?

Member

MrSchism commented Feb 13, 2013

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.

Member

MrSchism commented Feb 13, 2013

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.

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.

Member

MrSchism commented Feb 13, 2013

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

Yulike commented Feb 13, 2013

So is it possible for Valve to fix at all?

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.

Member

MrSchism commented Feb 15, 2013

I got the Tux item almost instantly.

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

This issue is closed - continue conversation there.

@jorgenpt jorgenpt closed this Feb 15, 2013

@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.

damianb commented Feb 16, 2013

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.

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

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.

Yulike commented Feb 17, 2013

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment