You are not logged in.

#1 2022-11-27 13:20:10

Kirish
Member
Registered: 2022-11-27
Posts: 9

Disco Elysium does not launch with Proton on old hardware

Hello everyone,

I've been trying to launch Disco Elysium Steam version on old ThinkPad X201i and no luck. The point is that the system does meet the minimum requirements, that is why I've been trying to do something with it, however, logs show the same error for almost every version available at Steam - EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised. Also, tried to run the game with 3d party Proton - GE-Proton7-41, but no luck there either.

If it is relevant, here is the output of glxinfo -B

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) HD Graphics (ILK) (0x46)
    Version: 22.2.3
    Accelerated: yes
    Video memory: 1536MB
    Unified memory: yes
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 2.0
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics (ILK)
OpenGL version string: 2.1 Mesa 22.2.3
OpenGL shading language version string: 1.20

OpenGL ES profile version string: OpenGL ES 2.0 Mesa 22.2.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16

The run configuration for the Steam game is the following (also tried to run it with different env variables, the result is the same):

PROTON_LOG=1 PROTON_USE_WINED3D=1 %command%

This is the output of vulkaninfo (guess that the GPU does not support this feature)

ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.3.226/vulkaninfo/vulkaninfo.h:674:vkCreateInstance failed with ERROR_OUT_OF_HOST_MEMORY

And some logs output. Proton has pretty verbose logger, that is why tried to grep some of logs. These are for warn:

732.306:0060:006c:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.307:0060:006c:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.317:0060:006c:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.318:0060:006c:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.844:00c4:00c8:warn:seh:dispatch_exception unknown exception (code=6ba) raised
733.780:010c:0128:warn:seh:dispatch_exception Thread 0128 renamed to "GC Finalizer"
734.254:010c:0110:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
734.425:010c:0110:warn:seh:RtlLookupFunctionEntry no exception table found for 0

And these are for exception:

