A dnf repo of Fedora kernels with Alex Williamson's ACS override patch applied, for PCI passthrough of devices that share an IOMMU group. Rebuilt daily against the newest Fedora kernel. Source and full setup notes: some-natalie/fedora-acs-override.
sudo dnf config-manager addrepo --from-repofile=https://some-natalie.github.io/fedora-acs-override/acs-override.repo sudo dnf install kernel-acs kernel-acs-core kernel-acs-devel kernel-acs-modules kernel-acs-modules-extra sudo reboot
These are kernel-acs*, a separate package family from Fedora's own kernel*, so nothing is replaced. Both stay installed and bootable, and you pick which one runs at the boot menu. uname -r shows .acs when you're on this one.
Packages and repo metadata are both signed, so dnf asks you to accept the key on first install. Verify it before you do — the fingerprint should be FC3F2A6C5D05CE26434442BBD9500E334C48DD8B:
curl -s https://some-natalie.github.io/fedora-acs-override/RPM-GPG-KEY-acs-override | gpg --show-keys
Builds are attested too:
gh attestation verify kernel-acs-core-*.rpm --repo some-natalie/fedora-acs-override
The five newest kernel versions per Fedora release stay in the repo. Kernels are installonly, so dnf downgrade refuses — install the older version by name instead and it lands alongside what you have:
dnf list --showduplicates kernel-acs-core sudo dnf install kernel-acs-core-7.1.8-200.acs.fc44 kernel-acs-modules-7.1.8-200.acs.fc44 sudo grubby --info=ALL | grep -E 'index|title' sudo grubby --set-default=/boot/vmlinuz-7.1.8-200.acs.fc44.x86_64
Installing the kernel is only half of it — IOMMU still has to be enabled on the kernel command line, and identical cards need pcie_acs_override=downstream. The grub, modprobe, and dracut configuration is in the README.
No warranty, no support. Back up anything you care about first.