Updating to mesa 25.0.2

Hello,
I just got my new build with the new 9070xt and I see some problems with some programs that I think are because of the drivers

slack
[18761:0402/213730.921155:ERROR:angle_platform_impl.cc(44)] ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
ERR: ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
[18761:0402/213730.921199:ERROR:scoped_egl_image.cc(23)] Failed to create EGLImage: EGL_SUCCESS
[18761:0402/213730.921212:ERROR:native_pixmap_egl_binding.cc(117)] Unable to initialize binding from pixmap
[18761:0402/213730.921245:ERROR:ozone_image_backing.cc(307)] OzoneImageBacking::ProduceSkiaGanesh failed to create GL representation
[18761:0402/213730.921259:ERROR:shared_image_manager.cc(256)] SharedImageManager::ProduceSkia: Trying to produce a Skia representation from an incompatible backing: OzoneImageBacking
[18761:0402/213730.921283:ERROR:gpu_service_impl.cc(1162)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[18714:0402/213730.925603:ERROR:gpu_process_host.cc(981)] GPU process exited unexpectedly: exit_code=8704
[22117:0402/213730.956601:ERROR:angle_platform_impl.cc(44)] ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
ERR: ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
[22117:0402/213730.956634:ERROR:scoped_egl_image.cc(23)] Failed to create EGLImage: EGL_SUCCESS
[22117:0402/213730.956650:ERROR:native_pixmap_egl_binding.cc(117)] Unable to initialize binding from pixmap
[22117:0402/213730.956670:ERROR:ozone_image_backing.cc(307)] OzoneImageBacking::ProduceSkiaGanesh failed to create GL representation
[22117:0402/213730.956684:ERROR:shared_image_manager.cc(256)] SharedImageManager::ProduceSkia: Trying to produce a Skia representation from an incompatible backing: OzoneImageBacking
[22117:0402/213730.956709:ERROR:gpu_service_impl.cc(1162)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[18714:0402/213730.959450:ERROR:gpu_process_host.cc(981)] GPU process exited unexpectedly: exit_code=8704
[22170:0402/213730.988360:ERROR:angle_platform_impl.cc(44)] ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
ERR: ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
[22170:0402/213730.988396:ERROR:scoped_egl_image.cc(23)] Failed to create EGLImage: EGL_SUCCESS
[22170:0402/213730.988411:ERROR:native_pixmap_egl_binding.cc(117)] Unable to initialize binding from pixmap
[22170:0402/213730.988432:ERROR:ozone_image_backing.cc(307)] OzoneImageBacking::ProduceSkiaGanesh failed to create GL representation
[22170:0402/213730.988444:ERROR:shared_image_manager.cc(256)] SharedImageManager::ProduceSkia: Trying to produce a Skia representation from an incompatible backing: OzoneImageBacking
[22170:0402/213730.988473:ERROR:gpu_service_impl.cc(1162)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[18714:0402/213730.991118:ERROR:gpu_process_host.cc(981)] GPU process exited unexpectedly: exit_code=8704
obsidian
[25641:0402/213834.007194:ERROR:angle_platform_impl.cc(44)] ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
ERR: ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
[25641:0402/213834.007273:ERROR:scoped_egl_image.cc(23)] Failed to create EGLImage: EGL_SUCCESS
[25641:0402/213834.007306:ERROR:native_pixmap_egl_binding.cc(117)] Unable to initialize binding from pixmap
[25641:0402/213834.007329:ERROR:ozone_image_backing.cc(307)] OzoneImageBacking::ProduceSkiaGanesh failed to create GL representation
[25641:0402/213834.007365:ERROR:shared_image_manager.cc(256)] SharedImageManager::ProduceSkia: Trying to produce a Skia representation from an incompatible backing: OzoneImageBacking
[25641:0402/213834.007397:ERROR:gpu_service_impl.cc(1162)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[22325:0402/213834.011212:ERROR:gpu_process_host.cc(981)] GPU process exited unexpectedly: exit_code=8704
2025-04-02 18:38:34 Success.
2025-04-02 18:38:34 Latest version is 1.8.9
2025-04-02 18:38:34 App is up to date.
[25737:0402/213834.060645:ERROR:angle_platform_impl.cc(44)] ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
ERR: ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
[25737:0402/213834.060678:ERROR:scoped_egl_image.cc(23)] Failed to create EGLImage: EGL_SUCCESS
[25737:0402/213834.060693:ERROR:native_pixmap_egl_binding.cc(117)] Unable to initialize binding from pixmap
[25737:0402/213834.060709:ERROR:ozone_image_backing.cc(307)] OzoneImageBacking::ProduceSkiaGanesh failed to create GL representation
[25737:0402/213834.060720:ERROR:shared_image_manager.cc(256)] SharedImageManager::ProduceSkia: Trying to produce a Skia representation from an incompatible backing: OzoneImageBacking
[25737:0402/213834.060745:ERROR:gpu_service_impl.cc(1162)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[22325:0402/213834.063496:ERROR:gpu_process_host.cc(981)] GPU process exited unexpectedly: exit_code=8704
[25791:0402/213834.109858:ERROR:angle_platform_impl.cc(44)] ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
ERR: ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
[25791:0402/213834.109893:ERROR:scoped_egl_image.cc(23)] Failed to create EGLImage: EGL_SUCCESS
[25791:0402/213834.109908:ERROR:native_pixmap_egl_binding.cc(117)] Unable to initialize binding from pixmap
[25791:0402/213834.109953:ERROR:ozone_image_backing.cc(307)] OzoneImageBacking::ProduceSkiaGanesh failed to create GL representation
[25791:0402/213834.110044:ERROR:shared_image_manager.cc(256)] SharedImageManager::ProduceSkia: Trying to produce a Skia representation from an incompatible backing: OzoneImageBacking
[25791:0402/213834.110091:ERROR:gpu_service_impl.cc(1162)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly.
[22325:0402/213834.113316:ERROR:gpu_process_host.cc(981)] GPU process exited unexpectedly: exit_code=8704

I wanted to update the drivers but I guess it is not as simle as using pkgs-unstable.mesa instead on pkgs.mesa.drivers in hardware.graphics.extraPackages.
When I do that I get a conflict:

       > error: collision between `/nix/store/297w6b0jw764911i3rfk82dhrq0imliw-mesa-25.0.2/share/glvnd/egl_vendor.d/50_mesa.json' and `/nix/store/l0y1galra3xwk7dwkxjdipmzg4zga75k-mesa-24.2.8-drivers/share/glvnd/egl_vendor.d/50_mesa.json'

My guess is that the default mesa drivers are installed anyway even if I don’t define them. Can I just overwrite mesa.drivers with pkgs-unstable.mesa? How can I do that? I did try but it seems I wasn’t successful.
Also I am using a newer kernel boot.kernelPackages=pkgs.linuxKernel.packages.linux_6_13;. I tried couple other versions(12 and 11), but nothing changed.
I am also using plasma 6 wayland.
Any help is apprecieted.

Don’t mix channels, just use unstable if you’re planning on doing this. Changing mesa requires some mass rebuilding anyway.

So, unstable has somewhat recently shaken up how mesa is used in NixOS. Before these changes, it was technically unsafe to mix channels, because packages would be linked to the version of libgbm provided by the mesa in nixpkgs, and the drivers provided by the host system would require the libgbm from the host’s version of mesa. It was often the case that this would work out, but it certainly wasn’t guaranteed.

The recent change is that the libgbm linked to by applications now is only a stub that dynamically links in the libgbm from the host system, which is much the same as how drivers are linked at runtime. But this is a hard break in compatibility; packages built with nixos-unstable right now will not find the host’s libgbm if the host is running 24.11. The incompatibility goes the other way too: packages built with nixos-24.11 will be linked at build time to the libgbm in 24.11, which drivers from nixos-unstable won’t be compatible with.

The good news is that going forward, compatibility will be increased. Packages built with revisions of nixpkgs that have the recent changes will work on any host system built with a revision of nixpkgs that has those changes, even if those two versions of nixpkgs have different mesa versions.

With this improvement, it is now safe with nixos-unstable to set hardware.graphics.package and hardware.graphics.package32 to change the system’s drivers to a different build of mesa. But as I said, this only applies to systems running nixos-unstable right now. Once 25.05 is released, it will be possible to run stable 25.05 and set the system’s drivers to the mesa from unstable.

5 Likes