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.json results in the AMDVLK one
  • export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json results 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 !

  • SavvyBeardedFish@reddthat.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 hour ago

    FYI:

    the default, one of AMDVLK and RADV

    I think that AMDVLK is shipping RADV per default now, so you might as well use RADV (for gaming, there might be other differences in OpenCL etc.), see Github/AMDVLK for more information;

    In a move to streamline development and strengthen our commitment to the open-source community, AMD is unifying its Linux Vulkan driver strategy and has decided to discontinue the AMDVLK open-source project, throwing our full support behind the RADV driver as the officially supported open-source Vulkan driver for Radeon™ graphics adapters.

  • who@feddit.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 hours ago

    You should be aware that Blizzard/Microsoft make changes to Battle.net somewhat often, and they have a habit of breaking it in Wine. It might work fine for a week or a year, only to get an update and suddenly misbehave or fail completely until the community has time to figure out what changed and develop a fix.

    On a few occasions, the breakage has been in a new version of drive_c/ProgramData/Battle.net/Agent/Agent.*. People who still had the older version installed were able to work around it by removing all permissions from the new version’s directory and marking it immutable with chattr. Battle.net then fell back to using the previous version, allowing games to run until a fix in Wine was developed.

    Also, fixes make it into some Wine variants faster than others. For example, last time I dealt with this stuff, I found that the GE-Proton9-27 build of Wine handled Blizzard games pretty well while others did not.

    With all that in mind, I wonder if the problems you’ve been seeing are not rooted in your Vulkan drivers, but instead the usual pattern of Battle.net updates fighting with Wine. It’s possible that you’ll just have to accept Blizzard games breaking on Linux every once in a while, and when they do, updating the Wine runner you use in Lutris when one with a fix becomes available.

  • PersVyth@lemmy.zipOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    7 hours ago

    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-fcb9ffff
    

    After 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-layers and their lib32 counterparts. Do you think it will do the trick ?

    Thank you very much for your attention and help.

    • just_another_person@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 hours ago

      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?

      • PersVyth@lemmy.zipOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 hours ago

        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).

          • PersVyth@lemmy.zipOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 hours ago

            At the moment GE-Proton10-27 to lock a working version, by the past it worked with Proton Experimental too (but this one is constantly evolving, that’s why I avoid it now). I tried some others but none of them work when proton doesn’t.

            • just_another_person@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              2 hours ago

              Try just ‘Proton-GE’ (not the named version one), and not ‘GE-Proton’.

              Don’t run with the latest release of any of the regular Proton versions, especially Experimental because it’s unstable by nature.

              • PersVyth@lemmy.zipOP
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 hour ago

                Why should I since battle net works at the moment with the previous mentioned version ?

                • just_another_person@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  1 hour ago

                  Because if you’re having stability issues, it’s NOT working well. The versions di mentioned is specifically targeted to work with Lutris, but the ones you’re running it on are not. Probably why you’re having issues.

  • just_another_person@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    9 hours ago

    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.

  • petrichornetrainfall@piefed.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 hours ago

    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