Since this has been lagging behind the mainline kernel, I decided to try and update to the current kernel release. I am using the following patch and from what I can tell, it works perfectly fine:
From 473511d01b02b0d946a2f336f0e0ead28b62b95b Mon Sep 17 00:00:00 2001
From: Felix Morgner <felix.morgner@gmail.com>
Date: Fri, 1 Sep 2023 10:09:54 +0200
Subject: [PATCH] pkg: update to Linux 6.4.12-arch1
---
0001-add-acs-overrides.patch | 34 ++++-----------
0002-i915-vga-arbiter.patch | 80 +++++++++++++-----------------------
PKGBUILD | 23 ++++++-----
3 files changed, 50 insertions(+), 87 deletions(-)
diff --git a/0001-add-acs-overrides.patch b/0001-add-acs-overrides.patch
index 2b270d5..2624b05 100644
--- a/0001-add-acs-overrides.patch
+++ b/0001-add-acs-overrides.patch
@@ -1,19 +1,7 @@
-From b41eb63d48790c92ac171fd92ad6355cb724e7ad Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=A9clairevoyant?=
- <848000+eclairevoyant@users.noreply.github.com>
-Date: Tue, 14 Mar 2023 17:06:39 -0400
-Subject: [PATCH 1/2] add-acs-overrides
-
----
- .../admin-guide/kernel-parameters.txt | 8 ++
- drivers/pci/quirks.c | 102 ++++++++++++++++++
- 2 files changed, 110 insertions(+)
-
-diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index 6cfa6e3996cf..fdbe34c0fbf3 100644
---- a/Documentation/admin-guide/kernel-parameters.txt
-+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -4178,6 +4178,14 @@
+diff --unified --recursive --text a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
+--- a/Documentation/admin-guide/kernel-parameters.txt 2023-08-26 21:41:59.900155485 +0200
++++ b/Documentation/admin-guide/kernel-parameters.txt 2023-08-26 21:42:33.030920840 +0200
+@@ -4256,6 +4256,14 @@
nomsi [MSI] If the PCI_MSI kernel config parameter is
enabled, this kernel boot option can be used to
disable the use of MSI interrupts system-wide.
@@ -28,11 +16,10 @@ index 6cfa6e3996cf..fdbe34c0fbf3 100644
noioapicquirk [APIC] Disable all boot interrupt quirks.
Safety option to keep boot IRQs enabled. This
should never be necessary.
-diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index 494fa46f5767..41150eb8bd4c 100644
---- a/drivers/pci/quirks.c
-+++ b/drivers/pci/quirks.c
-@@ -194,6 +194,106 @@ static int __init pci_apply_final_quirks(void)
+diff --unified --recursive --text a/drivers/pci/quirks.c b/drivers/pci/quirks.c
+--- a/drivers/pci/quirks.c 2023-08-26 21:42:01.850200571 +0200
++++ b/drivers/pci/quirks.c 2023-08-26 21:42:33.030920840 +0200
+@@ -194,6 +194,106 @@
}
fs_initcall_sync(pci_apply_final_quirks);
@@ -139,7 +126,7 @@ index 494fa46f5767..41150eb8bd4c 100644
/*
* Decoding should be disabled for a PCI device during BAR sizing to avoid
* conflict. But doing so may cause problems on host bridge and perhaps other
-@@ -5002,6 +5102,8 @@ static const struct pci_dev_acs_enabled {
+@@ -5017,6 +5117,8 @@
{ PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs },
/* Wangxun nics */
{ PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs },
@@ -148,6 +135,3 @@ index 494fa46f5767..41150eb8bd4c 100644
{ 0 }
};
---
-2.39.2
-
diff --git a/0002-i915-vga-arbiter.patch b/0002-i915-vga-arbiter.patch
index fc546d8..b82eed5 100644
--- a/0002-i915-vga-arbiter.patch
+++ b/0002-i915-vga-arbiter.patch
@@ -1,23 +1,7 @@
-From 61009bd54ec93d15f9c26325cf5e5c68ac98becc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=A9clairevoyant?=
- <848000+eclairevoyant@users.noreply.github.com>
-Date: Tue, 14 Mar 2023 17:07:40 -0400
-Subject: [PATCH 2/2] i915-vga-arbiter
-
----
- drivers/gpu/drm/i915/display/intel_display.c | 15 ++++++++--
- drivers/gpu/drm/i915/display/intel_display.h | 1 +
- drivers/gpu/drm/i915/display/intel_vga.c | 31 ++++++++++++++++++++
- drivers/gpu/drm/i915/display/intel_vga.h | 4 +++
- drivers/gpu/drm/i915/i915_params.c | 3 ++
- drivers/gpu/drm/i915/i915_params.h | 1 +
- 6 files changed, 52 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
-index dedbdb175f8b..e7e95308f6e6 100644
---- a/drivers/gpu/drm/i915/display/intel_display.c
-+++ b/drivers/gpu/drm/i915/display/intel_display.c
-@@ -8646,9 +8646,11 @@ int intel_modeset_init_noirq(struct drm_i915_private *i915)
+diff --unified --recursive --text package.orig/drivers/gpu/drm/i915/display/intel_display.c package.new/drivers/gpu/drm/i915/display/intel_display.c
+--- package.orig/drivers/gpu/drm/i915/display/intel_display.c 2023-08-26 21:42:01.223519415 +0200
++++ package.new/drivers/gpu/drm/i915/display/intel_display.c 2023-08-26 21:47:01.677083488 +0200
+@@ -8372,9 +8372,11 @@
intel_bios_init(i915);
@@ -31,8 +15,8 @@ index dedbdb175f8b..e7e95308f6e6 100644
+ }
/* FIXME: completely on the wrong abstraction layer */
- intel_power_domains_init_hw(i915, false);
-@@ -8796,6 +8798,12 @@ int intel_modeset_init(struct drm_i915_private *i915)
+ ret = intel_power_domains_init(i915);
+@@ -8527,6 +8529,12 @@
if (ret)
return ret;
@@ -45,7 +29,7 @@ index dedbdb175f8b..e7e95308f6e6 100644
/* Only enable hotplug handling once the fbdev is fully set up. */
intel_hpd_init(i915);
intel_hpd_poll_disable(i915);
-@@ -8966,6 +8974,7 @@ void intel_modeset_driver_remove(struct drm_i915_private *i915)
+@@ -8705,6 +8713,7 @@
if (!HAS_DISPLAY(i915))
return;
@@ -53,11 +37,10 @@ index dedbdb175f8b..e7e95308f6e6 100644
flush_workqueue(i915->display.wq.flip);
flush_workqueue(i915->display.wq.modeset);
-diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
-index 714030136b7f..fbd500249ab1 100644
---- a/drivers/gpu/drm/i915/display/intel_display.h
-+++ b/drivers/gpu/drm/i915/display/intel_display.h
-@@ -535,6 +535,7 @@ void i830_disable_pipe(struct drm_i915_private *dev_priv, enum pipe pipe);
+diff --unified --recursive --text package.orig/drivers/gpu/drm/i915/display/intel_display.h package.new/drivers/gpu/drm/i915/display/intel_display.h
+--- package.orig/drivers/gpu/drm/i915/display/intel_display.h 2023-08-26 21:42:01.223519415 +0200
++++ package.new/drivers/gpu/drm/i915/display/intel_display.h 2023-08-26 21:47:01.677083488 +0200
+@@ -426,6 +426,7 @@
int vlv_get_hpll_vco(struct drm_i915_private *dev_priv);
int vlv_get_cck_clock(struct drm_i915_private *dev_priv,
const char *name, u32 reg, int ref_freq);
@@ -65,11 +48,10 @@ index 714030136b7f..fbd500249ab1 100644
int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv,
const char *name, u32 reg);
void intel_init_display_hooks(struct drm_i915_private *dev_priv);
-diff --git a/drivers/gpu/drm/i915/display/intel_vga.c b/drivers/gpu/drm/i915/display/intel_vga.c
-index a69bfcac9a94..4cafe1f812f5 100644
---- a/drivers/gpu/drm/i915/display/intel_vga.c
-+++ b/drivers/gpu/drm/i915/display/intel_vga.c
-@@ -46,6 +46,36 @@ void intel_vga_disable(struct drm_i915_private *dev_priv)
+diff --unified --recursive --text package.orig/drivers/gpu/drm/i915/display/intel_vga.c package.new/drivers/gpu/drm/i915/display/intel_vga.c
+--- package.orig/drivers/gpu/drm/i915/display/intel_vga.c 2023-08-26 21:42:01.230186236 +0200
++++ package.new/drivers/gpu/drm/i915/display/intel_vga.c 2023-08-26 21:47:01.677083488 +0200
+@@ -47,6 +47,36 @@
intel_de_posting_read(dev_priv, vga_reg);
}
@@ -106,7 +88,7 @@ index a69bfcac9a94..4cafe1f812f5 100644
void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv)
{
i915_reg_t vga_reg = intel_vga_cntrl_reg(dev_priv);
-@@ -54,6 +84,7 @@ void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv)
+@@ -55,6 +85,7 @@
drm_dbg_kms(&dev_priv->drm,
"Something enabled VGA plane, disabling it\n");
intel_vga_disable(dev_priv);
@@ -114,11 +96,10 @@ index a69bfcac9a94..4cafe1f812f5 100644
}
}
-diff --git a/drivers/gpu/drm/i915/display/intel_vga.h b/drivers/gpu/drm/i915/display/intel_vga.h
-index ba5b55b917f0..7e2af7924e99 100644
---- a/drivers/gpu/drm/i915/display/intel_vga.h
-+++ b/drivers/gpu/drm/i915/display/intel_vga.h
-@@ -15,4 +15,8 @@ void intel_vga_redisable_power_on(struct drm_i915_private *i915);
+diff --unified --recursive --text package.orig/drivers/gpu/drm/i915/display/intel_vga.h package.new/drivers/gpu/drm/i915/display/intel_vga.h
+--- package.orig/drivers/gpu/drm/i915/display/intel_vga.h 2023-08-26 21:42:01.230186236 +0200
++++ package.new/drivers/gpu/drm/i915/display/intel_vga.h 2023-08-26 21:47:01.677083488 +0200
+@@ -15,4 +15,8 @@
int intel_vga_register(struct drm_i915_private *i915);
void intel_vga_unregister(struct drm_i915_private *i915);
@@ -127,11 +108,10 @@ index ba5b55b917f0..7e2af7924e99 100644
+void intel_vga_disable_mem(struct drm_i915_private *i915);
+
#endif /* __INTEL_VGA_H__ */
-diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
-index d1e4d528cb17..a00cbc6591b0 100644
---- a/drivers/gpu/drm/i915/i915_params.c
-+++ b/drivers/gpu/drm/i915/i915_params.c
-@@ -154,6 +154,9 @@ i915_param_named_unsafe(invert_brightness, int, 0400,
+diff --unified --recursive --text package.orig/drivers/gpu/drm/i915/i915_params.c package.new/drivers/gpu/drm/i915/i915_params.c
+--- package.orig/drivers/gpu/drm/i915/i915_params.c 2023-08-26 21:42:01.243519878 +0200
++++ package.new/drivers/gpu/drm/i915/i915_params.c 2023-08-26 21:47:01.680416897 +0200
+@@ -160,6 +160,9 @@
i915_param_named(disable_display, bool, 0400,
"Disable display (default: false)");
@@ -141,11 +121,10 @@ index d1e4d528cb17..a00cbc6591b0 100644
i915_param_named(memtest, bool, 0400,
"Perform a read/write test of all device memory on module load (default: off)");
-diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
-index 2733cb6cfe09..f21c5b1529cc 100644
---- a/drivers/gpu/drm/i915/i915_params.h
-+++ b/drivers/gpu/drm/i915/i915_params.h
-@@ -76,6 +76,7 @@ struct drm_printer;
+diff --unified --recursive --text package.orig/drivers/gpu/drm/i915/i915_params.h package.new/drivers/gpu/drm/i915/i915_params.h
+--- package.orig/drivers/gpu/drm/i915/i915_params.h 2023-08-26 21:42:01.243519878 +0200
++++ package.new/drivers/gpu/drm/i915/i915_params.h 2023-08-26 21:47:01.680416897 +0200
+@@ -79,6 +79,7 @@
param(unsigned int, lmem_size, 0, 0400) \
param(unsigned int, lmem_bar_size, 0, 0400) \
/* leave bools at the end to not create holes */ \
@@ -153,6 +132,3 @@ index 2733cb6cfe09..f21c5b1529cc 100644
param(bool, enable_hangcheck, true, 0600) \
param(bool, load_detect_test, false, 0600) \
param(bool, force_reset_modeset_test, false, 0600) \
---
-2.39.2
-
diff --git a/PKGBUILD b/PKGBUILD
index 3b32c3e..879d700 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
# Upstream: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
pkgbase=linux-vfio
-pkgver=6.3.7.arch1
+pkgver=6.4.12.arch1
pkgrel=1
pkgdesc='Linux'
_srctag=v${pkgver%.*}-${pkgver##*.}
@@ -20,14 +20,9 @@ makedepends=(
libelf
pahole
perl
+ python
tar
xz
-
- # htmldocs
- graphviz
- imagemagick
- python-sphinx
- texlive-latexextra
)
options=('!strip')
_srcname=archlinux-linux
@@ -45,8 +40,8 @@ validpgpkeys=(
)
b2sums=('SKIP'
'c2d1c69265adc041dc0364e448f6e86dc4c9ca1207c84071abc1675dd820534a8ab5a230e579e68bfb1bf2b861f23ad34e090f8ceaef5e265ea95e2bc6946013'
- 'b1bb6028bead89c277f0e98b308574e47feee2ece5b7f0a2422d40d5b2532216550f99153fbb451c2bee2df398a1a2d596f776281243cf55d4e94c1d5d854ef2'
- '7c99c5d965bda71f1d08e72fadc529b594d95648950aab49212daee8b34af525404bd98737d2bd715d81959fb71ed143416cb21d88075d833f931f9d0d313ab5')
+ 'a8c82582eaa6b8e997022f1b2c8481d0e316c46bb12a7ff7e0df772634f24cd2da7a61b8512dddf14e9d964f9ca4ef90d7965bbec736861ab10f0b5c2b04db31'
+ '5becda768e2b6cf6f5c664b16671a3e27c4fd934e06df9545c66ee80a85533bbe4dfe85a0953217a37664d4fe18a95fc8f3ca76dbd2ef912a54ff4247ab38550')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase
@@ -81,12 +76,16 @@ prepare() {
_make olddefconfig
diff -u ../config .config || :
+
+
+
+
echo "Prepared $pkgbase version $(<version)"
}
build() {
cd $_srcname
- _make htmldocs all
+ _make all
}
_package() {
@@ -105,6 +104,10 @@ _package() {
VIRTUALBOX-GUEST-MODULES
WIREGUARD-MODULE
)
+ replaces=(
+ virtualbox-guest-modules-arch
+ wireguard-arch
+ )
cd $_srcname
local modulesdir="$pkgdir/usr/lib/modules/$(<version)"
--
2.42.0
Pinned Comments
xiota commented on 2024-01-09 18:43 (UTC) (edited on 2024-01-11 16:53 (UTC) by xiota)
clang
or disabling Arch patches.eclairevoyant commented on 2023-04-06 21:24 (UTC) (edited on 2023-04-06 21:31 (UTC) by eclairevoyant)
This package exists for the specific purpose of adding ported patches based on those originally created by Alex Williamson for:
Bypassing the default IOMMU grouping by overriding PCIe ACS support, and
Enabling VGA arbitration support on Intel iGPUs.
Arbitrary patches will not be added.
Refer to the wiki on PCI passthrough and this blog post on IOMMU groups for risks/caveats before using this package.
Regular AUR etiquette applies as well (knowledge of
makepkg
and searching the wiki/Arch forums is expected, and AUR helpers or Arch-based distros that are not Arch Linux are unsupported).