ValveSoftware / Dota-2-Vulkan

Tracker for issues specific to the Vulkan version of Dota 2 on Windows, Linux, and macOS
101 stars 17 forks source link

SDL_VIDEODRIVER=wayland not working with -vulkan #282

Open konstantinblaesi opened 6 years ago

konstantinblaesi commented 6 years ago

Your system information

Please describe your issue in as much detail as possible:

Environment:

Steps for reproducing this issue:

  1. add -vulkan to start options
  2. game doesn't start, error message:

the selected graphics queue does not support presenting a swapchain image

When setting SDL_VIDEODRIVER=x11 instead of SDL_VIDEODRIVER=wayland the game starts.

konstantinblaesi commented 5 years ago

Updates? Is it an issue with the Gnome/Linux stack or Dota 2 itself?

romulasry commented 5 years ago

SDL_VIDEODRIVER=wayland steam and I get:

Error LoadSystemAndDependencies(): AppSystemDict: Error in Init() of interface 'RenderDeviceMgr001'!

When trying to run dota2.

romulasry commented 5 years ago

Updates? Is it an issue with the Gnome/Linux stack or Dota 2 itself?

Dota2.

Someone on gamingonlinux.com said it might have been something to do with the old sdl library the game ships with. They all need updated to support wayland.

konstantinblaesi commented 5 years ago

@romulasry I am running dota 2 on fedora 29 with gnome/wayland and I use the system provided SDL library, see #282

cRaZy-bisCuiT commented 5 years ago

@romulasry I am running dota 2 on fedora 29 with gnome/wayland and I use the system provided SDL library, see #282 Well, that works, but not in combination with vulkan for me.

Possible setup

Game crashes

Any updates on the issue?

simvux commented 5 years ago

Can confirm that this is still an issue. Unsure if it's a SDL2 bug or Dota 2 bug

romulasry commented 4 years ago

Update?

cRaZy-bisCuiT commented 4 years ago

EDIT: Seems I was wrong... it was supposed to run with Wayland but it was using Xwayland. :'/

I tried on Arch with the latest available kernel + mesa stack there and Intel and it was working with vulkan + wayland - at least it was starting. Can I somehow check if xwayland or wayland was in use and if vulkan worked?

With AMD (RX 480 8 GB) it failed.

cRaZy-bisCuiT commented 4 years ago

Any update on that ropic? Maybe @rcgordon could have a look please? :)

Kuphi commented 4 years ago

This issue still persists. When using a Ubuntu 20.04 wayland session, I can not start the game with -vulkan at all. Neither LD_PRELOAD=/lib64/libSDL2-2.0.so.0 SDL_VIDEODRIVER=wayland -vulkan nor SDL_VIDEODRIVER=x11 -vulkan seem to work. The PC completely freezes, so I have to reboot. Hardware: Ryzen 7 4700U with integrated Vega graphics. No dedicated GPU.

In a X11 session, i can use -vulkan without issues. (But X11 does have other bugs, e.g. super tiny steam launcher when using fractional scaling 125%)

I have installed:

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils

and the latest kernel: 5.8.12 I also changed a line in Grub to: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=pt"

sinaflan commented 4 years ago

LD_PRELOAD=/lib64/libSDL2-2.0.so.0 SDL_VIDEODRIVER=wayland %command% -vulkan 2020-09-29 20-30-38

Kuphi commented 4 years ago

LD_PRELOAD=/lib64/libSDL2-2.0.so.0 SDL_VIDEODRIVER=wayland %command% -vulkan 2020-09-29 20-30-38

Any details about your setup?

sinaflan commented 4 years ago

LD_PRELOAD=/lib64/libSDL2-2.0.so.0 SDL_VIDEODRIVER=wayland %command% -vulkan 2020-09-29 20-30-38

Any details about your setup?

Radeon RX 590 Series (POLARIS10, DRM 3.38.0, 5.8.10-un-def-alt1, LLVM 10.0.1)

geez0x1 commented 4 years ago

