Bug 38182

Summary: "Trine" Game does not work with r600g (Card: HD2600). Complains about shader compiler error.
Product: Mesa Reporter: da1l6 <da1l6>
Component: Drivers/DRI/R600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTOURBUG QA Contact:
Severity: normal    
Priority: medium CC: sa
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Trine log file

Description da1l6 2011-06-11 05:19:04 UTC
Created attachment 47848 [details]
Trine log file

The Game "Trine" (from HumbleBundle 3) does not run with the r600g driver, even with all graphics settings to minimum.

Message displayed:
"Fatal error: Error compiling shaders. Make sure your GPU supports Shader Model 3.0. Additional details may be found in the log."

Logfile excerpt (Full log attached):
INFO: Compiling program depthpass_mesh_pixel entry point mesh_deferred_all
ERROR: Cg error: 1 1 (The compile returned an error.)
ERROR: data/shader/cg/depthpass_mesh_pixel.cg(26) : error C5102: output semantic attribute "COLOR" has too big of a numeric index (1)
data/shader/cg/depthpass_mesh_pixel.cg(27) : error C5102: output semantic attribute "COLOR" has too big of a numeric index (2)
data/shader/cg/depthpass_mesh_pixel.cg(26) : error C5041: cannot locate suitable resource to bind parameter "oColor1"
data/shader/cg/depthpass_mesh_pixel.cg(27) : error C5041: cannot locate suitable resource to bind parameter "oColor2"

Hardware:
01:00.0 VGA compatible controller: ATI Technologies Inc M76 [Radeon Mobility HD 2600 Series]

Mesa:
OpenGL renderer string: Gallium 0.4 on AMD RV630
OpenGL version string: 2.1 Mesa 7.11-devel (git-da8b4c0)

OS: Linux 2.6.39.1 (Archlinux)
Comment 1 Sven Arvidsson 2011-06-11 05:39:34 UTC
It's working fine here with current git on a 5670 (and have for some time).

Are you quite sure that you're using r600g? What version of Trine are you running?
Comment 2 da1l6 2011-06-11 06:21:18 UTC
(In reply to comment #1)
> It's working fine here with current git on a 5670 (and have for some time).
> 
> Are you quite sure that you're using r600g?
Yes, as you can see from the OpenGL renderer string in my initial posting.

> What version of Trine are you running?
Version 1.08 (AMD64)

da1l6
Comment 3 Sven Arvidsson 2011-06-11 08:00:25 UTC
(In reply to comment #2)
> > Are you quite sure that you're using r600g?
> Yes, as you can see from the OpenGL renderer string in my initial posting.

It's quite easy to have a game accidently pick up another driver if something goes wrong. Have you made sure by setting LIBGL_DEBUG=verbose and checking terminal output? You should get something like 

 libGL: OpenDriver: trying /path/to/r600_dri.so
Comment 4 da1l6 2011-06-11 08:26:00 UTC
Damn, this stupid blob tries to mix it's set of libaries with system libs, fails and blames it on the GPU.

$ LIBGL_DEBUG=verbose ./trine-bin64 
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/tls/r600_dri.so
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/r600_dri.so
libGL error: dlopen /usr/lib/xorg/modules/dri/r600_dri.so failed (./lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/xorg/modules/dri/r600_dri.so))
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/swrast_dri.so
Fatal error: Error compiling shaders. Make sure your GPU supports Shader Model 3.0. Additional details may be found in the log.


Thanks Sven
Comment 5 Sven Arvidsson 2011-06-11 09:16:10 UTC
Just deleting or moving the libraries shipped with the game is usually enough to get it running, but I guess you already figured this out :)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.