NVK: Vulkan apps simply terminated with segfault under wayland and Xwayland
System information
System:
Host: Mobin-Mehdi-PC Kernel: 6.8.9-zen1-2-zen arch: x86_64 bits: 64
compiler: gcc v: 14.1.1
Desktop: LabWC v: N/A wm: Weston dm: startx Distro: Artix base: Arch Linux
CPU:
Info: 6-core model: AMD Ryzen 5 3500X bits: 64 type: MCP arch: Zen 2 rev: 0
cache: L1: 384 KiB L2: 3 MiB L3: 32 MiB
Speed (MHz): avg: 2300 high: 2800 min/max: 2200/4120 boost: enabled cores:
1: 2200 2: 2200 3: 2200 4: 2200 5: 2800 6: 2200 bogomips: 43203
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
Device-1: NVIDIA TU117 [GeForce GTX 1650] vendor: ASUSTeK driver: nouveau
v: kernel arch: Turing pcie: speed: 5 GT/s lanes: 16 ports: active: HDMI-A-2
empty: DP-1,DP-2,HDMI-A-1 bus-ID: 08:00.0 chip-ID: 10de:1f82
Display: wayland server: X.org v: 1.21.1.13 with: Xwayland v: 23.2.6
compositors: 1: LabWC 2: Weston v: 13.0.0 driver: X: loaded: modesetting
alternate: fbdev,nouveau,nv,vesa dri: nouveau gpu: nouveau display-ID: 0
Monitor-1: HDMI-A-2 model: BOE Display CHHWJT res: 1360x768 dpi: 91
diag: 484mm (19.1")
API: EGL v: 1.5 platforms: device: 0 drv: nouveau device: 1 drv: swrast
gbm: drv: nouveau surfaceless: drv: nouveau wayland: drv: nouveau x11:
drv: nouveau
API: OpenGL v: 4.5 compat-v: 4.3 vendor: mesa v: N/A glx-v: 1.4
direct-render: yes renderer: NV167 device-ID: 10de:1f82 display-ID: :0.0
API: Vulkan v: 1.3.279 surfaces: xcb,xlib,wayland device: 0
type: discrete-gpu driver: mesa nvk device-ID: 10de:1f82 device: 1 type: cpu
driver: mesa llvmpipe device-ID: 10005:0000
Describe the issue
Hi. I generally use Cinnamon with X11 but today I installed labwc and everything works find except vulkan apps.
I tested vkcube and vkgears on labwc and they got terminated. I tested vkgears on weston and it got terminated.
Regression
I think it is (I'm not sure).
Log files as attachment
- Output of
dmesg
: https://paste.ubuntu-ir.org/ytjj - Backtrace
(lldb) target create "vkcube"
Current executable set to '/usr/bin/vkcube' (x86_64).
(lldb) run
Process 7213 launched: '/usr/bin/vkcube' (x86_64)
Selected GPU 0: NVIDIA GeForce GTX 1650 (NVK TU117), type: DiscreteGpu
Process 7213 stopped
* thread #1, name = 'vkcube', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x1c0)
frame #0: 0x00007fffea01fbc7 libvulkan_nouveau.so`___lldb_unnamed_symbol6885 + 39
libvulkan_nouveau.so`___lldb_unnamed_symbol6885:
-> 0x7fffea01fbc7 <+39>: movl 0x1c0(%rdi), %eax
0x7fffea01fbcd <+45>: testl %eax, %eax
0x7fffea01fbcf <+47>: je 0x7fffea01fc19 ; <+121>
0x7fffea01fbd1 <+49>: movq %rsi, %r14
(lldb) bt all
* thread #1, name = 'vkcube', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x1c0)
* frame #0: 0x00007fffea01fbc7 libvulkan_nouveau.so`___lldb_unnamed_symbol6885 + 39
frame #1: 0x000055555555b60f vkcube`___lldb_unnamed_symbol129 + 591
frame #2: 0x0000555555558c49 vkcube`___lldb_unnamed_symbol122 + 7209
frame #3: 0x00007ffff7c3bcd0 libc.so.6`___lldb_unnamed_symbol3264 + 128
frame #4: 0x00007ffff7c3bd8a libc.so.6`__libc_start_main + 138
frame #5: 0x000055555555a7c5 vkcube`___lldb_unnamed_symbol123 + 37
thread #2, name = 'vkcube:disk$0'
frame #0: 0x00007ffff7c9debe libc.so.6`___lldb_unnamed_symbol3646 + 174
frame #1: 0x00007ffff7ca0750 libc.so.6`pthread_cond_wait + 512
frame #2: 0x00007fffea1ad01e libvulkan_nouveau.so`___lldb_unnamed_symbol10700 + 14
frame #3: 0x00007fffea176aac libvulkan_nouveau.so`___lldb_unnamed_symbol10265 + 140
frame #4: 0x00007fffea1acf4c libvulkan_nouveau.so`___lldb_unnamed_symbol10693 + 28
frame #5: 0x00007ffff7ca155a libc.so.6`___lldb_unnamed_symbol3677 + 890
frame #6: 0x00007ffff7d1ea5c libc.so.6`___lldb_unnamed_symbol4112 + 7
(lldb)
Any extra information would be greatly appreciated
Also DXVK couldn't create its swapchain for D3D9ex.