FS#70015 - [mesa] Update to Mesa 21.0 breaks wine games
Attached to Project:
Arch Linux
Opened by Bastian Beranek (totsilence) - Tuesday, 16 March 2021, 11:33 GMT
Last edited by Laurent Carlier (lordheavy) - Monday, 03 May 2021, 07:09 GMT
Opened by Bastian Beranek (totsilence) - Tuesday, 16 March 2021, 11:33 GMT
Last edited by Laurent Carlier (lordheavy) - Monday, 03 May 2021, 07:09 GMT
|
Details
After updating to mesa 21.0.0-1 several games can no longer
be launched through Steams proton system (which is based on
wine).
Someone reported this on the mesa gitlab for Unreal Tournament: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3969 I have the same problem, but with three other games. I can confirm that reverting the commit mentioned in the issue fixes the problem for me. Probably commenting out the line that raises the error is also enough (as suggested in the thread), but I didn't try that. However, it appears that a fix on the wine and proton side would be better. |
This task depends upon
Closed by Laurent Carlier (lordheavy)
Monday, 03 May 2021, 07:09 GMT
Reason for closing: Fixed
Additional comments about closing: lib32-mesa-21.0.3-3 mesa-21.0.3-3
Monday, 03 May 2021, 07:09 GMT
Reason for closing: Fixed
Additional comments about closing: lib32-mesa-21.0.3-3 mesa-21.0.3-3
Here's my GPU:
04:00.0 VGA compatible controller: NVIDIA Corporation GT200b [GeForce GTX 285] (rev a1)
Have you tried bypassing the Steam Runtime? Maybe you should report this to Valve's proton github tracker?
Going back to
$ pacman -Q | grep mesa
mesa 20.3.4-3
solve the issue
https://bugs.archlinux.org/task/70209
https://bugs.archlinux.org/task/70170
https://bugs.archlinux.org/task/70008
Tested on a dual GPU system (RYZEN VEGA iGPU) and NVIDIA GTX 1650.
Switching from AMD to NVIDIA cause the issue.
Tested on a dual GPU system (INTEL HD) and NVIDIA GTX 940.
Issue on both.
Tested on a single GPU system NVIDIA GTX 1080Ti.
Issue.
Unfortunately it is enough to have mesa installed to let the system run into that issues.
If not, does it work with this xorg configuration file
The BusID is from my system (ASUS notebook), maybe you have to modify it.
/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
VendorName "NVIDIA Corporation"
Option "NoLogo" "1"
Option "Interactive" "0"
Option "Coolbits" "12"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Running mesa 20.3.4-3, everything is fine (that include the above config).
Upgrade to mesa 21, broke xfce4 desktop and wine.
Section "ServerLayout"
Identifier "layout"
Screen 0 "iGPU"
Option "AllowNVIDIAGPUScreens"
EndSection
Section "Device"
Identifier "iGPU"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "iGPU"
Device "iGPU"
EndSection
Section "Device"
Identifier "dGPU"
Driver "nvidia"
BusID "PCI:6:0:0"
EndSection
You added "AllowEmptyInitialConfiguration", "Interactive 0", "Coolbits 12" and "Nologo 1" while I have a ServerLayout section describing "Screen" set to the intel gpu and "AllowNVIDIAGPUScreens"
Maybe looking into Xorg.log can give a clue on what fails?
Interactive 0 disable the GPU watchdog (need this to prevent a kernel exec timeout, when running hashcat)
Coolbits 12 allow overclocking (when running hashcat)
Nologo is self-explained
BTW:
If someone is interested, this is the xorg config for a RYZEN-VEGA/NVIDIA system (not configured as optimus)
RYZEN VEGA is used as display driver and NVIDA for hashcat/john
Section "Device"
Identifier "amd"
Driver "amdgpu"
Screen 0
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
VendorName "NVIDIA Corporation"
Option "NoLogo" "1"
Option "Interactive" "0"
Option "Coolbits" "12"
Option "AllowEmptyInitialConfiguration"
EndSection
Neither lightdm.log nor seat0-greeter.log nor Xorg.0.log showing an ERROR.
Black screen and mouse arrow if 20-nvidia.config is present.
If 20-nvidia.config is removed, xfce4 desktop is working, but
winecfg show this:
00c8:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
00d0:err:winediag:nodrv_CreateWindow Unknown error (998).
I'm running out of ideas (but assume a driver issue) and set IgnorePkg mesa and lib32-mesa.
All my systems are configured to run hashcat and john as primary task.
BTW:
The game is a very old Windows free game (spider clone), my wife is running (using wine) on her notebook. Nice to have, but not mandatory to have.
I'll wait for the next mesa update. Thanks for your efforts.
When I have time, I'll test some different mesa/wine version combinations.
Right now, I'm running mesa 20.3.4-3 and everything is fine (login into xfce4 and wine working as expected an all systems).
I was running into 2 different issues and could solve both of them.
wine and mesa udpdate came together, while running last pacman -Syu and unfortunately I didn't realized that.
Modifying my xorg config allow lightdm to login again:
https://bbs.archlinux.org/viewtopic.php?pid=1964881#p1964881
And for the not working wine game this:
https://bbs.archlinux.org/viewtopic.php?pid=1952120#p1952120
It looks like, the bug is on Mesa side, and this patch could resolve it :
https://gitlab.freedesktop.org/mesa/mesa/-/issues/3969#note_888183
I put it in a file called bugwine.patch and added in the PKGBUILD of current mesa (21.0.3-1):
prepare() {
cd $pkgbase-${pkgver}
git apply ../bugwine.patch
}
21.0.3-itself, that is available since yesterday evening didn't resolve the issue, still need to patch.
[+0.00s] DEBUG: Seat seat0: Creating greeter session
[+0.00s] DEBUG: Seat seat0: Failed to find session configuration lightdm-gtk-greeter
[+0.00s] DEBUG: Seat seat0: Failed to create greeter session
It is not a required lightdm-gtk-greater is not a required/optional dependency (ligthdm is a dependence of the greeter) but lightdm not work by default without it.
Thanks to all for their efforts to bring that upstream into main source tree.