732.306:0060:006c:trace:seh:dispatch_exception code=6ba flags=0 addr=000000007B01274E ip=000000007B01274E tid=006c
732.306:0060:006c:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.306:0060:006c:trace:seh:dispatch_exception  rax=000000007b012700 rbx=000000000106db78 rcx=000000000106d890 rdx=0000000000000000
732.306:0060:006c:trace:seh:dispatch_exception  rsi=00000000000000c8 rdi=0000000001750230 rbp=00000001c8e1a200 rsp=000000000106d870
732.306:0060:006c:trace:seh:dispatch_exception   r8=0000000000000000  r9=0000000000000000 r10=c33c3cc3c33c3cc3 r11=a55a5aa5a55a5aa5
732.306:0060:006c:trace:seh:dispatch_exception  r12=000000000106db78 r13=00000000011f0050 r14=0000000000000000 r15=00000000011f0050
732.307:0060:006c:trace:seh:dispatch_exception code=6ba flags=0 addr=000000007B01274E ip=000000007B01274E tid=006c
732.307:0060:006c:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.307:0060:006c:trace:seh:dispatch_exception  rax=000000007b012700 rbx=000000000106db78 rcx=000000000106d890 rdx=0000000000000000
732.307:0060:006c:trace:seh:dispatch_exception  rsi=00000000000000c8 rdi=0000000001750230 rbp=00000001c8e1a200 rsp=000000000106d870
732.307:0060:006c:trace:seh:dispatch_exception   r8=0000000000000000  r9=0000000000000000 r10=c33c3cc3c33c3cc3 r11=a55a5aa5a55a5aa5
732.307:0060:006c:trace:seh:dispatch_exception  r12=000000000106db78 r13=00000000011f0050 r14=0000000000000000 r15=00000000011f0050
732.317:0060:006c:trace:seh:dispatch_exception code=6ba flags=0 addr=000000007B01274E ip=000000007B01274E tid=006c
732.317:0060:006c:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.317:0060:006c:trace:seh:dispatch_exception  rax=000000007b012700 rbx=000000000106db78 rcx=000000000106d890 rdx=0000000000000000
732.317:0060:006c:trace:seh:dispatch_exception  rsi=00000000000000c8 rdi=0000000001750230 rbp=00000001c8e1a200 rsp=000000000106d870
732.317:0060:006c:trace:seh:dispatch_exception   r8=0000000000000000  r9=0000000000000000 r10=c33c3cc3c33c3cc3 r11=a55a5aa5a55a5aa5
732.317:0060:006c:trace:seh:dispatch_exception  r12=000000000106db78 r13=00000000011f0050 r14=0000000000000000 r15=00000000011f0050
732.318:0060:006c:trace:seh:dispatch_exception code=6ba flags=0 addr=000000007B01274E ip=000000007B01274E tid=006c
732.318:0060:006c:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.318:0060:006c:trace:seh:dispatch_exception  rax=000000007b012700 rbx=000000000106db78 rcx=000000000106d890 rdx=0000000000000000
732.318:0060:006c:trace:seh:dispatch_exception  rsi=00000000000000c8 rdi=0000000001750230 rbp=00000001c8e1a200 rsp=000000000106d870
732.318:0060:006c:trace:seh:dispatch_exception   r8=0000000000000000  r9=0000000000000000 r10=c33c3cc3c33c3cc3 r11=a55a5aa5a55a5aa5
732.318:0060:006c:trace:seh:dispatch_exception  r12=000000000106db78 r13=00000000011f0050 r14=0000000000000000 r15=00000000011f0050
732.844:00c4:00c8:trace:seh:dispatch_exception code=6ba flags=0 addr=000000007B01274E ip=000000007B01274E tid=00c8
732.844:00c4:00c8:warn:seh:dispatch_exception unknown exception (code=6ba) raised
732.844:00c4:00c8:trace:seh:dispatch_exception  rax=000000007b012700 rbx=000000000021eb08 rcx=000000000021e820 rdx=0000000000000000
732.844:00c4:00c8:trace:seh:dispatch_exception  rsi=000000000000006c rdi=00000000003c07d0 rbp=0000000140010028 rsp=000000000021e800
732.844:00c4:00c8:trace:seh:dispatch_exception   r8=0000000000000000  r9=0000000000000000 r10=00000000003c0020 r11=a55a5aa5a55a5aa5
732.844:00c4:00c8:trace:seh:dispatch_exception  r12=000000000021eb08 r13=00000000003f1440 r14=00000000003a18d0 r15=0000000000000001
733.780:010c:0128:trace:seh:dispatch_exception code=406d1388 flags=0 addr=000000007B01274E ip=000000007B01274E tid=0128
733.780:010c:0128:trace:unwind:dispatch_exception  info[0]=0000000000001000
733.780:010c:0128:trace:unwind:dispatch_exception  info[1]=0000000062ffb068
733.780:010c:0128:trace:unwind:dispatch_exception  info[2]=0000000000000128
733.780:010c:0128:warn:seh:dispatch_exception Thread 0128 renamed to "GC Finalizer"
734.254:010c:0110:trace:seh:dispatch_exception code=c0000005 flags=0 addr=0000000000000000 ip=0000000000000000 tid=0110
734.254:010c:0110:trace:unwind:dispatch_exception  info[0]=0000000000000008
734.254:010c:0110:trace:unwind:dispatch_exception  info[1]=0000000000000000
734.254:010c:0110:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
734.254:010c:0110:trace:seh:dispatch_exception  rax=0000000000000000 rbx=00000001006afc18 rcx=00000000000091bf rdx=0000000000000000
734.254:010c:0110:trace:seh:dispatch_exception  rsi=000000000010fa48 rdi=0000000100040570 rbp=000000000010f730 rsp=000000000010f628
734.254:010c:0110:trace:seh:dispatch_exception   r8=000000000010f650  r9=00000000000090eb r10=0000000000000000 r11=00007fab9dfc8140
734.254:010c:0110:trace:seh:dispatch_exception  r12=0000000000000000 r13=00000001006afc18 r14=0000000000000000 r15=0000000000000000
734.425:010c:0110:warn:seh:RtlLookupFunctionEntry no exception table found for 0

