The forum

Starcraft 2 Detecting Wrong Graphics Card

Author Replies
gallifreyan Saturday 16 July 2016 at 21:21
gallifreyanAnonymous

Hey everyone,

 

So this one has me completely stumped.  I have installed SC2 on POL (latest version), via Battle.Net.  U p until yesterday, I was able to run it just fine, but then I went and tinkered with the Wine configuration in POL, thinking I would be able to make it look better.  Now, whenever I run SC2 it says I have a graphics card of NVidia GeForce 8800, but in reality, I have a Radeon HD 4870.  As a result, the in-game graphics are all pixelated, extrememly slow, and unplayable.

Details:  At no place have I ever specified anything about an NVidia card.  My linux drivers (I run kubuntu 15.10) are set to the defaul X.org and I am not using the fglrx drivers, since they no long support my graphics card anyway.  I attempted a clean reinstall of battle.net and SC2, but it does the same thing.  I went into the Wine config, and confirmed that the registry shows the correct DWORD keys for the Device ID.  I am running on Wine 1.9.3, emulating Windows XP.

When I get access to my PC again, I can post additional information, including lscpi output and the SC2 graphics log file.

Has anyone seen this issue before???  Google yields nothing, and I am at my wits end by now.  Please help, anyone!

 

Edit: More info from lspci | grep VGA

lspci | grep VGA
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV770 [Radeon HD 4870]

And my latest StarCraft 2 Graphics log:

 

GFX  15:50:47.901 ====================================================================================================
GFX  15:50:47.901 StarCraft II (B44401)
GFX  15:50:47.901
GFX  15:50:47.901 Executable              C:\Program Files\StarCraft II\Versions\Base44401\SC2.exe
GFX  15:50:47.901 <Parameters>            -sso=1 -launch -uid s2_enus
GFX  15:50:47.901 Parent Executable       \Device\HarddiskVolume1\Program Files\StarCraft II\Support\SC2Switcher.exe
GFX  15:50:47.901 Grandparent Executable  \Device\HarddiskVolume1\Program Files\Battle.net\Battle.net.7575\Battle.net.exe
GFX  15:50:47.901 LocalTime               2016-07-16 15:50:47.901
GFX  15:50:47.901 <ComputerUser>          [REDACTED]
GFX  15:50:47.901 <ComputerName>          [REDACTED]
GFX  15:50:47.901 <Exe.Architecture>      x86
GFX  15:50:47.901 <Version>               3.4.0.44401
GFX  15:50:47.901 <DataBuild>             B44401
GFX  15:50:47.901 <CodeBranch>            branches/SC2.3.4
GFX  15:50:47.901 <CodeRevision>          302382
GFX  15:50:47.901 <Locale.Assets>         enUS
GFX  15:50:47.901 <Locale.Data>           enUS
GFX  15:50:47.901 <Locale.Install>        enUS
GFX  15:50:47.901 <AccountCountry>        USA
GFX  15:50:47.901 <AgentVersion>          2.6.3.5065
GFX  15:50:47.901 ====================================================================================================
GFX  15:50:47.901 DXGI: Available
GFX  15:50:48.901 Resource Cache Override Variable: 0MB
GFX  15:50:48.901 Resource Cache: 1024MB Win32
GFX  15:50:48.901 Resource Cache Sound:  102MB
GFX  15:50:48.901 Resource Cache Common: 921MB
GFX  15:50:48.901 Resource Cache VRam:   0MB
GFX  15:50:49.165 Selected display mode 1280x1024x0 with format D3DFMT_X8R8G8B8 and error delta 0
GFX  15:50:49.165 Adapter [0]: NVIDIA GeForce 8800 GTX (VendorID 0x10de DeviceID 0x191)
GFX  15:50:49.165 Attempting CreateDevice on adapter [0] (VendorID 0x10de DeviceID 0x191)
GFX  15:50:49.188 CreateDevice succeeded
GFX  15:50:49.188 Using adapter [0]
GFX  15:50:49.188 Floating point render targets supported.
GFX  15:50:49.430 DXGI Adapter Name: NVIDIA GeForce 8800 GTX
GFX  15:50:49.430 VRAM Detected: Dedicated [1024MB] Shared [0MB] (DXGI)
GFX  15:50:49.430 VRAM Override Variables: Dedicated [0MB] Shared [0MB]
GFX  15:50:49.430 Initialized D3D9 GraphicsDevice: NVIDIA GeForce 8800 GTX (Driver Version: 8.18.13.4052, VRAM: 1024MB, SVMEM: 0MB).
GFX  15:50:49.678 Selected display mode 1280x1024x0 with format D3DFMT_X8R8G8B8 and error delta 0
GFX  15:50:49.681 VRAM texture space: 768MB
GFX  15:50:54.441 PerfNotifiers initialized
GFX  15:51:17.215 DirectX call m_device->TestCooperativeLevel() failed with error code D3DERR_DEVICELOST

 

 

Edited by gallifreyan

gallifreyan Monday 18 July 2016 at 6:09
gallifreyanAnonymous

Update!  I found the solution, so I will put it here in case someone needs it.

I did two major changes to my system:

  • I did a distribution upgrade from 15.10 to 16.04.  I believe this helped in better default driver support for my older graphics card (Radeon 4870).
  • sudo ppa-purge oibaf/graphics-drivers

I think that second command was actually the key, although I had been meaning to doa  dist-upgrade for a while.  The oibaf ppa was originally used to get driver updates for some legacy stuff, but an upgrade while messing with my graphics settings must have broke something bad.  As a result, running the following command gave me this output:

> glxinfo | grep -i render

...
OpenGL renderer string: Gallium 0.4 on llvmpipe
...

If you see that llvmpipe when running the command, you know you have the exact same issue as me, and the best way to fix it is to revert your drivers to not use llvmpipe.  After fixing my issue, I had:

OpenGL renderer string: Gallium 0.4 on AMD RV770

Hope this helps somebody else!