[BUG, A370M dGPU, i915]: Programs using Vulkan crash
UPDATE: After the laptop had a MB (dGPU) swap everything runs fine on Windows so the HW issue is gone. However there are still issues running games without forcing i915 to use BAR size of 256M instead of 4G. Looks like #10411 (moved) is affecting me here so I'm closing this in favor of that issue. My issue was probably #10411 (moved) + a defective dGPU.
System information
System: Host: Jirka-IdeaPad5Pro Kernel: 6.7.6-zen1 x86_64 bits: 64 compiler: gcc v: 13.2.0
Desktop: KDE Plasma 6.0.0 wm: kwin_wayland dm: SDDM Distro: NixOS 24.05 (Uakari)
CPU: Info: 10-Core model: 12th Gen Intel Core i7-12700H bits: 64 type: MT MCP arch: N/A
rev: 3 cache: L2: 24 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 107520
Speed: 4100 MHz min/max: 400/4600 MHz Core speeds (MHz): 1: 4023 2: 400 3: 4027 4: 400
5: 2197 6: 400 7: 2077 8: 400 9: 400 10: 1704 11: 2108 12: 400 13: 400 14: 2576
15: 4023 16: 400 17: 4027 18: 400 19: 4023 20: 4023
Graphics: Device-1: Intel Alder Lake-P GT2 [Iris Xe Graphics] vendor: Lenovo driver: i915
v: kernel bus-ID: 00:02.0 chip-ID: 8086:46a6
Device-2: Intel DG2 [Arc A370M] vendor: Lenovo driver: i915 v: kernel bus-ID: 03:00.0
chip-ID: 8086:5693
Device-3: 8SSC21D70376V1SR2BF7K09 Integrated RGB Camera type: USB driver: uvcvideo
bus-ID: 1-4:2 chip-ID: 30c9:0057
Display: wayland server: X.Org 23.2.4 compositor: kwin_wayland driver: loaded: i915
note: n/a (using device driver) resolution: 2560x1600~120Hz s-dpi: 96
OpenGL: renderer: Mesa Intel Graphics (ADL GT2) v: 4.6 Mesa 24.0.1 direct render: Yes
These errors popped up when I ran vulkaninfo
:
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Received return code -3 from call to vkCreateInstance in ICD /nix/store/msw135h75vb6wa2jqmyv9a4p2pqsypsc-mesa-24.0.1-drivers/lib/libvulkan_dzn.so. Skipping this driver.
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Received return code -3 from call to vkCreateInstance in ICD /nix/store/msw135h75vb6wa2jqmyv9a4p2pqsypsc-mesa-24.0.1-drivers/lib/libvulkan_virtio.so. Skipping this driver.
MESA-INTEL: warning: cannot initialize blitter engine
The dGPU (from lspci -v
):
(it doesn't show up in inxi
)
03:00.0 Display controller: Intel Corporation DG2 [Arc A370M] (rev 05)
Subsystem: Lenovo Device 3841
Flags: bus master, fast devsel, latency 0, IRQ 185
Memory at 5f000000 (64-bit, non-prefetchable) [size=16M]
Memory at 6000000000 (64-bit, prefetchable) [size=4G]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit+
Capabilities: [d0] Power Management version 3
Capabilities: [100] Alternative Routing-ID Interpretation (ARI)
Capabilities: [420] Physical Resizable BAR
Capabilities: [400] Latency Tolerance Reporting
Kernel driver in use: i915
Kernel modules: i915
- OS:
NAME=NixOS
PRETTY_NAME="NixOS 24.05 (Uakari)"
VERSION_CODENAME=uakari
-
GPUs:
*-display description: i915drmfb product: [8086:46A6] vendor: [8086] physical id: 2 bus info: pci@0000:00:02.0 logical name: /dev/fb0 version: 0c width: 64 bits clock: 33MHz capabilities: pciexpress msi pm bus_master cap_list rom fb configuration: depth=32 driver=i915 latency=0 mode=2560x1600 resolution=2560,1600 visual=truecolor xres=2560 yres=1600 resources: iomemory:610-60f iomemory:400-3ff irq:182 memory:6101000000-6101ffffff memory:4000000000-400fffffff ioport:3000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff *-display product: [8086:5693] vendor: [8086] physical id: 0 bus info: pci@0000:03:00.0 version: 05 width: 64 bits clock: 33MHz capabilities: pciexpress msi pm bus_master cap_list rom configuration: driver=i915 latency=0 resources: iomemory:600-5ff irq:185 memory:5f000000-5fffffff memory:6000000000-60ffffffff
- Kernel version:
Linux Jirka-IdeaPad5Pro 6.7.6-zen1 #1-NixOS ZEN SMP PREEMPT_DYNAMIC Tue Jan 1 00:00:00 UTC 1980 x86_64 GNU/Linux
- Mesa version:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.0.1
- Xserver version: NONE - Wayland
- Desktop manager and compositor: KDE Plasma 6.0.0, KWin 6.0.0
WINE/Proton
- DXVK version: Bundled with Proton
- Wine/Proton version:
- Proton:
5.13-6
6.3-8
7.0-6
8.0-5
9.0 (beta)
GE-Proton8-32
- Proton:
Describe the issue
Any game I that depends on Vulkan in some way (native or DXVK/VKD3D) crashes/hangs/freezes (sometimes even the whole OS).
Here is the behavior of games that I tried:
-
Outer Wilds
- Loads to main menu
- Shows without any issues
- Starts loading when
NEW EXPEDITION
button is clicked - Hangs at 99% (most of the time)
- Sometimes it hangs earlier - eg. 43%
- Sometimes it fades to black (as it should) but the
E
to wake up text doesn't appear => the game hangs
-
It Takes Two
- EA Launcher loads but the game doesn't. The launcher says that the problem is on EA's end but since I can run the game on my main PC and it's consistent with the behavior of Elite: Dangerous (below) I think it's a "tell nothing" error related to this issue.
-
Elite: Dangerous
- The launcher loads
- Login using Steam works
- A window for the game appears after
PLAY
is pressed - The window stays black with either nothing happening or crashing outright
-
BPM: Bullets per minute
- Loads into main menu
- Once loaded into the game itself but crashed once the mouse moved.
- Now it crashes on the loading screen and hangs up the whole OS
-
Counter-Strike 2
- The only native game on this list
- Shows the Valve logo
- Shows the
Counter-Strike 2
text - Hangs/Freezes the whole OS when main menu starts to appear (I think this is due to the in game agents being rendered in the menu)
For comparison Minecraft (OpenGL)
- Starts without any issues
- Loads into game
- Keeps running without any problems
- Shaders can be used without any issues
Regression
I know that Counter-Strike 2 used to somewhat run with occasional crashes/hangs (like every 10 minutes) and instant crash/hang when a scope (on a gun) was used. the game updated since then so I think that it may have started to use some not working api calls more often (or the ones that didn't work before but they started to use them in the main menu).
Log files as attachment
- dmesg
-
Vulkan conformance tests
- I recommend cloning the repository as the file is over 500MB large and Gitea doesn't deal with it in the WebUI. It can be downloaded straight from the website but takes about a minute before the download popup appears - be kind to it, it's running on a RPi4. I didn't find a better place to host it - GitHub doesn't want it, nor does this GitLab instance.
- Tests summary
DONE!
Test run totals:
Passed: 917045/3096425 (29.6%)
Failed: 2/3096425 (0.0%)
Not supported: 2179376/3096425 (70.4%)
Warnings: 2/3096425 (0.0%)
Waived: 0/3096425 (0.0%)
Test run was ABORTED!
It says that the test run was aborted even though I didn't cancel it myself. The OS froze for about a minute before the tests finished and after it came back this was the result.
- Outer Wilds
- I use this one because it doesn't hang the system completely
- proton.log
- terminal.out
Any extra information would be greatly appreciated
I'm currently talking to the i915
developers about the dGPU not being turned off automatically when not in use. I don't think that it's relevant to this issue exactly but I think that it's something to keep in mind since there are kernel driver issues with this dGPU.
EDIT: Could be related to #10411 (moved)
The Resizable BAR seems to be on from `lspci`:Memory at 6000000000 (64-bit, prefetchable) [size=4G]
Taking into account that this dGPU has only 4GB of VRAM I think it is quite possible for it to be the same issue.