Bug 102017

Summary: Wrong colours in Cities Skyline
Product: Mesa Reporter: Marcin Gałązka <marcin.galazka>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED NOTABUG QA Contact: mesa-dev
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Screenshot from game
Screenshot from menu
Dump from glxinfo
Dump from lspci (gfx only)
in-game screenshot: blank surfaces
in-game data view has correct colours

Description Marcin Gałązka 2017-08-02 18:44:40 UTC
Colours in Cities Skyline are really wrong, see attached screenshots. A weird thing is that the main menu has a black background - compare with http://www.wsgf.org/f/u/imagecache/node-gallery-display/contrib/dr/28660/menu_21x9.jpg. The same happens for map loading screens.

I use Ubuntu 17.04 with Obaif PPA, so I have more or less Git Mesa. See attached output from glxinfo. The game is run from Steam. I tried to use stock Ubuntu Mesa, but IIRC the result was the same.

My graphics card is Saphire Radeon HD 6950. A dump from lspci for the graphics card is attached.

BTW - Since I have 2 identical graphics card and the second one sits unused - if any Mesa developer is interested I can donate one card. Not necessarily in the context of fixing this bug (would be nice though), but if it would help with further development of r600 driver - just let me know.
Comment 1 Marcin Gałązka 2017-08-02 18:45:25 UTC
Created attachment 133206 [details]
Screenshot from game
Comment 2 Marcin Gałązka 2017-08-02 18:45:42 UTC
Created attachment 133207 [details]
Screenshot from menu
Comment 3 Marcin Gałązka 2017-08-02 18:46:13 UTC
Created attachment 133208 [details]
Dump from glxinfo
Comment 4 Marcin Gałązka 2017-08-02 18:46:38 UTC
Created attachment 133209 [details]
Dump from lspci (gfx only)
Comment 5 Gert Wollny 2017-08-02 21:20:57 UTC
Can you also run the game from the command line and see whether there are any error messages, specifically whether you get any messages saying something like 

  r600_shader_select - Failed to build shader variant (type=1) -1
  r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !

In this case it might be a duplicate of 

  https://bugs.freedesktop.org/show_bug.cgi?id=99349

Best, 
Gert
Comment 6 MWATTT 2017-08-03 03:06:34 UTC
This game always worked fine for me with an HD 5770, and is still OK with Oibaf PPA. It was also OK with an HD 4850.
The problem might be specific to Cayman.

Can you try running the game with the environement variable "R600_DEBUG=nosb"?
Comment 7 Kenneth Graunke 2017-08-03 05:22:48 UTC
You might also want to try with UNITY_DISABLE_GRAPHICS_DRIVER_WORKAROUNDS=yes - Cities Skylines has broken in the past due to bugs in Unity (which were fixed in a newer version of the engine, but the game hadn't updated yet).
Comment 8 Marcin Gałązka 2017-08-03 16:17:40 UTC
@Kenneth UNITY_DISABLE_GRAPHICS_DRIVER_WORKAROUNDS=yes didn't help unfortunately. (I tried it before IIRC).

@MWATTT R600_DEBUG=nosb didn't change anything as well.

@Gert The game requires Steam, so I cannot run it 'fully' from command line. I run 'steam' from the terminal and then start the game inside Steam. IIRC for other games it used to print game-related messages, but I cannot guarantee that the output isn't redirected in some way. Anyway I cannot see any messages that could help with the problem.
Comment 9 Thomas Jollans 2017-08-22 20:01:26 UTC
I'm having the same issue, with Ubuntu 17.04 stock mesa and r600 (HD 6870)

It looks to me like an issue with textures not being drawn; Everything is displayed with nice reflective surfaces. In the in-game data views (where most surfaces are blank), the colours are largely fine, but there are some glitches in details (e.g. water, road bridges). 

I've just upgraded from Ubuntu 16.04 LTS. Before the upgrade, everything worked beautifully with the same game version.
Comment 10 Thomas Jollans 2017-08-22 20:03:15 UTC
Created attachment 133678 [details]
in-game screenshot: blank surfaces
Comment 11 Thomas Jollans 2017-08-22 20:03:44 UTC
Created attachment 133679 [details]
in-game data view has correct colours
Comment 12 Timothy Arceri 2017-08-22 22:31:26 UTC
(In reply to Thomas Jollans from comment #9)
> I'm having the same issue, with Ubuntu 17.04 stock mesa and r600 (HD 6870)
> 
> It looks to me like an issue with textures not being drawn; Everything is
> displayed with nice reflective surfaces. In the in-game data views (where
> most surfaces are blank), the colours are largely fine, but there are some
> glitches in details (e.g. water, road bridges). 
> 
> I've just upgraded from Ubuntu 16.04 LTS. Before the upgrade, everything
> worked beautifully with the same game version.

If you can figure out which version of Mesa is used by 16.04 LTS and 17.04, I would suggest doing a git bisect to find the change that broke things. Bisecting the commit will greatly increase the chance of this being fixed.

Feel free to ask for help on the #dri-devel freenode channel if you need assistance.
Comment 13 MWATTT 2017-08-23 02:38:41 UTC
I definitively can't reproduce this bug, even with Ubuntu 17.04 stock mesa. It might be specific to some high end cards. Which game settings do you use?
Comment 14 Gert Wollny 2017-08-23 20:26:13 UTC
Maybe you're missing libtxc_dxtn? According to the glxinfo the dxt* texture compression extensions are not available.
Comment 15 Marcin Gałązka 2017-08-23 20:52:08 UTC
@Gert - great catch! It seems that Steam provided via official Ubuntu/Canonical repos depends on libtxc-dxtn-s2tc:i386 only so one need to install libtxc-dxtn-s2tc:amd64 manually. See https://bugs.launchpad.net/ubuntu/+source/steam/+bug/1684755, https://github.com/ValveSoftware/Dota-2/issues/1213 for some more details.

After installing amd64 package the game appears to look fine. I suppose that we can close this issue. (?)
Comment 16 Timothy Arceri 2017-08-23 23:29:16 UTC
Hopefully we can enable this but default soon, as far as I can tell the patent only has just over a month til it expires \o/
Comment 17 Thomas Jollans 2017-08-25 19:15:30 UTC
Thanks everyone for looking into this. I can confirm that the issue was a missing libtxc_dxtn for me too.

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.