Thx you all for reply. I managed to fix that. Consider this as little guide for who next will have same trouble.
FIrst things - look at logs. I launched UE from console to see logs or desktop link to have logs inside UE.
The logs says -
ogVulkanRHI: Display: * VK_LAYER_VALVE_steam_overlay_32
LogVulkanRHI: Display: * VK_LAYER_VALVE_steam_overlay_64
LogVulkanRHI: Creating Vulkan Device using VkPhysicalDevice 0x22591e00.
LogVulkanRHI: Display: - DeviceName: AMD Radeon RX 6800
LogVulkanRHI: Display: - API=1.4.313 (0x404139) Driver=0x80015d VendorId=0x1002
LogVulkanRHI: Display: - DeviceID=0x73bf Type=VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
LogVulkanRHI: Display: - Max Descriptor Sets Bound 32, Timestamps 1
LogVulkanRHI: API Version: 1.4.313
LogRHI: RHI Adapter Info:
LogRHI: Name: AMD Radeon RX 6800
LogRHI: Driver Version: 2.0.349 (internal:2.0.349, unified:)
LogRHI: Driver Date: 01-01-01
LogRHI: Warning: Out of date driver found. Using: '2.0.349' Suggested: '23.3.1'
This actually were at 5.6 and same at 5.5.4.
For those who dont know - at linux there is AMDVLK driver and RADV. The RADV -is opensource community driver that includet at mesa package. The AMDVLK is propreate.
So the thing is that i have latest mesa package installed and my drive version is actually must be 25.1.6 not 2.0.349 for sure.
So i’ve checket “how UE and whole system pick driver version?”
and I really saw that no matter I have latest mesa I have actually old version
vulkaninfo | grep -A 10 "VkPhysicalDeviceProperties"
VkPhysicalDeviceProperties:
---------------------------
apiVersion = 1.4.313 (4211001)
driverVersion = 2.0.349 (8388957)
vendorID = 0x1002
deviceID = 0x73bf
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = AMD Radeon RX 6800
I start dig more and know that this configuration for drivers usually somethere here -
ls /usr/share/vulkan/icd.d/
amd_icd32.json amd_icd64.json radeon_icd.i686.json radeon_icd.x86_64.json
There is usually one ICD file for each driver and architecture:
- ‘amd_icd32.json’ is a 32-bit proprietary AMD Vulkan driver (AMDVLK)
- ‘amd_icd64.json’ is a 64-bit AMDVLK
- ‘radeon_icd.i686.json’ is a 32-bit open source RADV driver (Mesa)
- ‘radeon_icd.x86_64.json’ is a 64-bit RADV (Mesa)
and system variable “VK_ICD_FILENAMES” at my system were not set. Dont know why but not matter.
So if I will launch like -
UE VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json ./UnrealEditor
everything will be fine.
So If the variable is not set (empty), Vulkan automatically searches for ICD files in standard system directories, e.g. ‘/usr/share/vulkan/icd.d/’.
If the variable is set, Vulkan will use only those ICD files that are specified in it (you can specify one or more paths separated by a colon).
So I may add to bashrc or to enviroment. So i’ve added -
cat /etc/environment
#
# This file is parsed by pam_env module
#MANGOHUD=1
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json
reboot
and now all logs were good
LogVulkanRHI: Creating Vulkan Device using VkPhysicalDevice 0x1a62900.
LogVulkanRHI: Display: - DeviceName: AMD Radeon RX 6800 (RADV NAVI21)
LogVulkanRHI: Display: - API=1.4.311 (0x404137) Driver=0x6401006 VendorId=0x1002
LogVulkanRHI: Display: - DeviceID=0x73bf Type=VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
LogVulkanRHI: Display: - Max Descriptor Sets Bound 32, Timestamps 1
LogVulkanRHI: Display: - Calibrated Timestamp Domain: VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR.
LogVulkanRHI: API Version: 1.4.311
LogRHI: RHI Adapter Info:
LogRHI: Name: AMD Radeon RX 6800 (RADV NAVI21)
LogRHI: Driver Version: 25.1.6 (internal:25.1.6, unified:)
LogRHI: Driver Date: 01-01-01
LogVulkanRHI: Display: Found 215 available device extensions :
LogVulkanRHI: Display: + VK_AMD_buffer_marker
So people… always look at logs no matter what
I hope this my note will help some one in the future. Good luck all!