Same as @Kuphi on an RX580 - however I cannot get it to work with Wayland and -gl either; in that case I get:

InitializeDisplayDB():
Unable to create dummy window for GLMDisplayDB.

Any suggestions for that?

DrBanana419 commented 3 years ago

Any development on this? I tested with a newer version of SDL2 (SDL2-2.0.so.0.14.0) and it didn't work. Also tested with AMDVLK and the proprietary AMDGPU-PRO vulkan driver. I can run it with OpenGL though.

romulasry commented 3 years ago

Update?

konstantinblaesi commented 3 years ago

@kisak-valve can you give us any updates what the status of this is? Maybe more details which parts of the stack need to be adapted/fixed?

icculus commented 3 years ago

There has been a ton of Wayland support work done to SDL in the past few weeks; if anyone is so inclined, I'd appreciate if you build the latest from revision control (now on GitHub!) and see if it improves the situation.

If not, feel free to file bugs with SDL on this (also now on GitHub!), since I assume most of these sorts of issues are going to be related to SDL more than Dota2. We can always toss it back here if appropriate.

sinaflan commented 3 years ago

last https://github.com/ValveSoftware/Dota-2-Vulkan/issues/282#issuecomment-700649906 now (SDL from git):

2021-04-26 20-09-13

icculus commented 3 years ago

That error might be a Wayland bug or a Dota bug, but that specific thing probably isn't an SDL bug, fwiw.

There's a non-zero chance this is just Vulkan+Wayland isn't working on your system, though. Since you were comfortable building SDL from git, can you go into SDL/test, run configure/make, and then try running SDL_VIDEODRIVER=wayland ./testvulkan ...?

If you get a window that's just slowly fading from one solid color to the next, you definitely have a system that can handle the world's most simple Vulkan application on Wayland (and can hit ESC to close the window). If not, we know this is probably a system configuration issue or a driver bug.

If this does work...we'd have to see what Dota2 is doing under the hood...maybe it assumes a Vulkan graphics queue can also accept present commands, and panics if not, but that's just how Wayland sets things up but X11 doesn't? That seems unlikely for several reasons.

So let's try testvulkan first and rule out easy culprits.

sinaflan commented 3 years ago

@icculus it works

222

icculus commented 3 years ago

Then this is back in Valve's hands, sorry.

sinaflan commented 2 years ago

new error

Снимок экрана от 2021-12-13 00-37-37

cRaZy-bisCuiT commented 2 years ago

EDIT: Sorry, false alarm. It does still not work. Steam didn't catch my "-vulkan" flag.


For me it's working now. Seems like the missing wl roots implementation of Vulkan caused the problem. I use the following version now:

 gandalf@mittelerde ~ pacman -Qi sway
Name                     : sway
Version                  : 1:1.6.1-3
Beschreibung             : Tiling Wayland compositor and replacement for the i3 window manager
Architektur              : x86_64
URL                      : https://swaywm.org/
Lizenzen                 : MIT
Gruppen                  : Nichts
Stellt bereit            : Nichts
Hängt ab von             : cairo  gdk-pixbuf2  json-c  pango  polkit  pcre  swaybg  ttf-font  wlroots
Optionale Abhängigkeiten : alacritty: Terminal emulator used by the default config
                           dmenu: Application launcher [Installiert]
                           grim: Screenshot utility
                           i3status: Status line [Installiert]
                           mako: Lightweight notification daemon
                           slurp: Select a region
                           swayidle: Idle management daemon
                           swaylock: Screen locker [Installiert]
                           wallutils: Timed wallpapers
                           waybar: Highly customizable bar
                           xorg-xwayland: X11 support [Installiert]
Benötigt von             : Nichts
Optional für             : Nichts
In Konflikt mit          : Nichts
Ersetzt                  : Nichts
Installationsgröße       : 5,58 MiB
Packer                   : Maxim Baz <pgp@maximbaz.com>
Erstellt am              : Mo 17 Jan 2022 11:30:12 CET
Installiert am           : Mo 17 Jan 2022 12:38:41 CET
Installationsgrund       : Ausdrücklich installiert
Installations-Skript     : Nein
Verifiziert durch        : Signatur

 gandalf@mittelerde ~ pacman -Qi wlroots 
