A problem with Mesa

Questions about Wine on Linux
Locked
ls_boy
Level 2
Level 2
Posts: 45
Joined: Sat Dec 12, 2015 3:24 pm

A problem with Mesa

Post by ls_boy »

I just recently bought a RX 460 and switch to Mesa.
I still quite a newbie with compiling Mesa on my own.
With nvidia's proprietary drivers Hitman:A, Sniper
Elite V2, and Thief worked. Now, they will not,
With 2.7(S) & 2.8(S) wine displays pop-up boxes.
The messages is below. I must tell you that I compiled
wine after installing Mesa.
With, DX9 games things are great. The new CSMT
works really well. Deus Ex: HR works without
strictdrawordering. In fact I clean out my old overriddes.
All of my native linux games run fine. I don't know what
could be the problem. Or, most importantly how to
diagnose this issue.

Code: Select all

Failed to initialize DirectX. This game  requires
    a DirectX 10-capable graphics card.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: A problem with Mesa

Post by Bob Wya »

@ls_boy,

That's not really enough information...
  • What distribution are you using?
  • Why are you compiling Mesa and Wine? Are you using a source-based distribution?
What's the output from:

Code: Select all

glxinfo | grep OpenGL
What's the console output from running one of the problematic games with this debugging channel:

Code: Select all

export WINEDEBUG=-all,+d3d
(That can be quite a long log - so best to post it on a pastebin-type site...)
See WineHQ FAQ: 10.1.1 How can I get a debugging log (a.k.a. terminal output)?

Ta
Bob
ls_boy
Level 2
Level 2
Posts: 45
Joined: Sat Dec 12, 2015 3:24 pm

Re: A problem with Mesa

Post by ls_boy »

  • Cross Linux from Scratch svn(with gcc 7.1.0)

    That is the reason why I'm compiling Mesa/Wine
    I'm using up to date packages. LLVM-git, libdrm, etc.
  • glxinfo

    Code: Select all

    OpenGL vendor string: X.Org
    OpenGL renderer string: Gallium 0.4 on AMD POLARIS11 (DRM 3.10.0 / 4.11.2, LLVM 5.0.0)
    OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.2.0-devel (git-d132bb36ce)
    OpenGL core profile shading language version string: 4.50
    OpenGL core profile context flags: (none)
    OpenGL core profile profile mask: core profile
    OpenGL core profile extensions:
    OpenGL version string: 3.0 Mesa 17.2.0-devel (git-d132bb36ce)
    OpenGL shading language version string: 1.30
    OpenGL context flags: (none)
    OpenGL extensions:
    OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.2.0-devel (git-d132bb36ce)
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
    OpenGL ES profile extensions:
    
  • a +wgl,d3d log
    The wine wiki page "3D_Driver_Issues" suggested that I turn on +wgl channel which I have done.
    Hitman: Absolution gave the best dialog box. I have tried to run that title.
    The following link is a steam/hitman run.
    At line #31405 hitman starts.

    <<a gist link>>
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: A problem with Mesa

Post by Bob Wya »

ls_boy wrote:
  • Cross Linux from Scratch svn(with gcc 7.1.0)

    That is the reason why I'm compiling Mesa/Wine
    I'm using up to date packages. LLVM-git, libdrm, etc.
  • glxinfo

    Code: Select all

    ...
    OpenGL version string: 3.0 Mesa 17.2.0-devel (git-d132bb36ce)
    OpenGL shading language version string: 1.30
    ..
    
That looks a bit on the low side... :cry:

You could try overriding the advertised OpenGL profile that Mesa reports back...
See Freedesktop Bugzilla / Bug 96449 - Dying Light reports OpenGL version 3.0 with mesa-git...

Code: Select all

export MESA_GL_VERSION_OVERRIDE=4.5
...
You might also want to test overriding the Wine Core OpenGL Profile...
See WineHQ: Useful Registry Keys ...
Specifically:

Code: Select all

HKCU\Software\Wine\Direct3D\MaxVersionGL=[REG_DWORD] 0x00040005
Bob
ls_boy
Level 2
Level 2
Posts: 45
Joined: Sat Dec 12, 2015 3:24 pm

Re: A problem with Mesa

Post by ls_boy »

:shock: Holy Moly! That registry key did the trick!
Bob you're a genius! You deserve a raise! :lol:
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: A problem with Mesa

Post by Bob Wya »

ls_boy wrote::shock: Holy Moly! That registry key did the trick!
Bob you're a genius! You deserve a raise! :lol:
I'm really gonna earn that 100% pay rise!! 8)

The output from glxinfo - with that grep string - probably misses a crucial nugget of information...

You'll probably see:

Code: Select all

Max compat profile version: 3.0
Which is the actual value that Wine uses to bases what level of OpenGL support the native Linux GPU drivers provide.

DirectX 11.0 support, under Wine, requires at bare minimum: OpenGL Maximum Compatibility profile 3.2.

O.T.
Btw how is the experience of the rapidly improving AMD Radeon driver? 8)
Is it safe to run team Red under Linux again? :o :?

Bob
ls_boy
Level 2
Level 2
Posts: 45
Joined: Sat Dec 12, 2015 3:24 pm

Re: A problem with Mesa

Post by ls_boy »

Bob Wya wrote: Is it safe to run team Red under Linux again? :o :?
Bob
Only if you buy the most expensive RX Card.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: A problem with Mesa

Post by Bob Wya »

ls_boy wrote:
Bob Wya wrote: Is it safe to run team Red under Linux again? :o :?
Bob
Only if you buy the most expensive RX Card.
Sorry I meant to say I was thinking (in the future) of the new AMD Vega cards - perhaps to go along with a "Gentoo AMD Threadripper" CPU.
One can but dream... 8)

I had some bad experiences with my (previous) laptop's Radeon HD4650M card - and AMD Linux driver support (well and my X1950 card as well for that matter...) :cry:

Bob
shmerl
Level 2
Level 2
Posts: 13
Joined: Mon Feb 25, 2008 12:35 pm

Re: A problem with Mesa

Post by shmerl »

Bob Wya wrote:The output from glxinfo - with that grep string - probably misses a crucial nugget of information...

You'll probably see:

Code: Select all

Max compat profile version: 3.0
Which is the actual value that Wine uses to bases what level of OpenGL support the native Linux GPU drivers provide.

DirectX 11.0 support, under Wine, requires at bare minimum: OpenGL Maximum Compatibility profile 3.2.
What is Wine using compat profile for, and why can't it use core profile to begin with? Compat profile isn't even supposed to be used — it's only for legacy applications which are stuck without updating.

DX11 works just fine with core profile 4.5 with Mesa, as long as that registry value you brought above is set. I.e. I can play something like the Witcher 3 with Mesa and AMD RX 480.
Locked