Citizen839X
New member
System Information
- OS: openSUSE Tumbleweed (fully updated)
- Kernel: Linux 6.18.6-1-default
- Desktop: GNOME 49.2 (Wayland) / Xfce 4.20 (X11) – issue occurs on both
- CPU: AMD Ryzen 7 5700G (with integrated Radeon Vega 8)
- Motherboard: ASUS Prime B550M-A CSM (UEFI Firmware v3607)
- Memory: Kingston Fury DDR4 64.0 GiB @ 3200 MHz
- Discrete GPU: Intel Arc Battlemage B580 (GDDR6)
- Drivers: Mesa (25.3.3), Intel Vulkan ANV, AMD RADV
- API used: Vulkan (native, no Proton)
Description of the Issue
After a recent Deadlock update, the game consistently selects the integrated GPU (AMD Radeon Vega 8) instead of the discrete GPU (Intel Arc Battlemage) on Linux systems with multiple Vulkan-capable GPUs.
This happens even though:
- Vulkan is explicitly selected in the game settings
- The game is launched natively on Linux (no Proton)
- The discrete GPU is fully functional and correctly used by other Vulkan games
- Performance monitoring (btop, LACT, MangoHud) confirms GPU usage on the iGPU only
As a result:
- Performance is significantly reduced
- Visual quality must be lowered
- The discrete GPU remains idle
Expected Behavior
Deadlock should:
- Prefer the discrete GPU over the integrated GPU on multi-GPU systems
or - Expose a GPU selection option (in-game or via launch parameters)
or - Respect standard Vulkan environment variables used for device selection
Actual Behavior
- Deadlock always selects the first Vulkan device enumerated by the system (iGPU)
- The engine ignores standard Vulkan GPU selection mechanisms
The following methods were tested and do not work:
- VK_ICD_FILENAMES
- VK_DEVICE_SELECT
- DRI_PRIME=1
- Forcing a specific Vulkan ICD via Steam launch options
Example (ignored by the game):
<span><span>VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json %</span><span><span>command</span></span><span>%<br></span></span>
This suggests that Source 2 performs its own internal Vulkan device enumeration and selection, bypassing the Vulkan loader’s standard override mechanisms.
Workaround (Not Ideal)
The only effective workaround found is to temporarily disable the Vulkan ICD for the iGPU, forcing the engine to see only the discrete GPU:
<span><span><span>sudo</span></span><span> </span><span><span>mv</span></span><span> /usr/share/vulkan/icd.d/radeon_icd.x86_64.json \<br> /usr/share/vulkan/icd.d/radeon_icd.x86_64.json.disabled<br></span></span>
This is obviously not a desirable solution for end users.
Why This Is a Bug
- Multi-GPU Vulkan systems are common on Linux (APU + dGPU)
- Other Vulkan titles (including non-Deadlock Source 2 titles) correctly use the discrete GPU
- Ignoring standard Vulkan device selection mechanisms breaks expected behavior
- There is currently no supported way for users to override GPU selection
Suggested Improvements
Any of the following would resolve the issue:
- Prefer discrete GPUs over integrated GPUs by default
- Add a GPU selection option in settings
- Support a launch option such as -gpu N
- Respect Vulkan environment variables (VK_DEVICE_SELECT, ICD filtering)
Additional Notes
- Intel Arc Battlemage works correctly with Vulkan on Linux in other games
- Performance, thermals, and stability are excellent when the discrete GPU is used
- This appears to be a regression introduced by a recent update
Summary
Deadlock currently forces Vulkan rendering on the integrated GPU on Linux multi-GPU systems, with no user override. This is a regression and should be addressed to ensure correct GPU utilization and expected performance.