Name                     : wlroots
Version                  : 0.14.1-3
Beschreibung             : Modular Wayland compositor library
Architektur              : x86_64
URL                      : https://gitlab.freedesktop.org/wlroots/wlroots
Lizenzen                 : MIT
Gruppen                  : Nichts
Stellt bereit            : libwlroots.so=9-64
Hängt ab von             : libinput  libseat.so=1-64  libxkbcommon  opengl-driver  pixman  xcb-util-errors  xcb-util-renderutil  xcb-util-wm
Optionale Abhängigkeiten : xorg-xwayland: Xwayland support [Installiert]
Benötigt von             : sway
Optional für             : Nichts
In Konflikt mit          : Nichts
Ersetzt                  : Nichts
Installationsgröße       : 988,16 KiB
Packer                   : Maxim Baz <pgp@maximbaz.com>
Erstellt am              : Mo 17 Jan 2022 11:19:35 CET
Installiert am           : Mo 17 Jan 2022 12:38:41 CET
Installationsgrund       : Installiert als Abhängigkeit eines anderen Pakets
Installations-Skript     : Nein
Verifiziert durch        : Signatur
vially commented 2 years ago

@cRaZy-bisCuiT Can you share a bit more details about your setup (e.g.: SDL version, mesa version, GPU)?

I'm also on Arch (btw) with the exact same version of sway and wlroots installed and I still get the error message mentioned earlier in this thread (https://github.com/ValveSoftware/Dota-2-Vulkan/issues/282#issuecomment-826749684).

konstantinblaesi commented 2 years ago

DRI_PRIME=1 LD_PRELOAD=/lib64/libSDL2-2.0.so.0 SDL_VIDEODRIVER=wayland %command%

still gives me amdgpu_error_graphics_queue_no_support_forswapchain_image

Using OpenGL by adding -gl makes it work but I would rather use vulkan:

DRI_PRIME=1 LD_PRELOAD=/lib64/libSDL2-2.0.so.0 SDL_VIDEODRIVER=wayland %command% -gl

Intel iGPU AMD RX 480 dGPU (driver amdgpu) Fedora 35

Saroumane commented 2 years ago

Ubuntu 21.10 here If I launch Dota2 (vulkan) with LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 SDL_VIDEODRIVER=wayland I get same error like https://github.com/ValveSoftware/Dota-2-Vulkan/issues/282#issuecomment-1014876325 Screenshot from 2022-01-18 20-42-51

The system-provided lib looks quite old (it symlinks to libSDL2-2.0.so.0.14.0 )

If I try just SDL_VIDEODRIVER=wayland , I assume Dota2 use Valve's provided lib : ~/.steam/debian-installation/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 (which is symlinked to a newer lib : libSDL2-2.0.so.0.16.0), I get same error like https://github.com/ValveSoftware/Dota-2-Vulkan/issues/282#issuecomment-991919753 image

cRaZy-bisCuiT commented 2 years ago

Sorry, false alarm. It does still not work. Steam didn't catch my "-vulkan" flag.

mkjOoB commented 2 years ago

I'm hoping that priority of fixing -vulkan with wayland native libSDL be revised.

As posted in latest Dota 2 announcement, this will be the last major update with -gl. To this day -gl was/is the only way to run Dota 2 on wayland natively without using rather buggy xwayland -- (Xorg -> wayland layer), which is even buggier on nvidia official drivers. I, for one, am using Dota's -gl on wayland without xwayland for more than a year or two, which I found most stable in my case.

As an added thought, it seems to me that librendersystemvulkan.so calls Xorg libs directly instead of using libSDL's WSI. As can be seen here:

$ ldd librendersystemvulkan.so

