protonscr

EVE Online fails to make its fullscreen window under Wayland

dxvkclosed
doitsujin/dxvk#1267 · opened 2019-12-08 by Tooniis · updated 2020-05-17 · 13 comments · github
TTooniis 2019-12-08 github

When launching EVE Online under Wayland, it fails to make a fullscreen window and throws an X Error.

Here's the full terminal log:

$ DRI_PRIME=1 WINEESYNC=1 DXVK_HUD=fps,gpuload wine ~/.eve/eve.exe
000b:fixme:winediag:start_process Wine Staging 4.21 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
002d:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1.
002d:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
002d:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute
002d:fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
002d:fixme:toolhelp:Heap32ListFirst : stub
002d:fixme:wbemprox:client_security_SetBlanket 6795E778, 00150E50, 10, 0, (null), 3, 3, 00000000, 0x00000000
002d:fixme:wbemprox:client_security_Release 6795E778
0026:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
002d:fixme:ntdll:server_ioctl_file Unsupported ioctl 700a0 (device=7 access=0 func=28 method=0)
002d:fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0)
002d:fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0)
0031:fixme:ntdll:server_ioctl_file Unsupported ioctl 98000010 (device=9800 access=0 func=4 method=0)
0031:fixme:winsock:server_ioctl_sock Unsupported ioctl 98000010 (device=9800 access=0 func=4 method=0)
0031:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (_WSAIOW(IOC_VENDOR, 16))
002d:fixme:font:get_outline_text_metrics failed to read full_nameW for font L"Ani"!
002d:fixme:explorerframe:taskbar_list_SetProgressValue iface 001A1148, hwnd 0002006C, ullCompleted 0, ullTotal 64 stub!
002d:fixme:explorerframe:taskbar_list_SetProgressState iface 001A1148, hwnd 0002006C, flags 0 stub!
002d:fixme:msg:ChangeWindowMessageFilterEx 0x2006e c05a 1 (nil)
002d:fixme:ntdll:EtwEventRegister ({d2d578d9-2936-45b6-a09f-30e32715f42d}, 0xe4b1e0, 0x3d3ce70, 0x3e5b9c8) stub.
002d:fixme:nls:GetThreadPreferredUILanguages 00000038, 0x32f2b4, (nil) 0x32f2b8
002d:fixme:nls:get_dummy_preferred_ui_language (0x38 0x32f2b4 (nil) 0x32f2b8) returning a dummy value (current locale)
002d:fixme:nls:GetThreadPreferredUILanguages 00000038, 0x32f2b4, 0x8a051b0 0x32f2b8
002d:fixme:nls:get_dummy_preferred_ui_language (0x38 0x32f2b4 0x8a051b0 0x32f2b8) returning a dummy value (current locale)
002d:fixme:winsock:WSALookupServiceBeginW (0x32f178 0x00000ff0 0x32f1b8) Stub!
[44:45:1208/134805.631:ERROR:network_change_notifier_win.cc(157)] WSALookupServiceBegin failed with: 8
002d:fixme:iphlpapi:NotifyAddrChange (Handle 0x32f2e4, overlapped 0x8a06a50): stub
002d:fixme:win:RegisterDeviceNotificationW (hwnd=0x1008a, filter=0x32f1a0,flags=0x00000000) returns a fake device notification handle!
002d:fixme:win:RegisterDeviceNotificationW (hwnd=0x1008a, filter=0x32f1a0,flags=0x00000000) returns a fake device notification handle!
002d:fixme:font:get_nearest_charset TCI failing on 20000000
002d:fixme:font:get_nearest_charset returning DEFAULT_CHARSET face->fs.fsCsb[0] = 20000000 file = L"/usr/share/fonts/truetype/fonts-gujr-extra/aakar-medium.ttf"
0041:fixme:file:ReplaceFileW Ignoring flags 2
0046:fixme:wlanapi:WlanEnumInterfaces (00000001, 00000000, 0CCDF81C) semi-stub
005a:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1.
005a:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
005a:fixme:ntdll:EtwEventRegister ({d2d578d9-2936-45b6-a09f-30e32715f42d}, 0xbeb1e0, 0x3adce70, 0x3bfb9c8) stub.
005a:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0041:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
0040:fixme:file:ReplaceFileW Ignoring flags 2
005a:fixme:time:QueryThreadCycleTime (0xfffffffe,0x32f480): stub!
002d:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute
002d:fixme:dwmapi:DwmIsCompositionEnabled 0032C378
002d:fixme:dwmapi:DwmEnableBlurBehindWindow 000100B2 0032C37C
002d:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute
0060:fixme:file:ReplaceFileW Ignoring flags 2
002d:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute
0044:fixme:file:ReplaceFileW Ignoring flags 2
0044:fixme:file:ReplaceFileW Ignoring flags 2
0060:fixme:file:ReplaceFileW Ignoring flags 2
0040:fixme:file:ReplaceFileW Ignoring flags 2
019e:fixme:heap:RtlSetHeapInformation 0x9f0000 0 0x22e250 4 stub
019e:fixme:msvcrt:MSVCRT__stdio_common_vfscanf options 3 not handled
019e:fixme:msvcrt:MSVCRT__stdio_common_vfscanf options 3 not handled
0045:fixme:file:ReplaceFileW Ignoring flags 2
019e:fixme:heap:RtlSetHeapInformation 0x9f0000 0 0x219c10 4 stub
019e:fixme:heap:RtlSetHeapInformation 0x9f0000 0 0x219710 4 stub
WARNING: radv is not a conformant vulkan implementation, testing use only.
WARNING: radv is not a conformant vulkan implementation, testing use only.
WARNING: radv is not a conformant vulkan implementation, testing use only.
WARNING: radv is not a conformant vulkan implementation, testing use only.
WARNING: radv is not a conformant vulkan implementation, testing use only.
019e:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
019e:fixme:heap:RtlSetHeapInformation 0x8ad0000 0 0x222d40 4 stub
019e:fixme:heap:RtlSetHeapInformation 0x8be0000 0 0x222de0 4 stub
019e:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
019e:fixme:heap:RtlSetHeapInformation 0x9f0000 0 0x220e40 4 stub
019e:fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
019e:fixme:toolhelp:Heap32ListFirst : stub
019e:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1.
019e:err:xrandr:xrandr12_set_current_mode Resolution change not successful -- perhaps display has changed?
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Serial number of failed request:  294
  Current serial number in output stream:  294

