Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDL_VIDEODRIVER=wayland not working with -vulkan #282

Open
konstantinblaesi opened this issue Nov 2, 2018 · 35 comments
Open

SDL_VIDEODRIVER=wayland not working with -vulkan #282

konstantinblaesi opened this issue Nov 2, 2018 · 35 comments
Labels

Comments

@konstantinblaesi
Copy link

konstantinblaesi commented Nov 2, 2018

Your system information

Please describe your issue in as much detail as possible:

Environment:

  • Fedora 29
  • Gnome 3 on wayland
  • Games run on the dGPU using DRI_PRIME=1
  • Dota 2 on wayland using start options
    LD_PRELOAD=/lib64/libSDL2-2.0.so.0 SDL_VIDEODRIVER=wayland DRI_PRIME=1 %command%

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
Copy link
Author

konstantinblaesi commented Mar 8, 2019

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

@romulasry
Copy link

SDL_VIDEODRIVER=wayland steam and I get:

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

When trying to run dota2.

@romulasry
Copy link

romulasry commented Mar 27, 2019

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
Copy link
Author

konstantinblaesi commented Mar 27, 2019

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

@cRaZy-bisCuiT
Copy link

@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

  • using X11 + OpenGl
  • using X11 + Vulkan
  • using wayland + OpenGL

Game crashes

  • using wayland + Vulkan

Any updates on the issue?

@simvux
Copy link

simvux commented Nov 1, 2019

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

@romulasry
Copy link

Update?

@cRaZy-bisCuiT
Copy link

cRaZy-bisCuiT commented Jan 20, 2020

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
Copy link

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

@Kuphi
Copy link

Kuphi commented Sep 29, 2020

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
Copy link

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

@Kuphi
Copy link

Kuphi commented Sep 29, 2020

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
Copy link

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
Copy link

geez0x1 commented Nov 3, 2020

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
Copy link

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
Copy link

Update?

@konstantinblaesi
Copy link
Author

@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
Copy link

icculus commented Apr 25, 2021

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
Copy link

sinaflan commented Apr 26, 2021

last #282 (comment)
now (SDL from git):

2021-04-26 20-09-13

@icculus
Copy link

icculus commented Apr 30, 2021

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
Copy link

@icculus it works

222

@icculus
Copy link

icculus commented Apr 30, 2021

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

@sinaflan
Copy link

new error

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

@cRaZy-bisCuiT
Copy link

cRaZy-bisCuiT commented Jan 17, 2022

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
Copy link

vially commented Jan 17, 2022

@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 (#282 (comment)).

@konstantinblaesi
Copy link
Author

konstantinblaesi commented Jan 17, 2022

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
Copy link

Saroumane commented Jan 18, 2022

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 #282 (comment)
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 #282 (comment)
image

@cRaZy-bisCuiT

This comment has been minimized.

@mkjOoB
Copy link

mkjOoB commented Nov 4, 2022

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
Copy link

mkjOoB commented Nov 8, 2022

Can we please have @danginsburg to look at this since -gl is getting purged.
#282 (comment)

@mkjOoB
Copy link

mkjOoB commented Mar 8, 2023

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 http://gnu.org/licenses/gpl.html
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:
https://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.

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 http://gnu.org/licenses/gpl.html
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:
https://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.

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
Copy link

pd2s commented Jun 5, 2023

Update?

@SopaDeMacaco-UmaDelicia
Copy link

SopaDeMacaco-UmaDelicia commented Feb 12, 2024

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
Copy link

Mershl commented Feb 14, 2024

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

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. ValveSoftware/csgo-osx-linux#3359
cs2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests