diff options
Diffstat (limited to 'modules/nixos-apple-silicon/apple-silicon-support')
8 files changed, 113 insertions, 40 deletions
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix index 26d920facc5c..8e615479c20b 100644 --- a/modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix +++ b/modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix @@ -57,7 +57,7 @@ boot.kernelParams = [ "earlycon" - "console=ttySAC0,1500000" + "console=ttySAC0,115200n8" "console=tty0" "boot.shell_on_fail" # Apple's SSDs are slow (~dozens of ms) at processing flush requests which diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix index bb34f19f4f9c..ac9d15e36d4e 100644 --- a/modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix +++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix @@ -3,14 +3,14 @@ , alsa-ucm-conf }: (alsa-ucm-conf.overrideAttrs (oldAttrs: rec { - version = "3"; + version = "5"; src_asahi = fetchFromGitHub { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/alsa-ucm-conf-asahi/PKGBUILD + # tracking: https://src.fedoraproject.org/rpms/alsa-ucm-asahi owner = "AsahiLinux"; repo = "alsa-ucm-conf-asahi"; rev = "v${version}"; - hash = "sha256-TCCT0AJx0SdnTzzBaV94zuD2hrPqvk+9vTTuEQmpJjc="; + hash = "sha256-daUNz5oUrPfSMO0Tqq/WbtiLHMOtPeQQlI+juGrhTxw="; }; postInstall = oldAttrs.postInstall or "" + '' diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix index 4696a6f1af69..a582aac81b8f 100644 --- a/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix +++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix @@ -88,22 +88,19 @@ let (linuxKernel.manualConfig rec { inherit stdenv lib; - version = "6.5.0-asahi"; + version = "6.6.0-asahi"; modDirVersion = version; - extraMeta.branch = "6.5"; + extraMeta.branch = "6.6"; src = fetchFromGitHub { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/linux-asahi/PKGBUILD + # tracking: https://github.com/AsahiLinux/linux/tree/asahi-wip (w/ fedora verification) owner = "AsahiLinux"; repo = "linux"; - rev = "asahi-6.5-15"; - hash = "sha256-Rruk/Nrw425XerZjgDJ4PJ3c63CCycch1qz7vFxHPCE="; + rev = "asahi-6.6-14"; + hash = "sha256-+ydX2XXIbcVfq27WC68EPP8n3bf+WD5fDG7FBq3QJi4="; }; kernelPatches = [ - { name = "rust-bindgen-version"; - patch = ./rust-bindgen-version.patch; - } ] ++ lib.optionals _4KBuild [ # thanks to Sven Peter # https://lore.kernel.org/linux-iommu/20211019163737.46269-1-sven@svenpeter.dev/ diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch b/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch deleted file mode 100644 index 695cb2ceaeff..000000000000 --- a/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/scripts/rust_is_available.sh b/scripts/rust_is_available.sh -index aebbf1913..b7b0a4abc 100755 ---- a/scripts/rust_is_available.sh -+++ b/scripts/rust_is_available.sh -@@ -102,8 +102,7 @@ fi - # Check that the `libclang` used by the Rust bindings generator is suitable. - bindgen_libclang_version=$( \ - LC_ALL=C "$BINDGEN" $(dirname $0)/rust_is_available_bindgen_libclang.h 2>&1 >/dev/null \ -- | grep -F 'clang version ' \ -- | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' \ -+ | grep -oP 'clang version \K[0-9]+\.[0-9]+\.[0-9]+' \ - | head -n 1 \ - ) - bindgen_libclang_min_version=$($min_tool_version llvm) diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix index 7955f47ab435..86a8bcdf8bc8 100644 --- a/modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix +++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix @@ -25,14 +25,14 @@ let }); in stdenv.mkDerivation rec { pname = "m1n1"; - version = "1.4.2"; + version = "1.4.11"; src = fetchFromGitHub { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/m1n1/PKGBUILD + # tracking: https://src.fedoraproject.org/rpms/m1n1 owner = "AsahiLinux"; repo = "m1n1"; rev = "v${version}"; - hash = "sha256-zPHLlhXUIX6MV2pnDkuSg4Pz8gB4YOZiaa8MuLasgPY="; + hash = "sha256-1lWI9tcOxgrcfaPfdSF+xRE9qofhNR3SQiA4h86VVeE="; fetchSubmodules = true; }; diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix index 0e1b60315cb2..b6b330ef8b4f 100644 --- a/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix +++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix @@ -1,22 +1,26 @@ { lib , fetchFromGitLab -, mesa }: +, mesa +, llvmPackages +}: (mesa.override { galliumDrivers = [ "swrast" "asahi" ]; vulkanDrivers = [ "swrast" ]; enableGalliumNine = false; + # libclc and other OpenCL components are needed for geometry shader support on Apple Silicon + enableOpenCL = true; }).overrideAttrs (oldAttrs: { # version must be the same length (i.e. no unstable or date) # so that system.replaceRuntimeDependencies can work - version = "23.3.0"; + version = "24.0.0"; src = fetchFromGitLab { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/mesa-asahi-edge/PKGBUILD + # tracking: https://pagure.io/fedora-asahi/mesa/commits/asahi domain = "gitlab.freedesktop.org"; owner = "asahi"; repo = "mesa"; - rev = "asahi-20230904"; - hash = "sha256-hBfXzV8U9fm3cR4KMIl64ypioEeofH3BDl/jZQPLKQg="; + rev = "asahi-20231213"; + hash = "sha256-hl0JtwWEXaCkhCMQJ393mzfw/eEx6m9DYNS+spQ3Vhs="; }; mesonFlags = @@ -34,8 +38,10 @@ "-Dlmsensors=disabled" ]; - # replace disk cache path patch with one tweaked slightly to apply to this version + # replace patches with ones tweaked slightly to apply to this version patches = lib.forEach oldAttrs.patches (p: if lib.hasSuffix "disk_cache-include-dri-driver-path-in-cache-key.patch" p - then ./disk_cache-include-dri-driver-path-in-cache-key.patch else p); + then ./disk_cache-include-dri-driver-path-in-cache-key.patch else + (if lib.hasSuffix "opencl.patch" p + then ./opencl.patch else p)); }) diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch b/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch new file mode 100644 index 000000000000..2957bb987854 --- /dev/null +++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch @@ -0,0 +1,84 @@ +From bbd0f154183e4d26a14bb005f6afc636629c201e Mon Sep 17 00:00:00 2001 +From: Thomas Watson <twatson52@icloud.com> +Date: Sat, 16 Dec 2023 20:46:51 -0600 +Subject: [PATCH] opencl.patch from nixpkgs + f416128e90ac75bec060e8b9435fe9c38423c036 + +--- + meson.build | 2 +- + meson_options.txt | 6 ++++++ + src/gallium/targets/opencl/meson.build | 6 +++--- + src/gallium/targets/rusticl/meson.build | 3 +-- + 4 files changed, 11 insertions(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index 552ff196aa8..9e10156b875 100644 +--- a/meson.build ++++ b/meson.build +@@ -1829,7 +1829,7 @@ endif + + dep_clang = null_dep + if with_clc +- llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir') ++ llvm_libdir = get_option('clang-libdir') + + dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false) + +diff --git a/meson_options.txt b/meson_options.txt +index c76fa6d3382..d2021f55634 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,12 @@ + # Copyright © 2017-2019 Intel Corporation + # SPDX-License-Identifier: MIT + ++option( ++ 'clang-libdir', ++ type : 'string', ++ value : '', ++ description : 'Locations to search for clang libraries.' ++) + option( + 'platforms', + type : 'array', +diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build +index 7c14135898e..cbcd67cc443 100644 +--- a/src/gallium/targets/opencl/meson.build ++++ b/src/gallium/targets/opencl/meson.build +@@ -39,7 +39,8 @@ if dep_llvm.version().version_compare('>=10.0.0') + polly_isl_dep = cpp.find_library('PollyISL', dirs : llvm_libdir, required : false) + endif + +-dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false) ++clang_libdir = get_option('clang-libdir') ++dep_clang = cpp.find_library('clang-cpp', dirs : clang_libdir, required : false) + + # meson will return clang-cpp from system dirs if it's not found in llvm_libdir + linker_rpath_arg = '-Wl,--rpath=@0@'.format(llvm_libdir) +@@ -123,8 +124,7 @@ if with_opencl_icd + configuration : _config, + input : 'mesa.icd.in', + output : 'mesa.icd', +- install : true, +- install_tag : 'runtime', ++ install : false, + install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'), + ) + +diff --git a/src/gallium/targets/rusticl/meson.build b/src/gallium/targets/rusticl/meson.build +index b2963fe6dfa..2f784bdccd4 100644 +--- a/src/gallium/targets/rusticl/meson.build ++++ b/src/gallium/targets/rusticl/meson.build +@@ -76,8 +76,7 @@ configure_file( + configuration : _config, + input : 'rusticl.icd.in', + output : 'rusticl.icd', +- install : true, +- install_tag : 'runtime', ++ install : false, + install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'), + ) + +-- +2.40.1 + diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix index 908aff32b1ae..c3bf0847973f 100644 --- a/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix +++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix @@ -6,13 +6,13 @@ (buildUBoot rec { src = fetchFromGitHub { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/uboot-asahi/PKGBUILD + # tracking: https://pagure.io/fedora-asahi/uboot-tools/commits/main owner = "AsahiLinux"; repo = "u-boot"; - rev = "asahi-v2023.07.02-3"; - hash = "sha256-a7iNawyq7K6jhiVzu5x8mllF3olTP+jQRXGGSsoKINI="; + rev = "asahi-v2023.07.02-4"; + hash = "sha256-M4qkEyNgwV2AKSr5VzPGfhHo1kGy8Tw8TfyP36cgYjc="; }; - version = "2023.07.02.asahi3-1"; + version = "2023.07.02.asahi4-1"; defconfig = "apple_m1_defconfig"; extraMeta.platforms = [ "aarch64-linux" ]; |