You are not logged in.

#1 2021-12-20 03:39:33

W.F.Cody
Member
From: Ghent
Registered: 2010-11-18
Posts: 155

RADV vs AMDVLK

Hi

I have a Renoir type APU (laptop model: https://www.msi.com/Business-Productivi … cification ) and I have this funny difference between RADV and AMDVLK.

In order to run Sway(-git) with a vulkan renderer, I have to use AMD_VULKAN_ICD=RADV, AMDVLK is not working
If I run vkcube under Sway, the RADV works and AMDVLK only gives a black screen.

Under X11 (i3), both RADV and AMDVLK work, but I get this output from each:

~ % AMD_VULKAN_ICD=AMDVLK vkcube
Selected GPU 0: Unknown AMD GPU, type: 1
~ % AMD_VULKAN_ICD=RADV vkcube
Selected GPU 0: AMD RADV RENOIR, type: 1

The cube also seems to spin a bit faster with RADV selected.

So is the Renoir type APU not detected/supported correctly by AMDVLK?

(on the flip side is AMDVLK performing much better on some games I have been trying out, for example Baldurs Gate 3 via Steam, where RADV causes a lot of weird artifacts and poor graphical quality)


My AUR packages
Any package of mine is up for grabs. If you think you could mantain it better - just contact me!

Offline

#2 2021-12-20 12:33:35

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 15,083

Re: RADV vs AMDVLK

AMDVLK sets itself as default, try running just vkcube on X .

You could also disable amd vulkan method to select  a gpu completely and use the icd loader method[1]

In general radv is better / stabler then amdvlk. However since you have atleast one application where amdvlk performs better you probably want to set radv as default and let selected applications use admvlk .

Please post the output of vulkaninfo --summary .

[1] https://wiki.archlinux.org/title/Vulkan … kan_driver


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

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#3 2021-12-20 17:32:52

W.F.Cody
Member
From: Ghent
Registered: 2010-11-18
Posts: 155

Re: RADV vs AMDVLK

with AMDVLK

~ % AMD_VULKAN_ICD=AMDVLK vulkaninfo --summary
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 3.  Skipping ICD.
==========
VULKANINFO
==========

Vulkan Instance Version: 1.2.202


Instance Extensions: count = 19
-------------------------------
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_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 = 13
---------------------------
VK_LAYER_AMD_switchable_graphics_32 AMD switchable graphics layer  1.2.197  version 1
VK_LAYER_AMD_switchable_graphics_64 AMD switchable graphics layer  1.2.197  version 1
VK_LAYER_KHRONOS_validation         Khronos Validation Layer       1.2.199  version 1
VK_LAYER_LUNARG_api_dump            LunarG API dump layer          1.2.189  version 2
VK_LAYER_LUNARG_device_simulation   LunarG device simulation layer 1.2.189  version 1
VK_LAYER_LUNARG_monitor             Execution Monitoring Layer     1.2.189  version 1
VK_LAYER_LUNARG_screenshot          LunarG image capture layer     1.2.189  version 1
VK_LAYER_MESA_device_select         Linux device selection layer   1.2.73   version 1
VK_LAYER_MESA_overlay               Mesa Overlay layer             1.1.73   version 1
VK_LAYER_VALVE_steam_fossilize_32   Steam Pipeline Caching Layer   1.2.136  version 1
VK_LAYER_VALVE_steam_fossilize_64   Steam Pipeline Caching Layer   1.2.136  version 1
VK_LAYER_VALVE_steam_overlay_32     Steam Overlay Layer            1.2.136  version 1
VK_LAYER_VALVE_steam_overlay_64     Steam Overlay Layer            1.2.136  version 1

Devices:
========
GPU0:
	apiVersion         = 4202693 (1.2.197)
	driverVersion      = 8388815 (0x8000cf)
	vendorID           = 0x1002
	deviceID           = 0x1636
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = Unknown AMD GPU
	driverID           = DRIVER_ID_AMD_OPEN_SOURCE
	driverName         = AMD open-source driver
	driverInfo         =
	conformanceVersion = 1.2.5.2

With RADV

~ % AMD_VULKAN_ICD=RADV vulkaninfo --summary
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 3.  Skipping ICD.
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
==========
VULKANINFO
==========

Vulkan Instance Version: 1.2.202


Instance Extensions: count = 19
-------------------------------
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_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 = 13
---------------------------
VK_LAYER_AMD_switchable_graphics_32 AMD switchable graphics layer  1.2.197  version 1
VK_LAYER_AMD_switchable_graphics_64 AMD switchable graphics layer  1.2.197  version 1
VK_LAYER_KHRONOS_validation         Khronos Validation Layer       1.2.199  version 1
VK_LAYER_LUNARG_api_dump            LunarG API dump layer          1.2.189  version 2
VK_LAYER_LUNARG_device_simulation   LunarG device simulation layer 1.2.189  version 1
VK_LAYER_LUNARG_monitor             Execution Monitoring Layer     1.2.189  version 1
VK_LAYER_LUNARG_screenshot          LunarG image capture layer     1.2.189  version 1
VK_LAYER_MESA_device_select         Linux device selection layer   1.2.73   version 1
VK_LAYER_MESA_overlay               Mesa Overlay layer             1.1.73   version 1
VK_LAYER_VALVE_steam_fossilize_32   Steam Pipeline Caching Layer   1.2.136  version 1
VK_LAYER_VALVE_steam_fossilize_64   Steam Pipeline Caching Layer   1.2.136  version 1
VK_LAYER_VALVE_steam_overlay_32     Steam Overlay Layer            1.2.136  version 1
VK_LAYER_VALVE_steam_overlay_64     Steam Overlay Layer            1.2.136  version 1

Devices:
========
GPU0:
	apiVersion         = 4202695 (1.2.199)
	driverVersion      = 88485987 (0x5463063)
	vendorID           = 0x1002
	deviceID           = 0x1636
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = AMD RADV RENOIR
	driverID           = DRIVER_ID_MESA_RADV
	driverName         = radv
	driverInfo         = Mesa 22.0.0-devel (git-84b21fea46)
	conformanceVersion = 1.2.7.1
GPU1:
	apiVersion         = 4202695 (1.2.199)
	driverVersion      = 1 (0x0001)
	vendorID           = 0x10005
	deviceID           = 0x0000
	deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	deviceName         = llvmpipe (LLVM 13.0.0, 256 bits)
	driverID           = DRIVER_ID_MESA_LLVMPIPE
	driverName         = llvmpipe
	driverInfo         = Mesa 22.0.0-devel (git-84b21fea46) (LLVM 13.0.0)
	conformanceVersion = 0.0.0.0

My AUR packages
Any package of mine is up for grabs. If you think you could mantain it better - just contact me!

Offline

#4 2021-12-21 13:31:52

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 15,083

Re: RADV vs AMDVLK

Ah, you are running aur mesa-git .

as far as I know amdvlk switching mechanism doesn't work well with 3 vulkan providers and there is a chance the lavapipe one was selected instead of radv .

I suggest you use

$ export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1

in an interactive shell and for testing use VK_ICD_FILENAMES instead (which doesn't care how many vulkan providers you have and allows choosing any of them).
See the link in #2 for more info.


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

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#5 2021-12-25 06:04:24

W.F.Cody
Member
From: Ghent
Registered: 2010-11-18
Posts: 155

Re: RADV vs AMDVLK

Lone_Wolf wrote:

Ah, you are running aur mesa-git .

as far as I know amdvlk switching mechanism doesn't work well with 3 vulkan providers and there is a chance the lavapipe one was selected instead of radv .

I suggest you use

$ export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1

in an interactive shell and for testing use VK_ICD_FILENAMES instead (which doesn't care how many vulkan providers you have and allows choosing any of them).
See the link in #2 for more info.

Thanks indeed when using VK_ICD_FILENAMES I remove the second "GPU" identified when I use RADV and some artifacts observed when running some games seem to disappear. This might make AMDVLK completely redundant / unneeded. I will keep it around for a bit just in case though.

Thanks!


My AUR packages
Any package of mine is up for grabs. If you think you could mantain it better - just contact me!

Offline

#6 2021-12-25 13:23:48

Lilitu-Blackstar
Member
Registered: 2021-12-23
Posts: 51

Re: RADV vs AMDVLK

for gaming i would suggest the vulkan-radeon myself... most games just run better with it and i get better stability/fps... outside of baldurs gate 3

iirc amdvlk has features that are not yet implemented in the radv drivers thoguht i cannot recall the wording of that source

Offline

Board footer

Powered by FluxBB