linux-vdso.so.1 (0x00007fff8bbed000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff7f0bd0000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff7f0bcb000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6 (0x00007ff7effe0000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff7f0bc6000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007ff7effb6000)
librt.so.1 => /lib64/librt.so.1 (0x00007ff7f0bbf000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff7f0cd9000)
libtier0.so => /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/./libtier0.so (0x00007ff7efa00000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff7ef803000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libgcc_s.so.1 (0x00007ff7eff96000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007ff7eff91000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007ff7eff89000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007ff7eff7f000)
libbsd.so.0 => /usr/lib64/libbsd.so.0 (0x00007ff7eff65000)
libmd.so.0 => /usr/lib64/libmd.so.0 (0x00007ff7eff57000)

To compare, here's how librendersystemgl.so looks like, which does appropriately use libSDL's WSI:

$ ldd librendersystemgl.so

linux-vdso.so.1 (0x00007ffebddfb000)
libm.so.6 => /lib64/libm.so.6 (0x00007f5fbc882000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f5fbc87d000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6 (0x00007f5fbc1e0000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5fbc878000)
libudev.so.0 => /usr/lib64/libudev.so.0 (0x00007f5fbc873000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5fbc98b000)
libtier0.so => /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/./libtier0.so (0x00007f5fbbc00000)
libSDL2-2.0.so.0 => /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/./libSDL2-2.0.so.0 (0x00007f5fbb800000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5fbb603000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libgcc_s.so.1 (0x00007f5fbc851000)
libudev.so.1 => /lib64/libudev.so.1 (0x00007f5fbc817000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f5fbc80b000)
librt.so.1 => /lib64/librt.so.1 (0x00007f5fbc806000)

I would welcome -gl removal, if it was possible to use -vulkan with SDL_VIDEODRIVER=wayland as it is possible with -gl. To achive that, my guess is, -vulkan should stop calling Xorg out of the blue, as I've shown above, and use libSDL's WSI as librendersystemgl.so does.

mkjOoB commented 2 years ago

Can we please have @danginsburg to look at this since -gl is getting purged. https://github.com/ValveSoftware/Dota-2-Vulkan/issues/282#issuecomment-1304064179

mkjOoB commented 1 year ago

With yesterday's 7.32e update, -gl got removed. Now, I am no longer able to run Dota 2 on wayland natively without xwayland, which was possible with -gl (it didn't use Xorg bits out of the blue like -vulkan, when it calls libXau, libXdcmp instead of using libSDL's tid bits). Please make librendersystemvulkan.so play nice with libSDL's SDL_VIDEODRIVER setting like librendersystemgl.so did before removal. Using -gl with SDL_VIDEODRIVER=wayland was much more stable for me, than using -vulkan with SDL_VIDEODRIVER=x11 for past ~half a year. Xwayland is not stable, I hate to use it.

Dota 2 with -vulkan hangs up sway wayland session on high gpu utilization on Nvidia forcing me to kill -9 dota2, that's what kind of error I get every time that happens: > [ 351.613645] NVRM: GPU at PCI:0000:01:00: GPU-03a31c3b-63f7-19d9-c409-51c513c3b5d2 > [ 351.613651] NVRM: GPU Board Serial Number: 0321916096530 > [ 351.613653] NVRM: Xid (PCI:0000:01:00): 31, pid=4401, name=Xwayland, Ch 00000020, intr 10000000. MMU Fault: ENGINE GRAPHICS GPCCLIENT_PROP_0 faulted @ 0x1_001a0000. Fault is of type FAULT_PTE ACCESS_TYPE_WRITE > [ 450.128555] NVRM: Xid (PCI:0000:01:00): 31, pid=4401, name=Xwayland, Ch 00000020, intr 10000000. MMU Fault: ENGINE GRAPHICS GPCCLIENT_PROP_0 faulted @ 0x1_00150000. Fault is of type FAULT_PTE ACCESS_TYPE_WRITE > [ 1331.430274] NVRM: Xid (PCI:0000:01:00): 31, pid=4401, name=Xwayland, Ch 00000020, intr 10000000. MMU Fault: ENGINE GRAPHICS GPCCLIENT_PROP_0 faulted @ 0x1_00150000. Fault is of type FAULT_PTE ACCESS_TYPE_WRITE

Please help @danginsburg

Anyways, here's what I get when launching with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json SDL_VIDEODRIVER=wayland SDL_AUDIODRIVER=pulse %command% -vulkan -noborder -high -console: > GNU gdb (Steamrt 10.1-1.7+steamrt3.1+bsrt3.1) 10.1.90.20210103-git > Copyright (C) 2021 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > Type "show copying" and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > . > Find the GDB manual and other documentation resources online at: > . > > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2... > (No debugging symbols found in /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2) > Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal] > LD_PRELOAD = /tmp/pressure-vessel-libs-SUDI11/${PLATFORM}/gameoverlayrenderer.so > LD_LIBRARY_PATH = /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/pinned_libs_32:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/pinned_libs_64:/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/aliases:/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu/aliases:/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu:/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/local/lib:/lib/x86_64-linux-gnu:/lib32:/libx32:/lib:/lib64:/lib/i386-linux-gnu/sse2:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/lib/i386-linux-gnu:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/usr/lib/i386-linux-gnu:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/lib/x86_64-linux-gnu:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/usr/lib/x86_64-linux-gnu:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/lib:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/usr/lib:/home/user/.local/share/Steam/steamapps/common/dota 2 beta > To enable execution of this file add > add-auto-load-safe-path /run/host/lib64/libthread_db.so.1 > line to your configuration file "/home/user/.gdbinit". > To completely disable this security protection add > set auto-load safe-path / > line to your configuration file "/home/user/.gdbinit". > For more information about this security protection see the > "Auto-loading safe path" section in the GDB manual. E.g., run from the shell: > info "(gdb)Auto-loading safe path" > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so, got 0x556a72fa4b00 > Steam AppId(570), BreakpadId(373300) > InitSteamLogin_Internal: Initializing breakpad. > /tmp/dumps is not owned by us - delete and recreate > Unable to delete /tmp/dumps. Continuing anyway. > SteamAPI_Init succeeded. SteamID is [U:1:deffered] (deffered), AppID is 570 > ResetBreakpadAppId: Universe is 1 > ResetBreakpadAppId: Setting non standard break pad app id: 373300 > CSteam3Client::Activate succeeded. SteamID is [U:1:deffered] (deffered), AppID is 570 > Loaded libSDL2-2.0.so.0, got 0x556a73422a00 > [New LWP 22702] > [New LWP 22703] > [New LWP 22704] > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libtier0.so, got 0x556a72fa4000 > Visibility enabled. > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libfilesystem_stdio.so, got 0x556a72fa5b80 > USRLOCAL path using Steam profile data folder: > /home/user/.local/share/Steam/userdata/deffered/570/local > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libinputsystem.so, got 0x556a72fa5600 > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/liblocalize.so, got 0x556a72fa5080 > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so, got 0x556a72fa6680 > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libresourcesystem.so, got 0x556a72fa6100 > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libschemasystem.so, got 0x556a74bfa600 > [New LWP 22705] > [LWP 22705 exited] > [New LWP 22706] > Enabling instance extension: VK_KHR_get_physical_device_properties2. > [New LWP 22722] > Using VK_EXT_memory_budget set texture memory budget to 5972 MB. > HLSL SM6.0 level subgroup wave ops supported, subgroup size = 32 > Vulkan physical device (0): supports shader clip distance: true > Vulkan physical device (0): using secondary command buffers: true > [New LWP 22737] > [New LWP 22739] > [New LWP 22741] > Loaded video settings config from 'cfg/video.txt' > Vulkan Physical Device: NVIDIA GeForce GTX 1080 > Initializing streaming texture manager. > Vulkan extension enabled: VK_KHR_swapchain > Vulkan extension enabled: VK_NV_dedicated_allocation > Vulkan extension enabled: VK_KHR_descriptor_update_template > Vulkan extension enabled: VK_KHR_image_format_list > Vulkan extension enabled: VK_KHR_maintenance1 > Vulkan extension enabled: VK_KHR_maintenance2 > Vulkan extension enabled: VK_EXT_separate_stencil_usage > Vulkan extension enabled: VK_KHR_swapchain_mutable_format > Vulkan extension enabled: VK_KHR_pipeline_library > Vulkan extension enabled: VK_EXT_extended_dynamic_state > Vulkan extension enabled: VK_EXT_extended_dynamic_state2 > Vulkan extension enabled: VK_KHR_dynamic_rendering > Vulkan extension enabled: VK_KHR_depth_stencil_resolve > Vulkan extension enabled: VK_KHR_create_renderpass2 > Vulkan extension enabled: VK_EXT_graphics_pipeline_library > Vulkan extension enabled: VK_EXT_pipeline_creation_cache_control > Vulkan extension enabled: VK_KHR_buffer_device_address > Vulkan extension enabled: VK_EXT_memory_budget > Vulkan extension enabled: VK_KHR_draw_indirect_count > Vulkan extension enabled: VK_EXT_subgroup_size_control > VK_EXT_subgroup_size_control does not support required features, disabling. > [New LWP 22742] > [New LWP 22743] > [New LWP 22744] > [New LWP 22745] > [New LWP 22746] > VK_EXT_graphics_pipeline_library and dependent extensions enabled. > [New LWP 22747] > [New LWP 22748] > [New LWP 22749] > Vulkan Command Buffer Pool Threshold(1500) > Unable to open Vulkan pipeline cache shadercache/vulkan/shaders.cache file - might not exist yet. > [New LWP 22750] > [New LWP 22751] > Trying to set dxlevel (111) which is higher than the card can support (110)! > Vulkan driver version: 525.89.2.0 > Vulkan driver version Major = 525, Minor = 89, Patch = 131072 > [New LWP 22752] > [New LWP 22753] > [LWP 22753 exited] > [New LWP 22754] > [New LWP 22755] > [New LWP 22756] > [New LWP 22757] > [New LWP 22758] > The selected graphics queue does not support presenting a swapchain image. > > Thread 1 "dota2" received signal SIGTRAP, Trace/breakpoint trap. > 0x00007f94af0f8a87 in ?? () > from /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libtier0.so > Argument list to give program being debugged when it is started is "+engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -vulkan -noborder -high -console". > [?2004h(gdb) bt > [?2004l > 0 0x00007f94af0f8a87 in ?? () > from /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libtier0.so > 1 0x00007f94b12dfc20 in ?? () > 2 0x0000003000000010 in ?? () > 3 0x7753657461657243 in ?? () > 4 0x286e696168437061 in ?? () > 5 0x73206568540a3a29 in ?? () > 6 0x2064657463656c65 in ?? () > 7 0x7363696870617267 in ?? () > 8 0x6420657565757120 in ?? () > 9 0x20746f6e2073656f in ?? () > 10 0x2074726f70707573 in ?? () > 11 0x69746e6573657270 in ?? () > 12 0x617773206120676e in ?? () > 13 0x69206e6961686370 in ?? () > 14 0x00000a2e6567616d in ?? () > 15 0x8000000000000000 in ?? () > 16 0x0000000000000002 in ?? () > 17 0x0000000000000000 in ?? () > [?2004h(gdb) q > [?2004l > [?2004hA debugging session is active. > > Inferior 1 [process 22696] will be killed. > > Quit anyway? (y or n) [?2004l > EOF [assumed Y]
And with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd_egl.json SDL_VIDEODRIVER=wayland SDL_AUDIODRIVER=pulse %command% -vulkan -noborder -high -console: > GNU gdb (Steamrt 10.1-1.7+steamrt3.1+bsrt3.1) 10.1.90.20210103-git > Copyright (C) 2021 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > Type "show copying" and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > . > Find the GDB manual and other documentation resources online at: > . > > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2... > (No debugging symbols found in /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2) > Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal] > LD_PRELOAD = /tmp/pressure-vessel-libs-FBCF11/${PLATFORM}/gameoverlayrenderer.so > LD_LIBRARY_PATH = /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/pinned_libs_32:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/pinned_libs_64:/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/aliases:/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu/aliases:/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu:/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/local/lib:/lib/x86_64-linux-gnu:/lib32:/libx32:/lib:/lib64:/lib/i386-linux-gnu/sse2:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/lib/i386-linux-gnu:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/usr/lib/i386-linux-gnu:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/lib/x86_64-linux-gnu:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/usr/lib/x86_64-linux-gnu:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/lib:/home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/var/steam-runtime/usr/lib:/home/user/.local/share/Steam/steamapps/common/dota 2 beta > To enable execution of this file add > add-auto-load-safe-path /run/host/lib64/libthread_db.so.1 > line to your configuration file "/home/user/.gdbinit". > To completely disable this security protection add > set auto-load safe-path / > line to your configuration file "/home/user/.gdbinit". > For more information about this security protection see the > "Auto-loading safe path" section in the GDB manual. E.g., run from the shell: > info "(gdb)Auto-loading safe path" > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so, got 0x556fdf8e5b00 > Steam AppId(570), BreakpadId(373300) > InitSteamLogin_Internal: Initializing breakpad. > /tmp/dumps is not owned by us - delete and recreate > Unable to delete /tmp/dumps. Continuing anyway. > SteamAPI_Init succeeded. SteamID is [U:1:deffered] (deffered), AppID is 570 > ResetBreakpadAppId: Universe is 1 > ResetBreakpadAppId: Setting non standard break pad app id: 373300 > CSteam3Client::Activate succeeded. SteamID is [U:1:deffered] (deffered), AppID is 570 > Loaded libSDL2-2.0.so.0, got 0x556fdfd5ba00 > [New LWP 12260] > [New LWP 12261] > [New LWP 12262] > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libtier0.so, got 0x556fdf8e5000 > Visibility enabled. > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libfilesystem_stdio.so, got 0x556fdf8e6b80 > USRLOCAL path using Steam profile data folder: > /home/user/.local/share/Steam/userdata/deffered/570/local > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libinputsystem.so, got 0x556fdf8e6600 > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/liblocalize.so, got 0x556fdf8e6080 > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so, got 0x556fdf8e7680 > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libresourcesystem.so, got 0x556fdf8e7100 > Loaded /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libschemasystem.so, got 0x556fe153b600 > [New LWP 12275] > [LWP 12275 exited] > [New LWP 12276] > Enabling instance extension: VK_KHR_get_physical_device_properties2. > [New LWP 12277] > Using VK_EXT_memory_budget set texture memory budget to 6719 MB. > HLSL SM6.0 level subgroup wave ops supported, subgroup size = 32 > Vulkan physical device (0): supports shader clip distance: true > Vulkan physical device (0): using secondary command buffers: true > [New LWP 12292] > [New LWP 12294] > [New LWP 12296] > Loaded video settings config from 'cfg/video.txt' > Vulkan Physical Device: NVIDIA GeForce GTX 1080 > Initializing streaming texture manager. > Vulkan extension enabled: VK_KHR_swapchain > Vulkan extension enabled: VK_NV_dedicated_allocation > Vulkan extension enabled: VK_KHR_descriptor_update_template > Vulkan extension enabled: VK_KHR_image_format_list > Vulkan extension enabled: VK_KHR_maintenance1 > Vulkan extension enabled: VK_KHR_maintenance2 > Vulkan extension enabled: VK_EXT_separate_stencil_usage > Vulkan extension enabled: VK_KHR_swapchain_mutable_format > Vulkan extension enabled: VK_KHR_pipeline_library > Vulkan extension enabled: VK_EXT_extended_dynamic_state > Vulkan extension enabled: VK_EXT_extended_dynamic_state2 > Vulkan extension enabled: VK_KHR_dynamic_rendering > Vulkan extension enabled: VK_KHR_depth_stencil_resolve > Vulkan extension enabled: VK_KHR_create_renderpass2 > Vulkan extension enabled: VK_EXT_graphics_pipeline_library > Vulkan extension enabled: VK_EXT_pipeline_creation_cache_control > Vulkan extension enabled: VK_KHR_buffer_device_address > Vulkan extension enabled: VK_EXT_memory_budget > Vulkan extension enabled: VK_KHR_draw_indirect_count > Vulkan extension enabled: VK_EXT_subgroup_size_control > VK_EXT_subgroup_size_control does not support required features, disabling. > [New LWP 12297] > [New LWP 12298] > [New LWP 12299] > [New LWP 12300] > [New LWP 12301] > VK_EXT_graphics_pipeline_library and dependent extensions enabled. > [New LWP 12302] > [New LWP 12303] > [New LWP 12304] > Vulkan Command Buffer Pool Threshold(1500) > UUID mismatch in pipeline cache file. Deleting shadercache/vulkan/shaders.cache in order to regenerate it. > [New LWP 12305] > [New LWP 12306] > Trying to set dxlevel (111) which is higher than the card can support (110)! > Vulkan driver version: 525.89.2.0 > Vulkan driver version Major = 525, Minor = 89, Patch = 131072 > > Thread 1 "dota2" received signal SIGSEGV, Segmentation fault. > 0x0000000000000000 in ?? () > Argument list to give program being debugged when it is started is "+engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -vulkan -noborder -high -console". > [?2004h(gdb)bt > [?2004l > 0 0x0000000000000000 in ?? () > 1 0x00007f7fe4db4193 in ?? () > from /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libnvidia-eglcore.so.525.89.02 > 2 0x00007f7fe4e55ca2 in ?? () > from /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libnvidia-eglcore.so.525.89.02 > 3 0x00007f7fe4da4ef0 in ?? () > from /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libnvidia-eglcore.so.525.89.02 > 4 0x00007f7fe711b937 in ?? () > from /home/user/Games/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so > 5 0x0000556fdf906690 in ?? () > 6 0x0000003000000010 in ?? () > 7 0x00007ffceab07380 in ?? () > 8 0x00007ffceab072b0 in ?? () > 9 0x0000000000000000 in ?? () > [?2004h(gdb)
pd2s commented 1 year ago

Update?

SopaDeMacaco-UmaDelicia commented 9 months ago

DOTA 2 works in wayland-native mode, you need to fix dota.sh by changing export SDL_VIDEO_DRIVER=x11 to export SDL_VIDEO_DRIVER=wayland

CS2 also works btw

dota2wayland

Mershl commented 9 months ago

CS2 also works btw

Setting SDL_VIDEO_DRIVER=wayland in cs2.sh crashes CS2 on startup for me (Fedora 39 (Gnome), Flatpak Steam).

Loaded libSDL3.so.0, got 0x55e67eb2e0b0
[...]
(process:1130): GLib-GObject-CRITICAL **: 21:05:46.192: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
(process:1130): GLib-CRITICAL **: 21:05:46.192: g_once_init_leave: assertion 'result != 0' failed
(process:1130): GLib-GObject-CRITICAL **: 21:05:46.192: g_object_new_valist: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
[...]
Counter-Strike Global Offensive/game/cs2.sh: line 118:  1130 Segmentation fault      (core dumped) ${STEAM_RUNTIME_PREFIX} ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
SopaDeMacaco-UmaDelicia commented 9 months ago

Setting SDL_VIDEO_DRIVER=wayland in cs2.sh crashes CS2 on startup for me (Fedora 39, Flatpak Steam).

Cant help you there, I'm using Arch KDE with Steam-Native. There's a separate issue for cs2 though. https://github.com/ValveSoftware/csgo-osx-linux/issues/3359 cs2