Bug 2510680 - libvulkan_broadcom.so crashes (SIGSEGV) in v3d42_cmd_buffer_emit_gl_shader_state on Raspberry Pi 4
Summary: libvulkan_broadcom.so crashes (SIGSEGV) in v3d42_cmd_buffer_emit_gl_shader_st...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: mesa
Version: 45
Hardware: aarch64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: BetaBlocker, F45BetaBlocker
TreeView+ depends on / blocked
 
Reported: 2026-08-03 14:30 UTC by Jaroslav Groman
Modified: 2026-08-07 10:50 UTC (History)
19 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-08-07 09:03:46 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Gnome boot log with SIGSEGV (652.36 KB, text/plain)
2026-08-03 14:31 UTC, Jaroslav Groman
no flags Details
Gnome boot log with GSK_RENDERER=gl workaround (265.49 KB, text/plain)
2026-08-03 14:33 UTC, Jaroslav Groman
no flags Details
KDE boot log - no crash (448.39 KB, text/plain)
2026-08-03 14:34 UTC, Jaroslav Groman
no flags Details

Description Jaroslav Groman 2026-08-03 14:30:36 UTC
GTK4 applications crash with SIGSEGV when using the Vulkan renderer (GSK) on Raspberry Pi 4 with the Broadcom V3D Vulkan driver from mesa-26.1.5-1.fc45. The crash occurs in v3d42_cmd_buffer_emit_gl_shader_state() inside libvulkan_broadcom.so.

On a fresh Fedora 45 GNOME Workstation aarch64 install on Raspberry Pi 4 Model B Rev 1.5, the gnome-initial-setup process crashes approximately 15 seconds after rendering begins. GDM then restarts the session with a fallback user, which also crashes. This creates an infinite crash loop -- GDM alternates between gnome-initial-setup and gnome-initial-setup-2 users, crashing every ~70 seconds, with no recovery mechanism.

Workaround: Setting GSK_RENDERER=gl in /etc/environment forces GTK4 to use the OpenGL/GLES renderer instead of Vulkan, completely avoiding the crash.

Reproducible: Always

Steps to Reproduce:
1. Write Fedora 45 Rawhide 20260731.n.0 Workstation aarch64 image to an SD card
2. Boot on Raspberry Pi 4 Model B
3. Wait for GDM to start and launch gnome-initial-setup
4. Observe crash within ~15 seconds of the setup wizard rendering
Actual Results:
gnome-initial-setup crashes with SIGSEGV (signal 11). The crash is 100% reproducible -- observed 6 consecutive crashes in a single boot with no successful render. GDM enters an infinite restart loop alternating between gnome-initial-setup and gnome-initial-setup-2 users.

```
Stack trace of thread 1966:
#0  0x0000ffff807b147c v3d42_cmd_buffer_emit_gl_shader_state (libvulkan_broadcom.so + 0x12147c)
#1  0x0000ffff8069f850 v3dv_cmd_buffer_emit_pre_draw (libvulkan_broadcom.so + 0xf850)
#2  0x0000ffff806a00f8 cmd_buffer_draw (libvulkan_broadcom.so + 0x100f8)
#3  0x0000ffff806a0240 v3dv_CmdDraw (libvulkan_broadcom.so + 0x10240)
#4  0x0000ffffba714d00 gsk_gpu_shader_op_vk_command (libgtk-4.so.1 + 0x5e4d00)
#5  0x0000ffffba71c8b8 gsk_vulkan_frame_submit_ops (libgtk-4.so.1 + 0x5ec8b8)
#6  0x0000ffffba722d10 gsk_vulkan_frame_submit (libgtk-4.so.1 + 0x5f2d10)
#7  0x0000ffffba708a00 gsk_gpu_frame_render (libgtk-4.so.1 + 0x5d8a00)
#8  0x0000ffffba717d8c gsk_gpu_renderer_render (libgtk-4.so.1 + 0x5e7d8c)
#9  0x0000ffffba6c7568 gsk_renderer_render (libgtk-4.so.1 + 0x597568)
#10 0x0000ffffba325e70 surface_render_cb (libgtk-4.so.1 + 0x1f5e70)
...
#24 0x0000aaaabc672fbc main (gnome-initial-setup + 0x12fbc)
```


Expected Results:
gnome-initial-setup should render and function correctly using the V3D Vulkan driver on Raspberry Pi 4.

Additional Information:
Versions

- Kernel: 7.2.0-0.rc5.260729gfc02acf6ac0c.43.fc45.aarch64
- Mesa: mesa-26.1.5-1.fc45.aarch64 (libvulkan_broadcom.so)
- GTK4: gtk4-4.23.2-2.fc45.aarch64
- gnome-initial-setup: gnome-initial-setup-51~alpha-2.fc45.aarch64
- systemd: 261.2-1.fc45
- GDM: gdm-51~alpha-2.fc45.aarch64
- GNOME Shell: mutter 51.alpha
- Hardware: Raspberry Pi 4 Model B Rev 1.5 (BCM2711, Broadcom V3D 4.2)
- GPU driver: vc4-drm (kernel), v3d Vulkan (mesa)

Comment 1 Jaroslav Groman 2026-08-03 14:31:55 UTC
Created attachment 2153412 [details]
Gnome boot log with SIGSEGV

Comment 2 Jaroslav Groman 2026-08-03 14:33:01 UTC
Created attachment 2153414 [details]
Gnome boot log with GSK_RENDERER=gl workaround

Comment 3 Jaroslav Groman 2026-08-03 14:34:21 UTC
Created attachment 2153415 [details]
KDE boot log - no crash

Comment 4 Fedora Blocker Bugs Application 2026-08-03 14:49:24 UTC
Proposed as a Blocker for 45-beta by Fedora user jgroman using the blocker tracking app because:

 RPi Workstation image uses failing Vulkan driver by default, switching to OpenGL (which works) requires manual tweaks.

Comment 5 Jeremy Linton 2026-08-03 15:18:43 UTC
Hmmm, this is almost a case that GSK_RENDERER=cairo should be set globally during install. Yes it will be a bit slower, but its also going to be far more stable than hoping that there aren't any vulcan/GL/etc bugs in the drivers/firmware/etc on what will quickly be an old install image.

Comment 6 Peter Robinson 2026-08-06 14:51:44 UTC
we'll want to retest this next week when mesa 26.2 lands.

Comment 7 Jaroslav Groman 2026-08-07 09:03:46 UTC
The issue is resolved in the latest Fedora 45 Rawhide image: https://fedoraproject.org/wiki/Test_Results:Fedora_45_Rawhide_20260807.n.0_Summary

- Kernel: 7.2.0-0.rc6.51.fc45 UPDATED
- Mesa: 26.2.0-1.fc45 UPDATED
- GTK4: 4.23.3-1.fc45 UPDATED
- gnome-initial-setup: 51~beta-1.fc45 UPDATED
- systemd: 261.2-1.fc45	NO CHANGE
- GDM: 51~beta-1.fc45 UPDATED
- GNOME Shell / Mutter: mutter 51~beta-1.fc45 UPDATED
- U-Boot BIOS: 2026.10-rc1 UPDATED

Comment 8 Peter Robinson 2026-08-07 10:50:55 UTC
Thanks for the update.


Note You need to log in before you can comment on or make changes to this bug.