Bug 35150

Summary: Starcraft 2 on wine on evergreen doesn't show login screen
Product: DRI Reporter: David Mills <d.mills-dri>
Component: GeneralAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: XOrg git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Wine output log none

Description David Mills 2011-03-09 06:05:10 UTC
Created attachment 44274 [details]
Wine output log

After having compiled mesa from git (20110309), starcraft 2 shows the loading screen, then goes blank with only the mouse cursor visible.

A reset is needed to recover.

My machine is an intel core i5 480m with a radeon HD 5870 graphics card.

I've attached the output from wine.

Please tell me what other information you might need.
Comment 1 Henri Verbeet 2011-03-09 06:25:45 UTC
You should give r600g a try, it works a bit better, though it still had some problems with SC2 last time I tried. The classic driver isn't getting much development anymore.
Comment 2 David Mills 2011-03-09 06:39:16 UTC
How will I know I'm using r600g? (I'm currently recompiling mesa with dri-drivers = r600 only....)
Comment 3 Henri Verbeet 2011-03-09 06:46:42 UTC
You need at least --enable-gallium-r600, an can just use --with-dri-drivers="". Note that you need to build a 32-bit driver for Wine. With WINEDEBUG="+wgl" the first couple of lines ("GL renderer") should mention Gallium.
Comment 4 David Mills 2011-03-10 00:57:23 UTC
OK, I've recompiled using the latest gallium (20110309)

Starcraft 2 starts, but most/all textures aren't shown (this counts for cinematics, the interface background and in game)

Wine is giving the following errors which seem to correspond:

err:d3d_surface:surface_allocate_surface >>>>>>>>>>>>>>>>> GL_INVALID_VALUE (0x501) from glTexImage2D @ ../../../wine/dlls/wined3d/surface.c / 1095
---SNIP---
err:d3d_surface:surface_upload_data >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glCompressedTexSubImage2DARB @ ../../../wine/dlls/wined3d/surface.c / 994


The above repeated many times.

Cinematics/ingame graphics are also very slow (as in slide show) but that might just be a symptom of what is causing the texture problems.

A google says this might be S3TC related, so I'll try re-compiling with support enabled to test. I find it strange that SC2 was marked as supported up until December on RadeonProgram in that case though.

The could very well be pebkac, so any hints / links / man pages are welcome.

I'll post an update to show what I've found

David
Comment 5 Tobias Jakobi 2011-03-10 01:01:30 UTC
You need a 32-bit (!) compile of libtxc_dxtn. Use for example Marek's maintained version of the library from here:
http://cgit.freedesktop.org/~mareko/libtxc_dxtn/
Comment 6 Tobias Jakobi 2011-03-10 01:03:49 UTC
(In reply to comment #4)
> A google says this might be S3TC related, so I'll try re-compiling with support
> enabled to test. I find it strange that SC2 was marked as supported up until
> December on RadeonProgram in that case though.
Recompiling mesa? Won't have any effect, since libtxc_dxtn is dynamically loaded when it is found. Don't just believe everything that is said on Phoronix ;) *g*
Comment 7 David Mills 2011-03-10 01:23:40 UTC
Thanks, some googleing already pointed me to libtc_dxtn and the enviroment variable.

OK, enabling S3TC got the textures to rendre (more or less) OK.

Still some texture tearing but that should be expected ATM.

The game still runs slideshow slow however (even though the interface in itself is super fluid). I'll look into what exactly is causing that later on, my gut says software fallback, but I don't have a mesa-hardened gut yet ;) (got to go work a bit).

Thanks for your help.

David
Comment 8 Jerome Glisse 2011-03-10 09:34:43 UTC
So beside being slow it works ? Closing bug then

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.