From 6d6362e1e26554e44dd3d1de2cd35bc0ddc957fe Mon Sep 17 00:00:00 2001 From: JumpyVi Date: Fri, 2 Oct 2026 19:26:51 -0400 Subject: [PATCH 01/10] Merge modules and runtime --- mkosi.conf.d/arch.arm64.conf | 3 +-- mkosi.conf.d/arch.x86-64.conf | 6 ++--- .../driver-broadcom-modules/mkosi.conf | 10 +++++--- .../enable-runtime.chroot | 5 ---- .../driver-broadcom-runtime/mkosi.conf | 24 ------------------ mkosi.images/driver-nvidia-runtime/mkosi.conf | 25 ------------------- .../get-module-only | 0 .../mkosi.conf | 14 ++++++++--- .../modules-db/mkosi.conf.d/arch.arm64.conf | 2 +- .../modules-db/mkosi.conf.d/arch.x86-64.conf | 4 +-- .../driver-broadcom-runtime.transfer | 15 ----------- ...ules.transfer => driver-broadcom.transfer} | 4 +-- .../driver-nvidia-runtime.transfer | 15 ----------- ...odules.transfer => driver-nvidia.transfer} | 4 +-- 14 files changed, 26 insertions(+), 105 deletions(-) delete mode 100755 mkosi.images/driver-broadcom-runtime/enable-runtime.chroot delete mode 100644 mkosi.images/driver-broadcom-runtime/mkosi.conf delete mode 100644 mkosi.images/driver-nvidia-runtime/mkosi.conf rename mkosi.images/{driver-nvidia-modules => driver-nvidia}/get-module-only (100%) rename mkosi.images/{driver-nvidia-modules => driver-nvidia}/mkosi.conf (50%) delete mode 100644 mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom-runtime.transfer rename mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/{driver-broadcom-modules.transfer => driver-broadcom.transfer} (67%) delete mode 100644 mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia-runtime.transfer rename mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/{driver-nvidia-modules.transfer => driver-nvidia.transfer} (68%) diff --git a/mkosi.conf.d/arch.arm64.conf b/mkosi.conf.d/arch.arm64.conf index c8002977d..8ff6b763f 100644 --- a/mkosi.conf.d/arch.arm64.conf +++ b/mkosi.conf.d/arch.arm64.conf @@ -12,6 +12,5 @@ Dependencies= ext-sdk ext-virt driver-nvidia-addon - driver-nvidia-modules - driver-nvidia-runtime + driver-nvidia modules-db diff --git a/mkosi.conf.d/arch.x86-64.conf b/mkosi.conf.d/arch.x86-64.conf index 93c3fc143..7593026ab 100644 --- a/mkosi.conf.d/arch.x86-64.conf +++ b/mkosi.conf.d/arch.x86-64.conf @@ -12,9 +12,7 @@ Dependencies= ext-sdk ext-virt driver-nvidia-addon - driver-nvidia-modules - driver-nvidia-runtime + driver-nvidia driver-broadcom-addon - driver-broadcom-modules - driver-broadcom-runtime + driver-broadcom modules-db diff --git a/mkosi.images/driver-broadcom-modules/mkosi.conf b/mkosi.images/driver-broadcom-modules/mkosi.conf index 4d43481c5..e41ba1c41 100644 --- a/mkosi.images/driver-broadcom-modules/mkosi.conf +++ b/mkosi.images/driver-broadcom-modules/mkosi.conf @@ -1,4 +1,4 @@ -#broadcom-modules +#broadcom [Config] Dependencies=base @@ -6,10 +6,10 @@ Dependencies=base Architecture=x86-64 [Output] -ImageId=driver-broadcom-modules +ImageId=driver-broadcom Format=sysext Overlay=yes -Output=driver-broadcom-modules-%a_%v +Output=driver-broadcom-%a_%v CompressOutput=false [Validation] @@ -22,6 +22,8 @@ BuildPackages= dkms broadcom-sta-dkms linux-headers-generic -Packages=kmod +Packages= + kmod + broadcom-sta-common BuildScripts=get-module-only diff --git a/mkosi.images/driver-broadcom-runtime/enable-runtime.chroot b/mkosi.images/driver-broadcom-runtime/enable-runtime.chroot deleted file mode 100755 index 91c573a65..000000000 --- a/mkosi.images/driver-broadcom-runtime/enable-runtime.chroot +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -set -euo pipefail - -mkdir -p /usr/lib/modprobe.d/ -cp /etc/modprobe.d/broadcom-sta-common.conf /usr/lib/modprobe.d/ diff --git a/mkosi.images/driver-broadcom-runtime/mkosi.conf b/mkosi.images/driver-broadcom-runtime/mkosi.conf deleted file mode 100644 index ccd2eec89..000000000 --- a/mkosi.images/driver-broadcom-runtime/mkosi.conf +++ /dev/null @@ -1,24 +0,0 @@ -#broadcom-runtime -[Config] -Dependencies=base - -[Match] -Architecture=x86-64 - -[Output] -ImageId=driver-broadcom-runtime -Format=sysext -Overlay=yes -Output=driver-broadcom-runtime-%a_%v -CompressOutput=false - -[Validation] -Verity=yes - -[Content] -Bootable=no -BaseTrees=%O/base_%v -RemovePackages=broadcom-sta-dkms -BuildScripts=enable-runtime.chroot -Packages= - broadcom-sta-common diff --git a/mkosi.images/driver-nvidia-runtime/mkosi.conf b/mkosi.images/driver-nvidia-runtime/mkosi.conf deleted file mode 100644 index 71229ddd6..000000000 --- a/mkosi.images/driver-nvidia-runtime/mkosi.conf +++ /dev/null @@ -1,25 +0,0 @@ -#nvidia-runtime -[Config] -Dependencies=base - -[Output] -ImageId=driver-nvidia-runtime -Format=sysext -Overlay=yes -Output=driver-nvidia-runtime-%a_%v -CompressOutput=false - -[Validation] -Verity=yes - -[Build] -Environment=DEB_BUILD_PROFILES=nokerneldkms - -[Content] -Bootable=no -BaseTrees=%O/base_%v -RemovePackages=linux-modules-nvidia-590-open-generic -Packages= - libnvidia-gl-590 - nvidia-utils-590 - nvidia-driver-590-open diff --git a/mkosi.images/driver-nvidia-modules/get-module-only b/mkosi.images/driver-nvidia/get-module-only similarity index 100% rename from mkosi.images/driver-nvidia-modules/get-module-only rename to mkosi.images/driver-nvidia/get-module-only diff --git a/mkosi.images/driver-nvidia-modules/mkosi.conf b/mkosi.images/driver-nvidia/mkosi.conf similarity index 50% rename from mkosi.images/driver-nvidia-modules/mkosi.conf rename to mkosi.images/driver-nvidia/mkosi.conf index d5d09e9ac..5bcf44bb0 100644 --- a/mkosi.images/driver-nvidia-modules/mkosi.conf +++ b/mkosi.images/driver-nvidia/mkosi.conf @@ -1,12 +1,12 @@ -#nvidia-modules +#driver-nvidia [Config] Dependencies=base [Output] -ImageId=driver-nvidia-modules +ImageId=driver-nvidia Format=sysext Overlay=yes -Output=driver-nvidia-modules-%a_%v +Output=driver-nvidia-%a_%v CompressOutput=false [Validation] @@ -18,5 +18,11 @@ Environment=DEB_BUILD_PROFILES=nokerneldkms [Content] Bootable=no BaseTrees=%O/base_%v -Packages=linux-modules-nvidia-590-open-generic +BuildPackages= + linux-headers-generic +Packages= + linux-modules-nvidia-610-open-generic + libnvidia-gl-610 + nvidia-utils-610 + nvidia-driver-610-open BuildScripts=get-module-only diff --git a/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf b/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf index 59b2472d8..177e9b7e1 100644 --- a/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf +++ b/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf @@ -13,5 +13,5 @@ CompressOutput=false Bootable=false BaseTrees= %O/base_%v - %O/driver-nvidia-modules-%a_%v.raw + %O/driver-nvidia-%a_%v.raw Output=modules-db_%a-%v diff --git a/mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf b/mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf index b082c18b0..66eaca0f8 100644 --- a/mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf +++ b/mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf @@ -13,6 +13,6 @@ CompressOutput=false Bootable=false BaseTrees= %O/base_%v - %O/driver-broadcom-modules-%a_%v.raw - %O/driver-nvidia-modules-%a_%v.raw + %O/driver-broadcom-%a_%v.raw + %O/driver-nvidia-%a_%v.raw Output=modules-db_%a-%v diff --git a/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom-runtime.transfer b/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom-runtime.transfer deleted file mode 100644 index b04263436..000000000 --- a/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom-runtime.transfer +++ /dev/null @@ -1,15 +0,0 @@ -[Transfer] -ProtectVersion=%A -Features=driver-broadcom -Verify=yes - -[Source] -Type=url-file -Path=https://%W.updates.elementaryos.org/%a/ext -MatchPattern=driver-broadcom-runtime-%a_@v.raw.zst - -[Target] -Type=regular-file -Path=/var/lib/extensions/ -MatchPattern=driver-broadcom-runtime-%a_@v.raw -InstancesMax=2 diff --git a/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom-modules.transfer b/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom.transfer similarity index 67% rename from mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom-modules.transfer rename to mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom.transfer index 470134b67..740f38715 100644 --- a/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom-modules.transfer +++ b/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-broadcom.transfer @@ -6,10 +6,10 @@ Verify=yes [Source] Type=url-file Path=https://%W.updates.elementaryos.org/%a/ext -MatchPattern=driver-broadcom-modules-%a_@v.raw.zst +MatchPattern=driver-broadcom-%a_@v.raw.zst [Target] Type=regular-file Path=/var/lib/extensions/ -MatchPattern=driver-broadcom-modules-%a_@v.raw +MatchPattern=driver-broadcom-%a_@v.raw InstancesMax=2 diff --git a/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia-runtime.transfer b/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia-runtime.transfer deleted file mode 100644 index 14c96e608..000000000 --- a/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia-runtime.transfer +++ /dev/null @@ -1,15 +0,0 @@ -[Transfer] -ProtectVersion=%A -Features=driver-nvidia -Verify=yes - -[Source] -Type=url-file -Path=https://%W.updates.elementaryos.org/%a/ext -MatchPattern=driver-nvidia-runtime-%a_@v.raw.zst - -[Target] -Type=regular-file -Path=/var/lib/extensions/ -MatchPattern=driver-nvidia-runtime-%a_@v.raw -InstancesMax=2 diff --git a/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia-modules.transfer b/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia.transfer similarity index 68% rename from mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia-modules.transfer rename to mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia.transfer index 3374a6d80..4ee40c8c8 100644 --- a/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia-modules.transfer +++ b/mkosi.images/sysupdate/mkosi.extra/usr/lib/sysupdate.d/driver-nvidia.transfer @@ -6,10 +6,10 @@ Verify=yes [Source] Type=url-file Path=https://%W.updates.elementaryos.org/%a/ext -MatchPattern=driver-nvidia-modules-%a_@v.raw.zst +MatchPattern=driver-nvidia-%a_@v.raw.zst [Target] Type=regular-file Path=/var/lib/extensions/ -MatchPattern=driver-nvidia-modules-%a_@v.raw +MatchPattern=driver-nvidia-%a_@v.raw InstancesMax=2 From 7020055ec157777c2acb42ab2bb36677ac97ba59 Mon Sep 17 00:00:00 2001 From: JumpyVi Date: Fri, 2 Oct 2026 20:32:47 -0400 Subject: [PATCH 02/10] Rename driver-broadcom-module -> driver-broadcom --- .../{driver-broadcom-modules => driver-broadcom}/get-module-only | 0 .../{driver-broadcom-modules => driver-broadcom}/mkosi.conf | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename mkosi.images/{driver-broadcom-modules => driver-broadcom}/get-module-only (100%) rename mkosi.images/{driver-broadcom-modules => driver-broadcom}/mkosi.conf (100%) diff --git a/mkosi.images/driver-broadcom-modules/get-module-only b/mkosi.images/driver-broadcom/get-module-only similarity index 100% rename from mkosi.images/driver-broadcom-modules/get-module-only rename to mkosi.images/driver-broadcom/get-module-only diff --git a/mkosi.images/driver-broadcom-modules/mkosi.conf b/mkosi.images/driver-broadcom/mkosi.conf similarity index 100% rename from mkosi.images/driver-broadcom-modules/mkosi.conf rename to mkosi.images/driver-broadcom/mkosi.conf From 2d5ff518bac6102d397a74e7175989e6f8c7cdd4 Mon Sep 17 00:00:00 2001 From: Lewis Goddard Date: Sat, 3 Oct 2026 02:31:41 +0100 Subject: [PATCH 03/10] fix builds: nvidia-open 610 is in multiverse --- mkosi.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkosi.conf b/mkosi.conf index 99efc6c1e..bfba08f8c 100644 --- a/mkosi.conf +++ b/mkosi.conf @@ -4,7 +4,7 @@ MinimumVersion=26~devel [Distribution] Distribution=ubuntu Release=resolute -Repositories=main,universe,restricted +Repositories=main,universe,restricted,multiverse [Content] InitrdProfiles=plymouth From 1c8f7fd03f8fd784b913ac0aaae1ae085704eccc Mon Sep 17 00:00:00 2001 From: Lewis Goddard Date: Sat, 3 Oct 2026 02:59:18 +0100 Subject: [PATCH 04/10] #driver-broadcom to match directory and nvidia drivers --- mkosi.images/driver-broadcom/mkosi.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkosi.images/driver-broadcom/mkosi.conf b/mkosi.images/driver-broadcom/mkosi.conf index e41ba1c41..3d3366f0f 100644 --- a/mkosi.images/driver-broadcom/mkosi.conf +++ b/mkosi.images/driver-broadcom/mkosi.conf @@ -1,4 +1,4 @@ -#broadcom +#driver-broadcom [Config] Dependencies=base From 1164e1a69c36ad2b46272138cb397058fea4f9f1 Mon Sep 17 00:00:00 2001 From: Lewis Goddard Date: Sat, 3 Oct 2026 03:00:42 +0100 Subject: [PATCH 05/10] drop broadcom-sta-common `broadcom-sta-common` is just docs as we don't ship `/etc/modprobe.d/broadcom-sta-common.conf`, and it isn't needed if we are doing kernel arguments. --- mkosi.images/driver-broadcom/mkosi.conf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mkosi.images/driver-broadcom/mkosi.conf b/mkosi.images/driver-broadcom/mkosi.conf index 3d3366f0f..e2ae2f78f 100644 --- a/mkosi.images/driver-broadcom/mkosi.conf +++ b/mkosi.images/driver-broadcom/mkosi.conf @@ -22,8 +22,6 @@ BuildPackages= dkms broadcom-sta-dkms linux-headers-generic -Packages= - kmod - broadcom-sta-common +Packages=kmod BuildScripts=get-module-only From 88a200c951533c81a3fe9e327747fa95af92cf65 Mon Sep 17 00:00:00 2001 From: Lewis Goddard Date: Sat, 3 Oct 2026 03:02:08 +0100 Subject: [PATCH 06/10] Be explicit about build dependencies for modules-db (arm64) --- mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf b/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf index 177e9b7e1..451204a9f 100644 --- a/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf +++ b/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf @@ -1,5 +1,8 @@ [Config] -Dependencies=base +Dependencies= + base + driver-broadcom + driver-nvidia [Match] Architecture=arm64 From cfbab951bf23038aa80509824f103420c59daac5 Mon Sep 17 00:00:00 2001 From: Lewis Goddard Date: Sat, 3 Oct 2026 03:02:38 +0100 Subject: [PATCH 07/10] Be explicit about build dependencies for modules-db (x86-64) --- mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf b/mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf index 66eaca0f8..6b72674f6 100644 --- a/mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf +++ b/mkosi.images/modules-db/mkosi.conf.d/arch.x86-64.conf @@ -1,5 +1,8 @@ [Config] -Dependencies=base +Dependencies= + base + driver-broadcom + driver-nvidia [Match] Architecture=x86-64 From f576cf3051bd11ed176e04f68e68e47caaaeab27 Mon Sep 17 00:00:00 2001 From: Lewis Goddard Date: Sat, 3 Oct 2026 03:02:59 +0100 Subject: [PATCH 08/10] Removed 'driver-nvidia' from dependencies for arm64 (mb) --- mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf b/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf index 451204a9f..c4ab13db3 100644 --- a/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf +++ b/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf @@ -2,7 +2,6 @@ Dependencies= base driver-broadcom - driver-nvidia [Match] Architecture=arm64 From f07a6d7326cfc9c60c5f28e21ff26c554a1dfc24 Mon Sep 17 00:00:00 2001 From: Lewis Goddard Date: Sat, 3 Oct 2026 03:04:30 +0100 Subject: [PATCH 09/10] Removed 'driver-nvidia' from dependencies for arm64 (mb) --- mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf b/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf index c4ab13db3..d64e76503 100644 --- a/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf +++ b/mkosi.images/modules-db/mkosi.conf.d/arch.arm64.conf @@ -1,7 +1,7 @@ [Config] Dependencies= base - driver-broadcom + driver-nvidia [Match] Architecture=arm64 From df6ef143c0814055563265ab7994226720bdbbb3 Mon Sep 17 00:00:00 2001 From: JumpyVi Date: Sat, 3 Oct 2026 14:03:23 -0400 Subject: [PATCH 10/10] Restrict proprietary packages to needed ones --- .../etc/apt/preferences.d/restrict-proprietary | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 repos/common-files/etc/apt/preferences.d/restrict-proprietary diff --git a/repos/common-files/etc/apt/preferences.d/restrict-proprietary b/repos/common-files/etc/apt/preferences.d/restrict-proprietary new file mode 100644 index 000000000..6905fa30c --- /dev/null +++ b/repos/common-files/etc/apt/preferences.d/restrict-proprietary @@ -0,0 +1,17 @@ +Explanation: Block everything by default in multiverse, except NVIDIA. +Package: * +Pin: release c=multiverse +Pin-Priority: -1 + +Package: /.*nvidia.*/ +Pin: release c=multiverse +Pin-Priority: 500 + +Explanation: Block everything by default in restricted, except NVIDIA and Broadcom. +Package: * +Pin: release c=restricted +Pin-Priority: -1 + +Package: /.*(nvidia|broadcom).*/ +Pin: release c=restricted +Pin-Priority: 500 \ No newline at end of file