Just as the weekend arrived, Mesa 25.3.0 was released as the latest new-feature upgrade for open source Linux graphics drivers.
Curiously, it was tagged and put out on the 14th but as of yet there's been no release announcement to the mailing list, and no news post to notify of the new release on the official Mesa website either. I was waiting on the actual announcements before posting either Friday or Saturday, but it seems to be coming in quite late. So anyway, here we are.
As usual, you may want to stick with the previous latest bug fix release with Mesa 25.2.7 until the first point release for Mesa 25.3 is out while they deal with any issues that appear. The release calendar is not up to date yet either, but we can usually expect the Mesa 25.3.1 release in around 2 weeks.
Whenever they actually publish the announcements, we can see from GitLab this will be in the release notes:
New features
- EGL_EXT_create_context_robustness support on Panfrost V10+
- GL_ARB_robust_buffer_access_behavior, GL_KHR_robust_buffer_access_behavior and GL_KHR_robustness support on Panfrost
- VK_EXT_mutable_descriptor_type on panvk/v9+
- GL_KHR_robustness on v3d
- VK_ARM_shader_core_builtins on panvk
- VK_KHR_shader_untyped_pointers on anv
- cl_ext_immutable_memory_objects
- VK_KHR_video_encode_intra_refresh on radv
- VK_KHR_video_encode_quantization_map on radv
- GL_ATI_meminfo and GL_NVX_gpu_memory_info on r300
- VK_KHR_shader_untyped_pointers on anv and RADV
- VK_KHR_maintenance8 on NVK
- VK_KHR_maintenance9 on NVK
- cl_khr_semaphore on radeonsi and zink
- cl_khr_external_semaphore on radeonsi and zink
- cl_khr_external_semaphore_sync_fd on radeonsi and zink
- GL_NV_shader_atomic_int64 on radeonsi and Panfrost V9+
- VK_KHR_maintenance7 on panvk/v10+
- VK_KHR_maintenance8 on panvk/v10+
- VK_KHR_maintenance9 on panvk
- VK_AMD_buffer_marker on NVK
- VK_EXT_ycbcr_2plane_444_formats on radv
- Removed VDPAU frontend
- GL_NV_representative_fragment_test on zink
- VK_KHR_maintenance9 on HoneyKrisp
- sparseBinding on panvk/v10+
- sparseResidencyBuffer on panvk/v10+
- Vulkan 1.2 on pvr
- VK_KHR_create_renderpass2 on pvr
- VK_KHR_dedicated_allocation on pvr
- VK_KHR_depth_stencil_resolve on pvr
- VK_KHR_descriptor_update_template on pvr
- VK_KHR_imageless_framebuffer on pvr
- VK_KHR_line_rasterization on pvr
- VK_KHR_maintenance1 on pvr
- VK_KHR_maintenance2 on pvr
- VK_KHR_maintenance3 on pvr
- VK_KHR_multiview on pvr
- VK_KHR_robustness2 on pvr
- VK_KHR_separate_depth_stencil_layouts on pvr
- VK_KHR_shader_draw_parameters on pvr
- VK_KHR_shader_float_controls on pvr
- VK_KHR_shader_subgroup_extended_types on pvr
- VK_KHR_spirv_1_4 on pvr
- VK_KHR_shader_terminate_invocation on pvr
- VK_KHR_swapchain_mutable_format on pvr
- VK_KHR_vertex_attribute_divisor on pvr
- VK_EXT_border_color_swizzle on pvr
- VK_EXT_color_write_enable on pvr
- VK_EXT_custom_border_color on pvr
- VK_EXT_depth_clamp_zero_one on pvr
- VK_EXT_depth_clip_enable on pvr
- VK_EXT_extended_dynamic_state on pvr
- VK_EXT_extended_dynamic_state2 on pvr
- VK_EXT_extended_dynamic_state3 on pvr
- VK_EXT_image_2d_view_of_3d on pvr
- VK_EXT_line_rasterization on pvr
- VK_EXT_physical_device_drm on pvr
- VK_EXT_provoking_vertex on pvr
- VK_EXT_robustness2 on pvr
- VK_EXT_queue_family_foreign on pvr
- VK_EXT_separate_stencil_usage on pvr
- VK_EXT_shader_demote_to_helper_invocation on pvr
- VK_EXT_vertex_attribute_divisor on pvr
- imageCubeArray on pvr
- independentBlend on pvr
- sampleRateShading on pvr
- logicOp on pvr
- drawIndirectFirstInstance on pvr
- alphaToOne on pvr
- samplerAnisotropy on pvr
- shaderStorageImageExtendedFormats on pvr
- shaderStorageImageReadWithoutFormat on pvr
- shaderStorageImageWriteWithoutFormat on pvr
- shaderClipDistance on pvr
- shaderCullDistance on pvr
- VK_EXT_zero_initialize_device_memory on pvr
- VK_KHR_sampler_mirror_clamp_to_edge on pvr
- VK_KHR_shader_non_semantic_info on pvr
- VK_KHR_shader_relaxed_extended_instruction on pvr
- VK_EXT_shader_replicated_composites on pvr
- VK_KHR_device_group_creation on pvr
- VK_KHR_map_memory2 on pvr
- VK_EXT_map_memory_placed on pvr
- VK_KHR_device_group on pvr
- VK_KHR_buffer_device_address on pvr
- GL_EXT_mesh_shader on zink
- VK_KHR_wayland_surface on pvr
- VK_NVX_image_view_handle on NVK
Bug fixes
- amdgpu: ring gfx_0.0.0 timeout, in vr when opening apps
- zink/radv: new cts fails on rdna3
- Penumbra: Overture OpenGL game has graphical glitch for ice
- mesa: regression caused by hash_table sizing
- RustiCL: fence fd leak on CL-GL interop
- Uniform variable not updated correctly with shared contexts
- [radv] Borderlands 4 triggers a consistent GPU page fault on RDNA2
- radv: RE4 Separate Ways DLC hangs RDNA2 GPU
- ACO: fix a hazard when the number of attributes loaded/consumed don't match with VS prologs
- ACO: loading 64-bit attributes can override the fetch index in VS prologs
- [RADV][bisected][regression] - Doom: The Dark Ages (3017860) - Square flickering artifacts around Hebeth
- nvk, nak: Broken icons in ENDLESS Legend 2 on a RTX 4080
- LLVMPipe's `VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxPrimitiveCount` is lower than Vulkan requires.
- asahi: DMABuf import of multi-plane YCbCr (NV12 from ISP) not renderer correctly
- asahi: DMABuf import of multi-plane YCbCr (NV12 from ISP) not renderer correctly
- brw: Gfx9 sampler messages violate r127 rule
- radv: No Man's Sky XESS page fault GPU reset
- r600/sfn: Assertion `cir.alu_vec.empty()` failed
- radv: Hit assert when over maxFragmentDualSrcAttachments but vkCmdSetColorBlendEnableEXT is set to false
- [ANV][PTL][DG2] Flickering textures in Assassin's Creed Valhalla benchmark
- ADL, ANV: Wuthering Waves leads to gpu reset on Alder Lake iGPU
- RADV: ANGLE deqp regression
- [ANV][EXT_debug_utils] descriptor set object_name leak when not calling vkFreeDescriptorSets
- nvk: CTS failures in sample_locations_ext.verify_interpolation.samples_1
- [regression] [bisected] RuneLite GPU Experimental - GPU crash
- Missing definition of __builtin_ia32_clflush since "util/cache_ops: Add some cache flush helpers"
- LLVM instruction selection compilation error
- v3d: green screen when rpivid hevc decoder is used
- [radv] Stuttering with latest mesa git (21 sept) on radv/6900 XT
- BFN with UW sources gets munged by lower regioning
- zink: chromium flickers in youtube when fullscreening videos
- r600: Attribute stride updates may be skipped
- [ANV][TGL]: test_buffer_feedback_instructions_sm51 on vkd3d-proton crashes
- some video file are not shown in mpv when using vaapi hardware decoding on amd apu
- [ANV][PTL] Indiana Jones and the Great Circle - GPU Hang
- [ANV] [PTL] Hades 2 game freeze on start of gameplay
- [anv][ptl] GPU hang in Dying Light dx12
- radv: Only look at statically used descriptors.
- RADV: Consider always using the global bo list
- anv: Age of Wonders 4 corruption on a Arc b580
- nvk: Incorrect rendering in Baldur's Gate 3 shadows starting with e6dae6ef5fc134f9ed5dd93b1a462084bc3aadfd
- nvk commets cause problems with kepler
- anv: Assert in brew when descriptor indexing with modulo
- tu: VK_EXT_zero_initialize_device_memory
- ResourceTracker.cpp:40:10: fatal error: perfetto/tracing.h: No such file or directory
- A bunch of CTS tests are failing on Gfx12.0 trying to use the blitter with TILE_X
- radv: meta pipeline cache appears to be broken
- mesa:amd+compiler / aco_tests assembler.mubuf/gfx11 failure with llvm-21.1.2
- [ANV] Bunch of tests in dEQP-VK.pipeline.*.render_to_image.*3d.*2d_compatible failing on gen9/11
- elk: segfault in lower_txd_cb
- bisected: Regression in EXT_shader_framebuffer_fetch_non_coherent test after !37527
- VK_QUERY_RESULT_WAIT_BIT does not work for VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR
- a618-traces often times out
- bisected build failure in clc_helpers.ccp with llvm 22
- anv: GL mesh tests crash/fail on zink with shader object
- 25.2.1 fails to build on risc-v with llvm 21
- RISC-V builds with llvmpipe against LLVM 21 fail due to API changes
- Confidential issue #14013
- implicit-function-declaration error when compiling mesa 25.2.0 devel
- vl_stubs.c:105:1: error: conflicting types for 'vl_mpg12_bs_decode'
- [ANV][LNL] - FINAL FANTASY XVI (2515020) - Title crashes to Desktop immediately following the splash card.
- Segfault in init_source at ../src/gallium/auxiliary/vl/vl_idct.c:597 when trying to play DVD on r600
- nvk: Failure in vkd3d-proton ibfe tests
- nvk, nak: NAK panic in Call of the Wild: The Angler on RTX 4080
- Simple External Semaphore test hangs in vk_sync_wait
- nir_builtin_builder.h:108:43: error: 'M_LOG2E' undeclared
- regression: windows: msys2 - undeclared M_PI and M_LOG2E probably since !37289 21b8e7604ba51f90682adeff650fc866c71c57f2
- dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp32.input_args.reflect_denorm_flush_to_zero regression on nvk
- mesa-25.2.3/src/gallium/drivers/radeonsi/radeon_uvd.c:658: array index used before check ?
- lp_test_arit.c:200:14: error: static declaration of ‘rsqrtf’ follows non-static declaration
- build failure with glibc 2.42
- [bisected] 44aaf884254 regressing FSR vulkan cts tests on PTL
- [bisected] f416a529 "egl: refine dma buf export to support multi plane" results in piglit crash
- Crash on game Elite Dangerous at 0% planetary generation, on Tigerlake+ Iris Xe and Arc GPUs.
- regression;bisected;amd: 0a266f0256025d271945adb3478fc2c1291d4c79 leads pgadmin4-qt to crashes
- segfault with mesa >= 24.1.0 on nvidia
- segfault through lavapipe
- Confidential issue #13807
- [bisected] 25b97a mesa/st: mark internal texture map calls as UNSYNCHRONIZED breaks r600
- Gallium: Segfault while trying to compile a shader with differing UBO contents in fragment and vertex stage - With reproduction case
- aco: generate wrong code when gl_DrawID is used by primitive indices in mesh shader
- Regression since mesa 25.2.0: applications waiting for dGPU to start
- ci: libX11 upgrade tracker
- anv: Regression in dEQP-VK.graphicsfuzz.cov-nested-loops-set-struct-data-verify-in-function
- brw: regression crash on dEQP-VK.graphicsfuzz.cov-dfdx-dfdy-after-nested-loops
- a618-traces often times out
- ci: crosvm dumping log spam from host gl when the job fails
- panfrost: assertion fail in pan_image_get_wsi_row_pitch
- virgl: guest memory leak with qemu + virtio-gpu-gl
- [ANV][LNL] - Horizon Forbidden West™ Complete Edition (2420110) - Orbicular artifacts near heads of machines (wildlife).
- iris: Assertion failures in piglit tests on all platforms
- [radv] [Regression) Shadow of the Tomb Raider - flickering/missing textures
- Minecraft 1.12.2 visual artifacts when running on zink/radv
- [RADV][VEGA 64][bisected] Cyberpunk 2077 - Massive performance regression due to https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37025/diffs?commit_id=d7f401c2bbadd192dbbcaaeede2805bad71f6193
- [PTL] hitting assert when starting Xorg
- GZDoom 4.11/Raze 1.7 exhibit very high memory usage during shader compilation under OpenGL
- anv: Assertion failure replaying q2rtx fossil
- [ANV] [REGRESSION] PCSX2/Midnight Club 3 crashes with VK_ERROR_DEVICE_LOST on Mesa 25.0.7
- Hollow Knight Silksong segfaults with zink on radv
- zink: crash in KHR-GL46.framebuffer_blit.scissor_blit
- Request: RADV support for VK_EXT_ycbcr_2plane_444_formats..
- mesa: state parameters duplicated
- ARB_vertex_program and ARB_fragment_program are broken
- d3d10umd fails to create basic pixel shader, outputs "unknown TGSI opcode: RET"
- turnip: FDM failures with forcebin
- a7xx_state_location
- [ANV] Assertion with VVL GPU-AV around robust UBO
- radv: avoid advertising unsupported global queue priorities for the client
- crocus: SIGSEGV crash at pbo compressed teximage
- nvk: test_conditional_rendering fails on vkd3d-proton
- Segfault in x11_xlib_display_is_thread_safe
- [ANV][BMG] Witcher 3 ray tracing freeze on a Arc b580
- [ANV][BMG] Witcher 3 ray tracing freeze on a Arc b580
- [ANV][BMG] Witcher 3 ray tracing freeze on a Arc b580
- anv: optimize utrace overhead from bo memset
- radv: watching vp9 encoded video with vulkan hwdecode result in artifacts
- ci: zink-venus-lavapipe errors
- [ANV][DG2][BMG] 3DMark Solar Bay Misrendering
- lavapipe defaults to memfd when multiple export types are requested
- anv: Simple vulkan compute shader causes Intel GPU hang due to excessive loop unrolling
- INTEL_DEBUG=spill_fs regression
- NIR validation failed after nir_lower_io in DOOM The Dark Ages
- radv: NIR validation failed after nir_shrink_vec_array_vars in ../src/amd/vulkan/radv_shader.c:171 (bisected)
- Wayland EGL missing pbuffer surface support
- missing sparse synchronization in zink
- ACO validation failed in DOOM: The Dark Ages - Undef operand to `p_parallelcopy`
- ACO validation failure in DOOM: The Dark Ages Shader
- Dragon Age Veilguard / Ability Wheel Targeting Visual Distortion
- [AMD] glTexturePageCommitmentEXT triggers an error if level is higher than 0
- deqp-egl multithread link flakes
- Ratchet and Clank "[gfxhub] page fault" Mesa25.3
- [RADV] Support for VK_KHR_video_encode_quantization_map
- System Crashes when starting VR on rx 9070 (xt)
- [Build][32bit] Meson does not find libdisplay-info in 32-bit builds
- freedreno,decode: Lua environment picks up the A6XX register offset instead of A7XX
- Confidential issue #13351
- d3d10umd: Build regression on 25.2.0-rc1
- turnip: LRZ bug with TU_DEBUG=gmem,forcebin
- nvk/nak regression: memory_model.message_passing fails on KeplerA
- [ANV] dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.whole_r32g32b32_uint_linear and possibly others asserts on LNL
- nir: validation failed after nir_remove_dead_variables in 3DMark Solar Bay
- Build dependency on intel_wa.h missing in Intel vulkan driver
- Missing polygons/vertices in CS2 on BMG
- `vn_ring`: use-after-release crash after `vn_ring_destroy` on Virtio-Vulkan
- venus: vkmark --winsys headless segfault (regression)
- Vulkan headless WSI crashes when initializing swapchain on Asahi Linux running Apple M1 Max
- lavapipe: Crashes on simple Descriptor Buffer test
- make zink-radv-navi31-valve a pre-merge job
- [RADV] Graphical glitches in Ghost of Tsushima on Polaris
- radv: RT regressions
- macOS: use of undeclared identifier 'free_zombie_glx_drawable'
- macOS: Undefined symbols "_pipe_loader_drm_probe_fd", referenced from: _dri_get_drm_device_info in libdri.a[7](dri_util.c.o)
- Segfault when activating DPMS on i915 hardware
- RADV caps reported sparse address size at 4 GiB
- nvk Blackwell support
- hk: framerate limited/locked to 23 in RDR2 ingame menus (Vulkan)
- i915: multiple dEQP tests asserts at nir_opt_group_loads.c:75: get_load_resource: Assertion `!"" "tex instr should have a resource"' failed.
- tu: VK_KHR_fragment_shading_rate broken when HelperInvocation is used
- radv: regression: commit a7291074c800 break lighting in Like a Dragon: Infinite Wealth
- [bisected regression] Latest mesa-git keeps /dev/dri/renderD129 always open with new applications even though they don't use it at all
- spec@arb_shader_storage_buffer_object@max-ssbo-size@fs stack overflow since cb558b2b88c2
- anv: enable compression on ASTC LDR emulation surface
- High GPU usage when using Zink for eglgears_x11 (on X11)
- Segfault in X11 image acquire code with timeout=0
- v3dv: regression in vkAllocateMemory importing gbm bo
- Crash from iris_set_sampler_views in chromium/chrome with accelerated video decoding
- rusticl: aco: LLVM outperforms ACO in clpeak for `short` benchmarks on hawaii
- rusticl: aco: Performance regression in clpeak for char benchmarks on hawaii
- nir: Deprecate NIR_PASS_V
- zink on tu assertion failing doing shader-db runs.
- Race condition with timeline semaphores
- nir_algebraic silently ignores operand conditions in some cases
- lavapipe: valgrind triggers errors with CTS unit tests when creating a vulkan device
- radv: gfx12 RGP captures don't support instruction timings for graphics pipelines
- xe2: DMA Buffer exported modifier is incorrect
- cleanup CI kernel patches
- radv: more glcts fails KHR-GL46.shading_language_420pack.initializer_list_initializer*
- radv: regression in KHR-GL46.gpu_shader5_gl.float_encoding
- !36097 breaks Xwayland (& others)
- GPU process crash via WebGPU shader - heap-buffer-overflow in Mesa build_interference_graph
- GPU process crash via WebGPU shader - heap-buffer-overflow in Mesa build_interference_graph
- radeonsi: Broken VAAPI video color conversion
- Gallium HUD broken since !34054

Pictured - Doom: The Dark Ages
amdgpu: ring gfx_0.0.0 timeout, in vr when opening apps
Oh my gosh, is this the bug where the first time launching SteamVR with a newer AMD GPU causes a freeze and GPU reset? I thought that was a firmware / DisplayCore thing, and at least after that first crash & reset, it would work fine for subsequent launches that session.
Looks like I have something to test, later.
The bug I'm looking for, however, is here: https://gitlab.freedesktop.org/drm/amd/-/issues/1856 and, good news, but it sounds like that did get a fix recently: https://lore.kernel.org/amd-gfx/[email protected]/ ... in the kernel.
Carry on!




How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck