Hello everyone, I have an issue with my vulkan install. Here is my general problem : I use my linux computer to play video games and I encounter instabilities with Blizzard’s Battle net. It seems to me that a good idea would be to identify the versions of the working installation (Proton, DXVK, Vulkan) and save them for backup or to prevent upgrades that could break it.
Concerning vulkan, my problem states as follow : I don’t know which is my current used implementation nor to which package and dynamic library it corresponds. It seems that there is 3 different implementations on my system : the default, one of AMDVLK and RADV. To make it clear, here are the commands used to switch between them :
- doing nothing results in the default one
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_icd64.jsonresults in the AMDVLK oneexport VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.jsonresults in the RADV one
If it can help, I uploaded the corresponding vulkaninfo --show-all outputs here (txt and html formats).
Of course, Battle net works only with the unidentified one. I would like to obtain the following informations about it : type (amdvlk or radv), version(s), associated dynamic libraries paths, package name in my package manager. Can somebody help me to gather (even a part of) these infos ?
As a related question : since the default implementation is not associated to the previous mentioned icd files, can I generate one in order to make the install cleaner ?
Here is my neofetch output :
OS: Arch Linux x86_64
Host: MS-7C94 1.0
Kernel: 6.18.1-arch1-2
Uptime: 2 hours, 50 mins
Packages: 1253 (pacman)
Shell: bash 5.3.9
Resolution: 1920x1080
WM: i3
CPU: AMD Ryzen 7 3800X (16) @ 4.559GHz
GPU: AMD ATI Radeon RX 5500/5500M / Pro 5500M
Memory: 5803MiB / 15910MiB
Thank you very much for your attention and help !
Thank you very much for your answers.
I am using X11 and I launch battle net through lutris. It was hard to compare because I only played battle net games last months, but when I launch steam games from lutris, it works as good as if launched from steam.
I experienced instabilities : battle net works then cannot be launched some weeks later then works again after some other weeks. I upgrade my packages every week, that’s why I suspect this problem comes from incompatible upgrades.
I have only one gpu :
# lshw -C video *-display description: VGA compatible controller product: Navi 14 [Radeon RX 5500/5500M / Pro 5500M] vendor: Advanced Micro Devices, Inc. [AMD/ATI] physical id: 0 bus info: pci@0000:2d:00.0 logical name: /dev/fb0 version: c5 width: 64 bits clock: 33MHz capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb configuration: depth=32 driver=amdgpu latency=0 resolution=1920,1080 resources: irq:77 memory:d0000000-dfffffff memory:e0000000-e01fffff ioport:e000(size=256) memory:fcb00000-fcb7ffff memory:fcb80000-fcb9ffffAfter your comments I had the idea to test other windows pure games and it the result is the following : none of them work with the previous mentioned ICDs, so those latter seem nonworking. Thus I will avoid them, as advised by @[email protected].
During nonworking periods, I had no error messages from battle net or lutris, just the Play button turning to Stop then to Play again after few seconds. So battle net just crashed at startup.
I consider excluding the following packages from upgrades :
mesa vulkan-radeon vulkan-icd-loader vulkan-mesa-implicit-layersand theirlib32counterparts. Do you think it will do the trick ?Thank you very much for your attention and help.
Ok…backup a second.
Are you launching your Lutris games through Steam all the time? Depending on how you’re doing this, it could certainly be the problem.
Can you show the launch command being used to start Battle.net if doing this from Steam? Does it seem more stable if you only launch through Lutris?
I never launch lutris games through Steam. I wanted to say that I did the following tests :
- Launch steam games through lutris, in order to verify how lutris work.
- Launch windows-only games other than battle net through lutris, in order to verify the behavior of the
export VK_ICD_FILENAMES=commands on other games.
It appeared that steam games launched through lutris work (so, in my opinion, lutris works) and games launched with the
export VK_ICD_FILENAMES=commands never run (so, in my opinion, those ICD files do not define a working vulkan environment).
Vulkan is just the API interface to your graphics hardware. It’s not directly involved with any functionality of the Battle.net launcher in any way.
If the launcher is having issues, then it has to do with whatever is running that launcher. Can you explain more about how you have it running? Is it running under Proton/Lutris/Heroic? What are the actual issues you’re seeing? Any error messages?
The entire point of these Wine managers is that you don’t need to fiddle with the underlying Vulkan settings. The configurations for each prefix do this for you, and you tweak the settings there. You don’t want to make global changes to your Vulkan configs as you are describing unless there is a defined issue with your system as a whole, which it sounds like there is not. Only with this one program.
Disclaimer, without doing a bunch of digging, my advice will be limited.
Some questions, are you using X11 or wayland?
Are you launching battle.net through a different method than the games that do work, i.e. are all your steam games running fine but you launch battle.net through lutris or bottles or something?
How long has your install been up and running?
It looks like the vulkan that works is a slightly higher version than the amd and rad ones (the first lines from the files you posted). Vulkan should be getting pulled in by Mesa, i would check to see if you have multiple versions of Mesa installed as well.
Depending on the cutoff year (when amdgpu as a default driver got replaced with RADV) , whether your cpu has a igpu (again, didn’t look up what gen those where), you could have 2 separate AMD drivers being installed, one for your igpu, and one for your dgpu.
Also the ones that are labeled (that don’t work but do output when you run those commands) could be used and pulled in because of X11, where the “unidentifed” is being used by wayland) i could be misreading, but i belive that command around pathing is more for X11 than wayland.
TLDR: the versions should be the first line in the texts you shared. Id figure out what is pulling and installing all 3 of those as deps for you to end up with them on your machine (unlabeled probably mesa, amd and rad probably drivers), and to research id look for some tools to debug and log what happens when you run a program so you can see the paths and LIBS hit.
Looks like you probably already hit this link: https://wiki.archlinux.org/title/Vulkan
Id check out this one too: https://wiki.archlinux.org/title/AMDGPU