Also tried the ProtonDB, watched the other results there, there were cases when people with old hardware managed to run the game, but their options did not solve the problem I have. The game itself does not launch, it has the same error with unity player as this post on reddit , but no explanations have been given there. Heard that there could be a problem with connected devices, but the only thing that is connected is AC adapter, tried to run this game with physically turned off wifi and bluetooth, no luck there as well. And Disco Elysium is the game that runs on Unity - maybe this is the case here since some drivers may be missing.

So this is the problem. I have not tried to run this game on other distro for now, but I will appreciate any possible solutions that might help to run it on arch.

Offline

#2 2022-11-27 13:46:03

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: Disco Elysium does not launch with Proton on old hardware

Your HW is likely too weak for any of this. A modern game will minimally require a form OGL 3 for wines d3d renderer, your best bet will be to find a way to force the game to use d3d9 and hoping wined3d working correctly.

In general HW requirements will be higher on Linux/wine than for Windows

Last edited by V1del (2022-11-27 13:53:08)

Offline

#3 2022-11-27 13:54:12

Kirish
Member
Registered: 2022-11-27
Posts: 9

Re: Disco Elysium does not launch with Proton on old hardware

V1del, thank you for the reply.

Is there a way to try and run it with d3d9? Maybe an environment variable that might force to do this like PROTON_USE_WINED3D? Or  PROTON_USE_WINED3D already tries to run it with DX9/10/11?

Offline

#4 2022-11-27 14:14:16

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: Disco Elysium does not launch with Proton on old hardware

That would be a game option. You need to keep PROTON_USE_WINED3D anyway since you don't have vulkan support. Checking some spots like https://www.pcgamingwiki.com/wiki/Disco_Elysium
shows that this isn't the case here. One small thing you might be able to test is whether the older/more geared towards this hw mesa-amber gives you a different result, maybe also post a full ungrepped log: https://wiki.archlinux.org/title/List_o … n_services

But all this is very hopeful maybe stuff, you aren't going to get to OGL 3 and that is still the max you can hope for, another test might be adding LIBGL_ALWAYS_SOFTWARE=1 to force the software renderer which might give you more at the cost of even more perf

Last edited by V1del (2022-11-27 14:23:10)

Offline

#5 2022-11-27 14:34:05

Kirish
Member
Registered: 2022-11-27
Posts: 9

Re: Disco Elysium does not launch with Proton on old hardware

So, the full log can be found at pastebin
Also, going to try to run the game with game options changed, but this will require a lil bit of time

And this LIBGL_ALWAYS_SOFTWARE=1 env variable is going to be just another one in launch options? No additional libraries to install?

Last edited by Kirish (2022-11-27 14:36:05)

Offline

#6 2022-11-27 14:50:16

Kirish
Member
Registered: 2022-11-27
Posts: 9

Re: Disco Elysium does not launch with Proton on old hardware

This is pretty interesting, the game did not crash after specifying LIBGL_ALWAYS_SOFTWARE, it even showed the loading screen and played the music, but kinda froze after I've alt+tabbed. And it's no surprise, because the system has 4GBs of RAM and 6GBs of swap (still waiting for my 2x4GBs sticks to arrive).

When looked at htop it showed almost all used RAM (3.2 GBs) and 3 GBs of swap.

In general at least managed to boot the game and this is a good sign. Thank you for your instructions, V1del

Could you please tell where all environment variables for Proton can be found? Going to test different Proton versions from now on and maybe will find the one that is going to be playable.

Offline

#7 2022-11-27 16:40:17

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: Disco Elysium does not launch with Proton on old hardware

