Open Zeioth opened 9 months ago
VKD3D_FILTER_DEVICE_NAME
only works if the game does not explicitly pass a DXGI adapter to D3D12CreateDevice. If a game does explicitly pass the adapter, then only the DXVK env var will work.
But yeah, we could consider supporting both environment variables in one of the projects to make this less clunky.
ApexLegends is nice to test this:
VKD3D_FILTER_DEVICE_NAME="AMD Radeon RX 6700 XT" %command% -dev -eac_launcher_settings SettingsDX12.json
DXVK_FILTER_DEVICE_NAME="AMD Radeon RX 6700 XT" %command%
Also, I'm sure it's filtering the wrong GPU because the performance drops X6.
Given we use DXVK DXGI now, that env-var should be deprecated I think.
Given we use DXVK DXGI now, that env-var should be deprecated I think.
By any chance, could we use a new env-var that is universal to both DXVK and VKD3D-Proton games to prevent confusion that might come from having to use DXVK's env-var for device filtering?
I've re-tested with proton-experimental and mesa 23.2.1-2. Something has changed:
DXVK_FILTER_DEVICE_NAME="AMD Radeon RX 6700 XT"
is indeed enough. Very likely this change has been introduced either on proton-experimental or in the latest Cyberpunk update.Filter didn't work for me as well, but this one VKD3D_VULKAN_DEVICE=0 %command%
worked. Just had to make sure that device 0 is discrete video-card.
Filter didn't work for me as well, but this one
VKD3D_VULKAN_DEVICE=0 %command%
worked. Just had to make sure that device 0 is discrete video-card.
I can confirm that works for Apex Legends on DX12 mode.
I keep the issue opened because the problem remains with DXVK_FILTER_DEVICE_NAME
/VKD3D_FILTER_DEVICE_NAME
not working as expected with the DX12 games mentioned above.
System information
Issue description
I'm using MANGOHUD with the config opiton
gpu_name
so I can see the name of the GPU the game is using, and launching my games withVKD3D_FILTER_DEVICE_NAME="AMD Radeon RX 6700 XT"
(the same string I've been using successfully with all my DX11 DVXK games for years with DXVK_FILTER_DEVICE_NAME), but the results are mixed with VKD3D.Launch parameters
mangohud AMD_VULKAN_ICD=RADV VKD3D_FILTER_DEVICE_NAME="AMD Radeon RX 6700 XT" %command%
mangohud AMD_VULKAN_ICD=RADV VKD3D_FILTER_DEVICE_NAME="AMD Radeon RX 6700 XT" %command% --intro-skip --skipStartScreen -modded
mangohud AMD_VULKAN_ICD=RADV VKD3D_FILTER_DEVICE_NAME="AMD Radeon RX 6700 XT" %command% -dev -novid -eac_launcher_settings SettingsDX12.json
Just to clarify, all games launch without errors.
Log files