From c1e08d3d95b5276324f89a6caf76f625a3bd957e Mon Sep 17 00:00:00 2001 From: Vasiliy Stelmachenok Date: Sun, 9 Aug 2026 18:46:59 +0300 Subject: [PATCH] Eliminate early KMS usage in favor of proper systemd chainload Signed-off-by: Vasiliy Stelmachenok --- profiles/pci/graphic_drivers/profiles.toml | 46 ++++------------------ 1 file changed, 8 insertions(+), 38 deletions(-) diff --git a/profiles/pci/graphic_drivers/profiles.toml b/profiles/pci/graphic_drivers/profiles.toml index 13e17da..2599b1a 100644 --- a/profiles/pci/graphic_drivers/profiles.toml +++ b/profiles/pci/graphic_drivers/profiles.toml @@ -23,7 +23,7 @@ vendor_ids = "10de" device_ids = "*" priority = 10 driver_conflict_group = "nvidia" -packages = 'nvidia-utils egl-wayland nvidia-settings opencl-nvidia lib32-opencl-nvidia lib32-nvidia-utils libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loader' +packages = 'nvidia-utils egl-wayland nvidia-settings opencl-nvidia lib32-opencl-nvidia lib32-nvidia-utils libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loader cachyos-drm-awaiter' conditional_packages = """ modules="" @@ -39,25 +39,19 @@ conditional_packages = """ echo "$modules" """ pre_install = """ - cat </etc/mkinitcpio.conf.d/10-chwd.conf -# This file is automatically generated by chwd. PLEASE DO NOT EDIT IT. -MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) -EOF - cat <<'EOF' >/etc/mkinitcpio.conf.d/10-chwd-kms.conf # This file is automatically generated by chwd. PLEASE DO NOT EDIT IT. HOOKS=(${HOOKS[@]/kms/}) EOF """ pre_remove = """ - rm -f /etc/mkinitcpio.conf.d/10-chwd.conf rm -f /etc/mkinitcpio.conf.d/10-chwd-kms.conf """ [nvidia-open-dkms.prime] desc = 'Open source NVIDIA drivers for Linux laptops (Latest)' priority = 11 -packages = 'nvidia-utils egl-wayland nvidia-settings opencl-nvidia lib32-opencl-nvidia lib32-nvidia-utils libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loader nvidia-prime switcheroo-control' +packages = 'nvidia-utils egl-wayland nvidia-settings opencl-nvidia lib32-opencl-nvidia lib32-nvidia-utils libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loader nvidia-prime switcheroo-control cachyos-drm-awaiter' chassis_types = "8 9 10 11" post_install = """ # nvidia-powerd is not supported by Turing GPUs @@ -82,15 +76,6 @@ if [ -n "$(lspci -d "10de:*:0302")" ]; then fi EOF """ -pre_install = """ - cat </etc/mkinitcpio.conf.d/10-chwd.conf -# This file is automatically generated by chwd. PLEASE DO NOT EDIT IT. -MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) -EOF -""" -pre_remove = """ - rm -f /etc/mkinitcpio.conf.d/10-chwd.conf -""" post_remove = """ rm -f /etc/profile.d/nvidia-rtd3-workaround.sh rm -f /usr/lib/systemd/user-environment-generators/20-nvidia-rtd3-workaround @@ -102,7 +87,7 @@ class_ids = "0300 0302 0380" vendor_ids = "10de" priority = 12 driver_conflict_group = "nvidia" -packages = 'nvidia-580xx-dkms nvidia-580xx-utils nvidia-580xx-settings opencl-nvidia-580xx lib32-opencl-nvidia-580xx lib32-nvidia-580xx-utils libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loader' +packages = 'nvidia-580xx-dkms nvidia-580xx-utils nvidia-580xx-settings opencl-nvidia-580xx lib32-opencl-nvidia-580xx lib32-nvidia-580xx-utils libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loader cachyos-drm-awaiter' device_ids = '>/var/lib/chwd/ids/nvidia-580.ids' conditional_packages = """ for pkgbase in /usr/lib/modules/*/pkgbase; do @@ -111,18 +96,12 @@ conditional_packages = """ done """ pre_install = """ - cat </etc/mkinitcpio.conf.d/10-chwd.conf -# This file is automatically generated by chwd. PLEASE DO NOT EDIT IT. -MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) -EOF - cat <<'EOF' >/etc/mkinitcpio.conf.d/10-chwd-kms.conf # This file is automatically generated by chwd. PLEASE DO NOT EDIT IT. HOOKS=(${HOOKS[@]/kms/}) EOF """ pre_remove = """ - rm -f /etc/mkinitcpio.conf.d/10-chwd.conf rm -f /etc/mkinitcpio.conf.d/10-chwd-kms.conf """ @@ -131,12 +110,6 @@ desc = 'Closed source NVIDIA drivers for Linux laptops (580xx)' priority = 13 packages = 'nvidia-580xx-dkms nvidia-580xx-utils nvidia-580xx-settings opencl-nvidia-580xx lib32-opencl-nvidia-580xx lib32-nvidia-580xx-utils libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loader nvidia-prime switcheroo-control' chassis_types = "8 9 10 11" -pre_install = """ - cat </etc/mkinitcpio.conf.d/10-chwd.conf -# This file is automatically generated by chwd. PLEASE DO NOT EDIT IT. -MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) -EOF -""" post_install = """ systemctl enable switcheroo-control @@ -155,9 +128,6 @@ if [ -n "$(lspci -d "10de:*:0302")" ]; then fi EOF """ -pre_remove = """ - rm -f /etc/mkinitcpio.conf.d/10-chwd.conf -""" post_remove = """ rm -f /etc/profile.d/nvidia-rtd3-workaround.sh rm -f /usr/lib/systemd/user-environment-generators/20-nvidia-rtd3-workaround @@ -170,12 +140,12 @@ class_ids = "0300 0302 0380" vendor_ids = "10de" device_ids = '>/var/lib/chwd/ids/nvidia-470.ids' driver_conflict_group = "nvidia" -packages = 'nvidia-470xx-dkms nvidia-470xx-utils nvidia-470xx-settings opencl-nvidia-470xx vulkan-icd-loader lib32-nvidia-470xx-utils lib32-opencl-nvidia-470xx lib32-vulkan-icd-loader libva-nvidia-driver' +packages = 'nvidia-470xx-dkms nvidia-470xx-utils nvidia-470xx-settings opencl-nvidia-470xx vulkan-icd-loader lib32-nvidia-470xx-utils lib32-opencl-nvidia-470xx lib32-vulkan-icd-loader libva-nvidia-driver cachyos-drm-awaiter' [nvidia-dkms-470xx.prime] desc = 'Closed source NVIDIA drivers for Linux (470xx branch, only for mobile Kepler GPUs)' priority = 15 -packages = 'nvidia-470xx-dkms nvidia-470xx-utils nvidia-470xx-settings opencl-nvidia-470xx vulkan-icd-loader lib32-nvidia-470xx-utils lib32-opencl-nvidia-470xx lib32-vulkan-icd-loader libva-nvidia-driver nvidia-prime switcheroo-control' +packages = 'nvidia-470xx-dkms nvidia-470xx-utils nvidia-470xx-settings opencl-nvidia-470xx vulkan-icd-loader lib32-nvidia-470xx-utils lib32-opencl-nvidia-470xx lib32-vulkan-icd-loader libva-nvidia-driver nvidia-prime switcheroo-control cachyos-drm-awaiter' chassis_types = "8 9 10 11" post_install = """ systemctl enable switcheroo-control @@ -187,7 +157,7 @@ class_ids = "0300 0302" vendor_ids = "10de" device_ids = '>/var/lib/chwd/ids/nouveau.ids' priority = 18 -packages = 'mesa lib32-mesa nouveau-fw opencl-mesa lib32-opencl-mesa' +packages = 'mesa lib32-mesa nouveau-fw opencl-mesa lib32-opencl-mesa cachyos-drm-awaiter' conditional_packages = """ # Install vulkan-nouveau and linux-firmware-nvidia only for Kepler GPUs device_id="$(lspci -d "10de:*:030x" -n | cut -d" " -f3 | cut -d":" -f2 | head -n1)" @@ -226,7 +196,7 @@ class_ids = "0300 0302 0380" vendor_ids = "8086" device_ids = "*" priority = 4 -packages = 'mesa lib32-mesa vulkan-intel lib32-vulkan-intel gst-plugin-va linux-firmware-intel' +packages = 'mesa lib32-mesa vulkan-intel lib32-vulkan-intel gst-plugin-va linux-firmware-intel cachyos-drm-awaiter' conditional_packages = """ if [ -z "$(lspci -d "10de:*:030x")" ]; then echo "opencl-mesa lib32-opencl-mesa" @@ -266,7 +236,7 @@ class_ids = "0300 0302 0380" vendor_ids = "1002" device_ids = "*" priority = 4 -packages = 'mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon xf86-video-amdgpu gst-plugin-va linux-firmware-amdgpu' +packages = 'mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon xf86-video-amdgpu gst-plugin-va linux-firmware-amdgpu cachyos-drm-awaiter' conditional_packages = """ if [ -z "$(lspci -d "10de:*:030x")" ]; then echo "opencl-mesa lib32-opencl-mesa"