The most important part of this is the last part of the X Error, since everything else also shows up under X11 and the game still launches and works perfectly.

The game used to work fine under Wayland with WINE 4.19 and DVXK 1.4.4, but since WINE 4.20
this has been happening. I assume they changed something in WINE that was not accounted for in DXVK.

Software information

EVE Online, 64-bit, DX11

System information

  • GPU: AMD Radeon R5 M330
  • Driver: Mesa 19.2.1
  • Wine version: 4.21 (also 4.20)
  • DXVK version: 1.4.6 (also 1.4.5 and 1.4.4)
Ddoitsujin maintainer 2019-12-08 github

How exactly is this a DXVK bug? Does this not happen with wined3d?

I'd argue that if this regressed with wine 4.20, it's either a wine bug or wine triggers some XWayland issue. DXVK does not interact with X11 or Wayland directly, only with the win32 windowing APIs; There's literally nothing to "account for".

Also, please post the DXVK logs as requested in the issue template.

TTooniis 2019-12-08 github

Because it does not happen when I uninstall DXVK.

The log files are empty and I don't know why.

Ddoitsujin maintainer 2019-12-08 github

The log files are empty and I don't know why.

Unless you the environment variable DXVK_LOG_LEVEL is set to something other than ìnfo, the only reason why it would be empty is because the game hasn't even initialized DXGI yet, which would mean that not a single line of DXVK code has been executed at that point.

In any case, there's not much I can do here without logs or an apitrace, and since DXVK does not interact with Xlib, I don't think it's possible to properly fix this inside DXVK in the first place. Weird that it runs with wined3d though.

Note that Xwayland is known to cause all sorts of problems with wine and dxvk, including poor performance, non-functional Vsync and some weird issues in wine that popped up recently, I can only recommend not to use it.

Ddoitsujin maintainer 2019-12-08 github

You might want to check out the following wine patch which works around
a regression on XWayland introduced in wine 4.20: https://source.winehq.org/patches/data/174570

TTooniis 2019-12-13 github

I have absolutely no idea what changed, but now the game actually succeeds to launch. However, mouse input does not work at all; No clicks or hover events are registered. Keyboard input works just fine.
Log files are still empty.

KK0bin maintainer 2019-12-13 github

Mouse and keyboard input has nothing to do with DXVK.

TTooniis 2019-12-13 github

It is quite confusing since uninstalling DXVK solves all issues.
Also why is Input Issues listed under Common Issues in the wiki?

Ddoitsujin maintainer 2019-12-13 github

DXVK does not interact directly with input APIs at all.

The "common issues" entry is extremely old and IDXGISwapChain has been reimplemented since to mostly match wined3d's behaviour, I don't really see why there would be any differences that would affect input handling.

TTooniis 2019-12-16 github

I've updated to WINE 5.0-rc1 and DXVK 1.5, and now it's back to not launching at all and throwing an X error. I tried with WINE 5.0-rc1 only before I installed DXVK 1.5 after uninstalling 1.4.6, and it works perfectly other than the performance hit.

TTooniis 2019-12-16 github

Also there's something that I forgot to mention in the first report: WINE stops working completely after the failed attempt of launching EVE Online, even when used to run software that is not fullscreen and does not even have any 3D graphics. Even winecfg fails to run. That is until the session is restarted.

Ttdaniel22 2019-12-16 github

WINE stops working completely after the failed attempt of launching EVE Online, even when used to run software that is not fullscreen and does not even have any 3D graphics. Even winecfg fails to run. That is until the session is restarted.

I think you can just kill the xwayland process. I don't have the same problem as you but the Wayland experience is pretty bad overall.

One thing I was wondering is, would a native Linux build allow to run natively on Wayland with the appropriate WSI? Is this even how this works?

TTooniis 2020-01-11 github

I mentioned before that when it succeds to launch, mouse input does not work at all.
Now I have discovered that mouse input actually works, however, the actual cursor is stuck at the top left corner, even though the visible cursor moves. When I move the game between GNOME workspaces, the actual cursor is freed for a fraction of a second. I was able to log in that way, then discover this when I tried to click anywhere and it always clicked a button in the top left corner.

TTooniis 2020-05-17 github

seems like this was fixed at some point either in wine or in dxvk. it is working now.

Launch options