PROTON_USE_WINED3D is probably the most relevant for proton in particular, LIBGL_ALWAYS_SOFTWARE isn't a proton but a Mesa option which completely disables HW rendering and does things "just" in software on the cpu, which will be slow but given the rest of the hw this might be not relevantly notable.

FWIW if we are already opting for software rendering anyway you could also test behaviour without PROTON_USE_WINED3D and with vulkan-swrast instead

But that's all just workarounds and hacks but at least shows the GPU capability as being insufficient and leading to the crash but you shouldn't expect any miracles having to use the software renderer options is absolutely last ditch effort without guarantee of getting into a usable speed

Last edited by V1del (2022-11-27 16:45:20)

Offline

#8 2022-11-28 13:57:50

Kirish
Member
Registered: 2022-11-27
Posts: 9

Re: Disco Elysium does not launch with Proton on old hardware

V1del, could you please tell how to use vulkan-swrast instead of PROTON_USE_WINED3D?

Is the package URL correct?

Tried to run the game without PROTON_USE_WINED3D with only LIBGL_ALWAYS_SOFTWARE enabled, but the game crashed as before. So, I guess I'm missing the correct environment variable or option. And if you know the correct env variable or config, could you also add the link to the documentation on vulkan-swrast?

Offline

#9 2022-11-28 15:37:16

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: Disco Elysium does not launch with Proton on old hardware

That package is correct and before checking with an actual game you should test with vulkaninfo whether it's detected at all, but it's very likely that this crashes/is not directly supported by dxvk regardless.

Again, fact of the matter is: Your GPU far and away does not meet the minimum specifications and this system was already low end/outdated by the time it was "new" and we are now 10 years along since  then. This is even an old Intel iGPU before they became remotely decent which only started with the iHD series of integrated GPus.

Last edited by V1del (2022-11-29 12:34:29)

Offline

#10 2022-11-29 20:56:19

Kirish
Member
Registered: 2022-11-27
Posts: 9

Re: Disco Elysium does not launch with Proton on old hardware

Ok, as previously stated, vulkaninfo did show the error in the output, something like this one:

ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.3.226/vulkaninfo/vulkaninfo.h:674:vkCreateInstance failed with ERROR_OUT_OF_HOST_MEMORY

However, this message disappeared after lib32-amdvlk and amdvlk packages have been removed. The full output can be found with termbin link (please excuse me for using pastebin previously, just right after a while found the message at wiki that describes that pastebin should be avoided). Interesting thing is that when running vulkaninfo with netcat it showed the following error (probably did not notice it previously in the terminal since the output is pretty big)

ERROR: [../mesa-22.2.3/src/intel/vulkan/anv_device.c:774] Code 0 : Vulkan not yet supported on Intel(R) HD Graphics (ILK) (VK_ERROR_INCOMPATIBLE_DRIVER)

I know that tricks and hacks are just really small things that can be done, I'm not aiming to play on this laptop 24/7, but it's kinda interesting what limits does this machine have. Logs are provided, the question is that whether this laptop can do some additional stuff with vulkan-swrast or not?

Trace-number for the package with additional RAM sticks has been updated, it's on the way, so maybe we can test it before this particular thread is closed, because currently almost 3GB are used in swap memory and probably this is the cause for game freeze (not talking about the oldest GPU ever)

Offline

#11 2022-11-29 22:07:19

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: Disco Elysium does not launch with Proton on old hardware

Yes that's the output you'll want if you want to test how swrast works. amdvlk not seldomly breaks vulkan resolution so that doesn't surprise much. The mesa anv error is normal since it of course can't use vulkan on the GPU itself.

Offline

#12 2022-11-29 22:23:55

Kirish
Member
Registered: 2022-11-27
Posts: 9

Re: Disco Elysium does not launch with Proton on old hardware

I'm still kinda a noob, could you please tell the way to properly use vulkan-swrast? Should a new variable be specified in steam launch options or will it be used by default with the help of LIBGL_ALWAYS_SOFTWARE? Also, I did not find docs about swrast. Is there any?

