Linux gaming [Guide]

:exclamation: HEADSUP ON WINE UPDATE ROUTINE

If you’re like me, and you have a lot of prefixes created and used in let’s say era of wine 5.x, and now want to try and update them to Wine 9.x there’s very important things to note on that process.

Let’s say you’ve decided to update your existing wineprefix 5.x → 9.x and now have such errors when trying to launch something:

Errors
Started initial process 1035383 from /home/x133/.local/share/lutris/runners/wine/8.25-wine-ge/bin/wine /home/x133/.PlayOnLinux/wineprefix/Batman_Arkham_knight/drive_c/Games/Batman Arkham knight/Binaries/Win64/BatmanAK.exe -nologo
Start monitoring process.
esync: up and running.
wine: Using setpriority to control niceness in the [-10,10] range
002c:fixme:winediag:LdrInitializeThunk wine-staging 8.0 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0074:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0074:err:plugplay:enumerate_new_device Unable to install a function driver for device L"WINEBUS\\VID_845E&PID_0001\\0&0000&0&0&0".
0074:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0074:err:plugplay:enumerate_new_device Unable to install a function driver for device L"WINEBUS\\VID_845E&PID_0002\\0&0000&0&0&0".
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\user32.dll") not found
0024:err:module:import_dll Library user32.dll (which is needed by L"C:\\windows\\syswow64\\gdi32.dll") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\gdi32.dll") not found
0024:err:module:import_dll Library gdi32.dll (which is needed by L"C:\\windows\\syswow64\\shell32.dll") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\user32.dll") not found
0024:err:module:import_dll Library user32.dll (which is needed by L"C:\\windows\\syswow64\\gdi32.dll") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\gdi32.dll") not found
0024:err:module:import_dll Library gdi32.dll (which is needed by L"C:\\windows\\syswow64\\shlwapi.dll") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\gdi32.dll") not found
0024:err:module:import_dll Library gdi32.dll (which is needed by L"C:\\windows\\syswow64\\user32.dll") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\user32.dll") not found
0024:err:module:import_dll Library user32.dll (which is needed by L"C:\\windows\\syswow64\\shlwapi.dll") not found
0024:err:module:import_dll Library shlwapi.dll (which is needed by L"C:\\windows\\syswow64\\shell32.dll") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\gdi32.dll") not found
0024:err:module:import_dll Library gdi32.dll (which is needed by L"C:\\windows\\syswow64\\user32.dll") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\user32.dll") not found
0024:err:module:import_dll Library user32.dll (which is needed by L"C:\\windows\\syswow64\\shell32.dll") not found
0024:err:module:import_dll Library shell32.dll (which is needed by L"C:\\windows\\syswow64\\start.exe") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\gdi32.dll") not found
0024:err:module:import_dll Library gdi32.dll (which is needed by L"C:\\windows\\syswow64\\user32.dll") not found
0024:err:module:import_dll Library win32u.dll (which is needed by L"C:\\windows\\syswow64\\user32.dll") not found
0024:err:module:import_dll Library user32.dll (which is needed by L"C:\\windows\\syswow64\\start.exe") not found
0024:err:module:LdrInitializeThunk Importing dlls for L"C:\\windows\\syswow64\\start.exe" failed, status c0000135
Initial process has exited (return code: 13568)
00ec:err:ole:com_get_class_object class {ff48dba4-60ef-4201-aa87-54103eef594e} not registered
00ec:err:ole:com_get_class_object no class object {ff48dba4-60ef-4201-aa87-54103eef594e} could be created for context 0x1
00ec:err:tabtip:create_uia_event_handler Failed to create IUIAutomation interface, hr 0x80040154
Monitored process exited.
Exit with return code 13568

That is a grave mistake, which is not obvious for newbies.
It will cause you to not be able to use wine 8.x+ properly, as well as dxvk 2.0+.

What should you do then?

  1. Wine fully supports wineprefix updates ONLY to directly next major version of wine, anything further is not guaranteed.
    Which means if you need to update 5.x to 9.x, what you need to do is:

    5.x → 6.x → 7.x → 8.x → 9.x

    Then test it by launching winecfg

  2. While creating / updating your wineprefix - ONLY use wine or wine-staging, do not use Proton builds as they’re heavily castrated and differ in terms of those operations. Once done, you can use Proton later with Lutris launcher.

  3. All that being said - it is highly recommended to recreate your prefixes from scratch with at least wine 8.x version, coz they have some huge differences in terms of file organization after all the stuff was converted to PE, now it seems that all the configs are set in stone since 8.x and further updates should go much smoother, otherwise you might have some mess in future.

5 Likes