Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
AMD Mesa Vulkan RADV and AMDVLK heads up
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
ritzmax72
Tux's lil' helper
Tux's lil' helper


Joined: 10 Aug 2014
Posts: 110

PostPosted: Tue Oct 29, 2024 10:03 am    Post subject: AMD Mesa Vulkan RADV and AMDVLK heads up Reply with quote

Despite what the gentoo page says https://wiki.gentoo.org/wiki/AMDVLK
that RADV and AMDVLK can co-exists and simply switching them with environment variables will make application use particular implementation;
that is not correct.

This worked for "Sons of the forest" as I switched between two drivers to measure difference but for Elden Ring the mere presence of amdvlk-bin made it crashed/suspended.
Elden Ring will start but it crashes/suspends before going into game world no matter what value you use for AMD_VULKAN_ICD=RADV/AMDVLK.

Uninstalling amdvlk-bin fixes Elden Ring and it runs fine with RADV.
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6065
Location: Removed by Neddy

PostPosted: Fri Nov 01, 2024 10:39 pm    Post subject: Reply with quote

When amdvlk is installed, then VK_ICD_FILENAMES is ignored and AMD_VULKAN_ICD is read instead. However, AMD_VULKAN_ICD does not allow you select pro driver.

The best way to manage this, if you have the 3 types of drivers ( radv, amdvlk and pro) is to
1. disable switchable export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1

2. set VK_ICD_FILENAMES to the appropriate driver


Code:


#!/bin/bash

# This script applies amdvlk-pro/amdvlk/radv Vulkan driver for specific application.
# You can see the list of available drivers with vulkaninfo utility, see the driverName and driverID lines.
#
# Usage:
#   <vk_radv|vk_amdvlk|vk_pro> <app and its parameters>
# For example:
#   $ vk_pro vkmark
# This will start vkmark with AMDGPU PRO vulkan driver.

# When amdvlk is installed, then VK_ICD_FILENAMES is ignored and AMD_VULKAN_ICD is read instead. However, AMD_VULKAN_ICD does not allow you (afaics) select pro driver.
# So we revert this behavior to standard one.
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1

ICD_DIR="/usr/share/vulkan/icd.d"

vk_radv() {
    export VK_ICD_FILENAMES="${ICD_DIR}/radeon_icd.i686.json:${ICD_DIR}/radeon_icd.x86_64.json"
}

vk_amdvlk() {
    export VK_ICD_FILENAMES="${ICD_DIR}/amd_icd32.json:${ICD_DIR}/amd_icd64.json"
}

vk_pro() {
    export VK_ICD_FILENAMES="${ICD_DIR}/amd_pro_icd32.json:${ICD_DIR}/amd_pro_icd64.json"
}

if [[ $(basename $0) == vk_radv ]]; then
    vk_radv
elif [[ $(basename $0) == vk_amdvlk ]]; then
    vk_amdvlk
elif [[ $(basename $0) == vk_pro ]]; then
    vk_pro
else
    echo "Unknown function"
    exit 1
fi

# applied variables, now execute the rest of the command
"$@"

_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum