radv: Chrome crashes when ANGLE uses GPL
Description
My Chrome was running an experiment with Vulkan enabled (display type ANGLE_VULKAN), and I noticed that Google Meet failed to apply video effects, and Figjam fails to work properly -- the Chrome process crashed. I was running the latest Mesa version available in Fedora stable: 23.1.9.
See bug report https://bugs.chromium.org/p/chromium/issues/detail?id=1497512.
When running Chrome with ANGLE_VULKAN, but with supportsGraphicsPipelineLibrary
explicitly disabled, the crash no longer happens.
The Chromium developers believe this is a bug in the new Vulkan Graphics Pipeline Libraries (GPL) code introduced for RADV in Mesa 23.1 (https://lists.freedesktop.org/archives/mesa-announce/2023-May/000720.html).
Have also tried with 24.0.0-0.3.20231101.10.da7e6f30 and the crash still happens.
Screenshots/video files
See the report above.
Log files (for system lockups / game freezes / crashes)
See the report above.
Steps to reproduce
See the report above.
System information
System:
Host: edison Kernel: 6.5.8-200.fc38.x86_64 arch: x86_64 bits: 64
compiler: gcc v: 2.39-15.fc38 Console: pty pts/1 wm: kwin_x11 DM: SDDM
Distro: Fedora release 38 (Thirty Eight)
CPU:
Info: 16-core (8-mt/8-st) model: 12th Gen Intel Core i9-12900KS bits: 64
type: MST AMCP arch: Alder Lake rev: 2 cache: L1: 1.4 MiB L2: 14 MiB
L3: 30 MiB
Speed (MHz): avg: 824 high: 1176 min/max: 800/5200:5500:4000 cores: 1: 800
2: 800 3: 800 4: 1176 5: 800 6: 800 7: 800 8: 797 9: 875 10: 839 11: 900
12: 851 13: 800 14: 800 15: 756 16: 801 17: 797 18: 800 19: 800 20: 800
21: 800 22: 800 23: 800 24: 800 bogomips: 164044
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
Device-1: AMD Navi 23 [Radeon RX 6600/6600 XT/6600M] vendor: ASUSTeK
driver: amdgpu v: kernel arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 ports:
active: DP-1,DP-2,HDMI-A-1 empty: DP-3 bus-ID: 03:00.0 chip-ID: 1002:73ff
Device-2: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-1.1.2:10
chip-ID: 046d:082d
Display: server: X.Org v: 1.20.14 with: Xwayland v: 22.1.9
compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting
alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 11520x2160 s-dpi: 96
Monitor-1: DP-1 mapped: DisplayPort-0 pos: left model: Dell S2721QS
res: 3840x2160 dpi: 163 diag: 685mm (27")
Monitor-2: DP-2 mapped: DisplayPort-1 pos: primary,center
model: Dell S2721QS res: 3840x2160 dpi: 163 diag: 685mm (27")
Monitor-3: HDMI-A-1 mapped: HDMI-A-0 pos: right model: Dell S2721QS
res: 3840x2160 dpi: 163 diag: 685mm (27")
API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: swrast
surfaceless: drv: radeonsi x11: drv: radeonsi inactive: gbm,wayland
API: OpenGL v: 4.6 vendor: amd mesa v: 23.0.1 glx-v: 1.4 es-v: 3.2
direct-render: yes renderer: AMD Radeon RX 6600 XT (navi23 LLVM 16.0.0 DRM
3.54 6.5.8-200.fc38.x86_64) device-ID: 1002:73ff
API: Vulkan v: 1.3.243 surfaces: xcb,xlib device: 0 type: discrete-gpu
driver: mesa radv device-ID: 1002:73ff device: 1 type: cpu
driver: mesa llvmpipe device-ID: 10005:0000
If applicable
X.Org X Server 1.20.14
X Protocol Version 11, Revision 0
Build Operating System: 6.5.5-200.fc38.x86_64
Current Operating System: Linux edison 6.5.8-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Oct 20 15:53:48 UTC 2023 x86_64
Kernel command line: BOOT_IMAGE=(lvm/vg_ssd-lv_root)/boot/vmlinuz-6.5.8-200.fc38.x86_64 root=/dev/mapper/vg_ssd-lv_root ro quiet rhgb usbcore.autosuspend=-1 root=LABEL=Fedora_Root ro rd.md.uuid=922e4ea2:afb375eb:eeef7f02:c787ff58 crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M amdgpu.noretry=0 amdgpu.audio=0 amdgpu.ppfeaturemask=0xffffffff
Build Date: 25 October 2023 12:00:00AM
Build ID: xorg-x11-server 1.20.14-26.fc38
Current version of pixman: 0.42.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Regression
With Mesa 23.0.1, there is no issue, but of course there is no GPL support there so that makes sense :-)
Does the issue reproduce with the LLVM backend (RADV_DEBUG=llvm
) or on the AMDGPU-PRO drivers? Haven't tried.
Does your environment set any of the variables ACO_DEBUG
, RADV_DEBUG
, and RADV_PERFTEST
? No.