Offline

#13 2022-11-30 00:50:15

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: Disco Elysium does not launch with Proton on old hardware

There are none afaik, with the vulkaninfo output as it is now you should be able to start a game assuming you aren't crashing oom again which will likely happen, dxvk's implementation of D3D translation tends to be more memory hungry, LIBGL_ALWAYS_SOFTWARE doesn't factor in here since vulkan is not libgl. You are essentially running software developer debugging stuff here, none of this is in any general capacity assumed to be used as a normal "daily" user driver.

Last edited by V1del (2022-11-30 00:51:29)

Offline

#14 2022-11-30 12:57:49

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: Disco Elysium does not launch with Proton on old hardware

Please post vulkaninfo --summary to get the most relevant parts of the output .

Note that vulkan-swrast (latest git version) is conformant and no longer considered experimental.
There has been atleast once case where vulkan-swrast allowed to run vulkan applications on older hardware, although I do think that system had more memory and a beefy processor.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#15 2022-11-30 19:54:48

Kirish
Member
Registered: 2022-11-27
Posts: 9

Re: Disco Elysium does not launch with Proton on old hardware

Hello there, Lone_Wolf
Here is the output of vulkaninfo --summary:

ERROR: [../mesa-22.2.3/src/intel/vulkan/anv_device.c:774] Code 0 : Vulkan not yet supported on Intel(R) HD Graphics (ILK) (VK_ERROR_INCOMPATIBLE_DRIVER)
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.235


Instance Extensions: count = 20
-------------------------------
VK_EXT_acquire_drm_display             : extension revision 1
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_display                         : extension revision 23
VK_KHR_external_fence_capabilities     : extension revision 1
VK_KHR_external_memory_capabilities    : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2         : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_portability_enumeration         : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6

Instance Layers: count = 4
--------------------------
VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207  version 1
VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_32   Steam Overlay Layer          1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_64   Steam Overlay Layer          1.3.207  version 1

Devices:
========
GPU0:
	apiVersion         = 4206816 (1.3.224)
	driverVersion      = 1 (0x0001)
	vendorID           = 0x10005
	deviceID           = 0x0000
	deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	deviceName         = llvmpipe (LLVM 14.0.6, 128 bits)
	driverID           = DRIVER_ID_MESA_LLVMPIPE
	driverName         = llvmpipe
	driverInfo         = Mesa 22.2.3 (LLVM 14.0.6)
	conformanceVersion = 1.3.1.1
	deviceUUID         = 6d657361-3232-2e32-2e33-000000000000
	driverUUID         = 6c6c766d-7069-7065-5555-494400000000

Could you please tell what is the exact difference between simple vulkan and bulkan-swrast? Still kinda a noob in all of these technologies. If there are any docs or wikis I would appreciate any links to them.

Offline

#16 2022-12-01 10:16:19

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: Disco Elysium does not launch with Proton on old hardware

The wikipedia vulkan article gives a good overview.

To use vulkan on a graphics card there needs to be a driver that converts vulkan commands to instructions for the graphics card.


There are vulkan drivers for amd, intel, broadcom, freedreno , nvidia and panfrost videocards to name a few.

vulkan-swrast is not tied to any videocard, but converts vulkan commands to processor instructions .

An application using vulkan should be able to run on all drivers / cards that conform to the vulkan specification .

Last edited by Lone_Wolf (2022-12-01 10:17:35)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#17 2022-12-03 17:20:57

Kirish
Member
Registered: 2022-11-27
Posts: 9

Re: Disco Elysium does not launch with Proton on old hardware

Thanks, everyone, for the answers provided

New sticks just arrived, installed them into laptop, booted the game and it froze at the boot screen for another time. Guess I'm going to play this game again at my main station, going to use the laptop for other purposes and old gaming.

Thank you again and have a great day

Offline

Board footer

Powered by FluxBB