You are not logged in.
I just got arch re-installed after switching from an nvidia card to an AMD 7900 XT. I did a total wipe and just reinstalled from scratch. I'm now trying to game on this card, TF2 crashes instantly when installed natively, when installed through Proton it crashes when it starts loading a level, DOOM (2016) through Steam Proton loads but has a low FPS and flickers black, but only when set to Vulkan mode (it doesn't flicker but is still low FPS when set to OpenGL 4.5).
To get OpenGL running I had to install a few git versions of things from the aur. I initially followed this guide
Temporary Solution to get 7900 XT(X) to work
I ran this to show all the vulkan driver's I'm using:
$ pacman -Qs vulkan
local/amdvlk-git 2022.Q4.4.r0.3aecd9d-1
AMD's standalone Vulkan driver
local/lib32-amdvlk 2022.Q4.4-3
AMD's standalone Vulkan driver
local/lib32-mesa-git 23.1.0_devel.165203.edca10e9c90.d41d8cd98f00b204e9800998ecf8427e-1
an open-source implementation of the OpenGL specification, git version
local/lib32-vulkan-icd-loader 1.3.235-1
Vulkan Installable Client Driver (ICD) Loader (32-bit)
local/mesa-git 23.1.0_devel.165203.edca10e9c90.932463d268438ce945b21718552d92ab-1
an open-source implementation of the OpenGL specification, git version
local/spirv-tools-git 2022.4+54.g7e8813bb4c-1 (vulkan-devel)
API and commands for processing SPIR-V modules
local/vulkan-icd-loader 1.3.235-1
Vulkan Installable Client Driver (ICD) Loader
local/vulkan-tools 1.3.235-2 (vulkan-devel)
Vulkan Utilities and Tools
I'm currently running xmonad/X11
Last edited by vaelm (2023-01-14 09:10:45)
Offline
Ok, so installing the AMD proprietary vulkan drivers instead of amdvlk seems to work. The workarounds are no longer necessary as the pacman packages are apparently up to date. I still have problems with TF2 but switching to the proton version fixes it for now. I think TF2 crashing is caused by lib32-libx11 https://bbs.archlinux.org/viewtopic.php?id=282586
Last edited by vaelm (2023-01-14 09:09:09)
Offline
That is to say
$ pacman -Qs vulkan
local/lib32-vulkan-amdgpu-pro 22.40_1518373-1 (Radeon_Software_for_Linux)
AMDGPU Pro Vulkan driver (32-bit)
local/lib32-vulkan-icd-loader 1.3.235-1
Vulkan Installable Client Driver (ICD) Loader (32-bit)
local/lib32-vulkan-radeon-git 1:23.0.0_devel.165159.fa227969a31-1 (mesagit)
Radeon's Vulkan mesa driver (32-bit) (git version)
local/spirv-tools-git 2022.4+54.g7e8813bb4c-1 (vulkan-devel)
API and commands for processing SPIR-V modules
local/vulkan-amdgpu-pro 22.40_1518373-1 (Radeon_Software_for_Linux)
AMDGPU Pro Vulkan driver
local/vulkan-icd-loader 1.3.235-1
Vulkan Installable Client Driver (ICD) Loader
local/vulkan-radeon-git 1:23.0.0_devel.165159.fa227969a31-1 (mesagit)
Radeon's Vulkan mesa driver (git version)
local/vulkan-tools 1.3.235-2 (vulkan-devel)
Vulkan Utilities and Tools
Offline
local/vulkan-radeon-git 1:23.0.0_devel.165159.fa227969a31-1 (mesagit)
That doesn't look like one of the aur mesa trunk packages. It does look like it could come from LordHeavy's unofficial repo.
If so, are you aware it's build against testing / multilib-testing repos ?
Other then that, the output of vulkaninfo --summary would give more insight in your vulkan setup .
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
A couple things:
Looks like those drivers were from a previous attempt, they don't do anything by default if you have vulkan-amdgpu-pro installed, the proprietary vulkan driver is the only one I can get working right now either from the aur or pacman. That said I am also using mesa-git. Compiling from source worked fine but I switched to the unofficial repo after temporarily trying an alternative.
$ sudo pacman -Qs mesa
local/glu 9.0.2-3
Mesa OpenGL utility library
local/lib32-llvm-libs-git 16.0.0_r447936.f6ce39cf1d1d-1 (mesagit)
Low Level Virtual Machine library (runtime library)(32-bit)(git version)
local/lib32-mesa-git 1:23.0.0_devel.165159.fa227969a31-1 (mesagit)
an open-source implementation of the OpenGL specification (32-bit) (git version)
local/llvm-libs-git 16.0.0_r447927.296f7fbbb5c4-1 (mesagit)
LLVM runtime libraries (git version)
local/mesa-git 1:23.0.0_devel.165159.fa227969a31-1 (mesagit)
an open-source implementation of the OpenGL specification (git version)
local/mesa-utils 8.5.0-2
Essential Mesa utilities
$ sudo pacman -Qs vulkan
local/lib32-vulkan-amdgpu-pro 22.40_1518373-1 (Radeon_Software_for_Linux)
AMDGPU Pro Vulkan driver (32-bit)
local/lib32-vulkan-icd-loader 1.3.235-1
Vulkan Installable Client Driver (ICD) Loader (32-bit)
local/spirv-tools-git 2022.4+54.g7e8813bb4c-1 (vulkan-devel)
API and commands for processing SPIR-V modules
local/vulkan-amdgpu-pro 22.40_1518373-1 (Radeon_Software_for_Linux)
AMDGPU Pro Vulkan driver
local/vulkan-icd-loader 1.3.235-1
Vulkan Installable Client Driver (ICD) Loader
local/vulkan-tools 1.3.235-2 (vulkan-devel)
Vulkan Utilities and Tools
That said, here's vulkaninfo --summary
$ vulkaninfo --summary
==========
VULKANINFO
==========
Vulkan Instance Version: 1.3.235
Instance Extensions: count = 18
-------------------------------
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_wayland_surface : extension revision 6
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
Instance Layers: count = 4
--------------------------
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 = 1.3.232
driverVersion = 2.0.247
vendorID = 0x1002
deviceID = 0x744c
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = AMD Radeon Graphics
driverID = DRIVER_ID_AMD_PROPRIETARY
driverName = AMD proprietary driver
driverInfo = (LLPC)
conformanceVersion = 1.3.0.0
deviceUUID = 00000000-2b00-0000-0000-000000000000
driverUUID = 414d442d-4c49-4e55-582d-445256000000
Offline
At the moment there are several issues regarding RX 7xxx series, at least on my machine.
I guess your problem was solved, but I would like to point out some other solutions other users may find useful. Note that all of these solutions are for stable versions of packages, not the git ones.
Use actual version of AMDVLK. At the moment arch ships 2022.Q4.4-3 and it's outdated compared to AMD's 2023.Q2.1. It seems this repository package is not maintained at the moment, so you have to compile your own. You will need amdvlk and lib32-amdvlk. This solution gave me average performance and pretty bad frametimes, so I cannot use it, but it may work out for you. This implementation is selected in Steam by default.
Use AMD_VULKAN_ICD=RADV as commandline argument. This solution gave me the best performance in multiple games, frametimes were not stable, but gameplay is smooth.
More updates will come with new versions of Proton, Linux Kernel and Mesa, so just wait until they are shipped and updated in Arch. Obviously, not the best solution. It seems like RX 7xxx needs about 1 year after release on Linux to get all the patches. I've had RX 6800 XT and it was totally flawless, but I have bought it around 9 months after release.
Refer to: Another thread. Namely: Delete amdvlk and lib32-amdvlk as they are already implemented in Proton.
Hopefully it will be useful.
Last edited by flakusha (2023-04-20 01:59:58)
Offline