From c066b83069f124aa728c2e871e29a8441c033380 Mon Sep 17 00:00:00 2001 From: osy <50960678+osy@users.noreply.github.com> Date: Wed, 23 Sep 2026 09:22:41 -0500 Subject: [PATCH] build: update KosmicKrisp which now requires macOS 26 The new Mesa revision builds KosmicKrisp with the precompiled shader compiler, and the driver now needs macOS 26 (and the aligned iOS, tvOS, and visionOS 26 releases) at runtime. Bump the availability gates on the settings picker and the VM start check to match. Assisted-by: Claude:claude-fable-5-1 --- Platform/macOS/SettingsView.swift | 2 +- Services/UTMQemuVirtualMachine.swift | 2 +- patches/sources | 2 +- scripts/build_dependencies.sh | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Platform/macOS/SettingsView.swift b/Platform/macOS/SettingsView.swift index ac832d74..713951a1 100644 --- a/Platform/macOS/SettingsView.swift +++ b/Platform/macOS/SettingsView.swift @@ -256,7 +256,7 @@ struct DisplaySettingsView: View { Text("Default").tag(UTMQEMUVulkanDriver.qemuVulkanDriverDefault) Text("Disabled").tag(UTMQEMUVulkanDriver.qemuVulkanDriverDisabled) Text("MoltenVK").tag(UTMQEMUVulkanDriver.qemuVulkanDriverMoltenVK) - if #available(macOS 15, *) { + if #available(macOS 26, *) { Text("KosmicKrisp").tag(UTMQEMUVulkanDriver.qemuVulkanDriverKosmicKrisp) } }.help("Select the Vulkan driver to use for host passthrough rendering. Vulkan requires guest drivers to be installed.") diff --git a/Services/UTMQemuVirtualMachine.swift b/Services/UTMQemuVirtualMachine.swift index c7a1fe2d..d16a1896 100644 --- a/Services/UTMQemuVirtualMachine.swift +++ b/Services/UTMQemuVirtualMachine.swift @@ -239,7 +239,7 @@ extension UTMQemuVirtualMachine { let rawValue = UserDefaults.standard.integer(forKey: "QEMUVulkanDriver") let driver = UTMQEMUVulkanDriver(rawValue: rawValue) ?? .qemuVulkanDriverDefault if driver == .qemuVulkanDriverKosmicKrisp { - if #unavailable(iOS 18, macOS 15, tvOS 18, visionOS 2) { + if #unavailable(iOS 26, macOS 26, tvOS 26, visionOS 26) { throw UTMQemuVirtualMachineError.vulkanVersionNotSupported } } diff --git a/patches/sources b/patches/sources index ec13ff05..4cd8e020 100644 --- a/patches/sources +++ b/patches/sources @@ -48,7 +48,7 @@ VULKAN_LOADER_COMMIT="6df86907be582927507637f3f6003ea58bc34517" VIRGLRENDERER_REPO="https://github.com/utmapp/virglrenderer.git" VIRGLRENDERER_COMMIT="5d26f605f50f8e22002ec6db5fb775e1992d4e96" MESA_REPO="https://gitlab.freedesktop.org/osy/mesa.git" -MESA_COMMIT="79bc850d884a1307356ff61c017e58901b90c7e2" +MESA_COMMIT="eed3e1d9bff9eb38890e0f241e87846cdd729fdf" MOLTENVK_REPO="https://github.com/utmapp/MoltenVK.git" MOLTENVK_COMMIT="05604465d691118cfd20f53a48ecf1aad9c12f93" LLVM15_SRC="https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/llvm-project-15.0.7.src.tar.xz" diff --git a/scripts/build_dependencies.sh b/scripts/build_dependencies.sh index 79c49de5..07bba6f7 100755 --- a/scripts/build_dependencies.sh +++ b/scripts/build_dependencies.sh @@ -870,7 +870,7 @@ build_mesa_host () { HOST_PATH="$(brew --prefix llvm)/bin:$CLEAN_PATH" env -i PATH="$HOST_PATH" meson host_build --prefix="$PREFIX/host" --buildtype=release \ - -Dllvm=enabled -Dstrip=true -Dopengl=false -Dgallium-drivers= -Dvulkan-drivers= -Dmesa-clc=enabled -Dinstall-mesa-clc=true + -Dllvm=enabled -Dstrip=true -Dopengl=false -Dgallium-drivers= -Dvulkan-drivers=kosmickrisp -Dplatforms=macos -Dmesa-clc=enabled -Dinstall-mesa-clc=true -Dprecomp-compiler=enabled -Dinstall-precomp-compiler=true env -i PATH="$HOST_PATH" meson compile -C host_build -j $NCPU env -i PATH="$HOST_PATH" meson install -C host_build @@ -880,7 +880,7 @@ build_mesa_host () { build_vulkan_drivers () { mkdir -p "$PREFIX/share/vulkan/icd.d" build_mesa_host - meson_darwin_build $MESA_REPO -Dmesa-clc=system -Dgallium-drivers= -Dvulkan-drivers=kosmickrisp -Dplatforms=macos + meson_darwin_build $MESA_REPO -Dmesa-clc=system -Dprecomp-compiler=system -Dgallium-drivers= -Dvulkan-drivers=kosmickrisp -Dplatforms=macos patch_vulkan_icd "$PREFIX/share/vulkan/icd.d/kosmickrisp_mesa_icd.$ARCH.json" mv "$PREFIX/share/vulkan/icd.d/kosmickrisp_mesa_icd.$ARCH.json" "$PREFIX/share/vulkan/icd.d/kosmickrisp_mesa_icd.json" build_moltenvk