You are not logged in.

#1 2022-12-20 03:26:22

SupKurtJ
Member
Registered: 2015-07-18
Posts: 46

[SOLVED] Why by default vulkan driver choose the amd pro

Hi,

I've installed the amd pro vulkan driver to use it with OBS AMF like this :

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json:/usr/share/vulkan/icd.d/amd_pro_icd32.json obs

But since it's installed, when I launch games using vulkan, they use the amd pro vulkan driver instead the open radeon vulkan driver.

Is it normal ?

The workaround it is to launch games on steam changing the variable :

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json %command%

Last edited by SupKurtJ (2022-12-21 12:29:33)

Offline

#2 2022-12-20 08:05:49

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,919

Re: [SOLVED] Why by default vulkan driver choose the amd pro

Up to how things are enumerated, check the output of

vulkaninfo --summary

on a guess I'd say make sure vulkan-mesa-layers is installed. But there was a thread earlier where we identified that actually changing the variable is the only sure fire way to guarantee which implementation is used.

As a "workaround" you could just globally export the VK_ICD_FILENAMES variable set for radeon and only change it when you explicitly want amd: https://wiki.archlinux.org/title/Enviro … s#Globally

Offline

#3 2022-12-20 11:14:36

SupKurtJ
Member
Registered: 2015-07-18
Posts: 46

Re: [SOLVED] Why by default vulkan driver choose the amd pro

Hi V1del and thanks for your answer.

vulkaninfo --summary
==========
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 = 7
--------------------------
VK_LAYER_MANGOHUD_overlay         Vulkan Hud Overlay           1.3.0    version 1
VK_LAYER_OBS_vkcapture_32         OBS Linux game capture       1.3.235  version 1
VK_LAYER_OBS_vkcapture_64         OBS Linux game capture       1.3.235  version 1
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         = 4206804 (1.3.212)
	driverVersion      = 8388833 (0x8000e1)
	vendorID           = 0x1002
	deviceID           = 0x731f
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = AMD Radeon RX 5700 XT
	driverID           = DRIVER_ID_AMD_PROPRIETARY
	driverName         = AMD proprietary driver
	driverInfo         = 
	conformanceVersion = 1.3.0.0
	deviceUUID         = 00000000-0800-0000-0000-000000000000
	driverUUID         = 414d442d-4c49-4e55-582d-445256000000
GPU1:
	apiVersion         = 4206822 (1.3.230)
	driverVersion      = 92286977 (0x5803001)
	vendorID           = 0x1002
	deviceID           = 0x731f
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = AMD Radeon RX 5700 XT (RADV NAVI10)
	driverID           = DRIVER_ID_MESA_RADV
	driverName         = radv
	driverInfo         = Mesa 22.3.1
	conformanceVersion = 1.2.7.1
	deviceUUID         = 00000000-0800-0000-0000-000000000000
	driverUUID         = 414d442d-4d45-5341-2d44-525600000000

As you can see, GPU0 has the proprietary driver, and GPU1 the Mesa driver.
But what it does mean ? I have on only one GPU...

So what I understand, vulkan-mesa-layers allows to change the GPU with this variable MESA_VK_DEVICE_SELECT ?

I also think that the best solution is to export globally VK_ICD_FILENAMES.

Last edited by SupKurtJ (2022-12-20 11:14:54)

Offline

Board footer

Powered by FluxBB