You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Kernel: rebase the P16 kernel onto the current Omarchy aarch64 recipe #15
The P16 kernel is the Omarchy linux-omarchy-aarch64 recipe at an old pinned commit, plus local patches. The current Omarchy recipe already carries fixes that this repo works around or lacks.
What the current recipe has that the P16 kernel lacks
Move to the current recipe and keep only the P16 delta. The likely delta is the SSDT EC/battery override, the RSOC quirk and the i8042 gate (#12). This deletes the ports, and it makes #11 a short list.
Order
After #13 merges, and before the next kernel build. Sleep work on #8 (Change B, the deep-state override for sleep only) is measured on the rebased kernel. Prior art for #8 (comment 6677080990) says not to raise MPEL, because that hangs boot on the P14. The fix there is a table override that lists the deep states for sleep only.
Verdict. One other P16 owner runs the Omarchy 7.3 recipe with a small P16 patch set, and has an open PR for it: omacom/omarchy-pkgs#1958. Three of its five platform patches are this repo's ASUS, GPIO and SPI patches, ported to 7.3. The other two fix the key-filter and fan-curve warnings of #9 and make the sensor hub enumerate. No source reports what works and what breaks on a P16 with the stock Omarchy kernel alone.
Searched on 2026-11-05: the omarchy-pkgs recipe README, issues and PRs; omacom/omarchy issues and discussions; omacom/omarchy-iso N1X.md; pfeifferj/archlinuxarm-proart-p16; LeonMarzollDev/proart-p16-linux; ikegam/surface-ultra-misc; GitHub-wide search for H7607BA and "ProArt P16"; and this laptop's journal and packages. Each claim is marked [sourced] or [inferred].
Platform patches, 9100 to 9104, 559 lines.[sourced]
9100: ACPI_WMI without X86. ASUS WMI builds from drivers/platform/asus/ through #include of the x86 sources, so no file moves. It reads the 8-byte RSOC buffer and keeps the firmware charge limit at probe. The match is DMI vendor and product, with no BIOS pin.
9101: MT8901 EINT-only pins 182 to 208.
9102: SPI-HID ACPI IRQ retry.
9103: no i8042 filter when i8042 is not reachable, the ROG Ally sleep hook only on x86, and each fan curve checked against its own fan.
9104: SPI-HID _RST on the saved ACPI handle. With it, the sensor hub enumerates, and an ambient-light sensor reads from 0 to about 2175 lux.
The config sets ACPI_WMI, ASUS_WMI, ASUS_NB_WMI and SPI_HID_ACPI to m.
Its README-P16-PLATFORM.md names johannhartmann/asus-proart-p16-rtx-spark-linux 93e0d22 as the source of 9100 to 9102, adapted to 7.3.
It uses no ACPI table override. It is tested on BIOS 303 only.
Sleep patches, 1120 to 1125, 5,544 lines. NVIDIA's hierarchical LPI port (NV-Kernels #586, #599, #601), used for suspend only. It turns itself on for P16 plus NVDA6210 after firmware checks. It also changes pciehp resume and the LPS0 timing. It writes no ELST or MPEL. Measured s2idle: 0.449 Wh over 1226 s, 1.32 W, and 1.51 W in an earlier run. [sourced] This is a kernel form of Suspend: one of four s2idle suspends did not resume #8's "deep states for sleep only". [inferred]
GPU. The PR keeps Omarchy's prebuilt NVIDIA 615.78.08 package. [sourced]
Stock Omarchy on N1X
Omarchy master b4e7d40 (7.3-20, 2026-11-05) has 1105, 1106, 1107, 1108, 1111, 1112 and 1113. It has no ASUS WMI on ARM64: in 7.3, drivers/platform/wmi/Kconfig says depends on ACPI && X86, and drivers/platform/Makefile builds x86/ only for CONFIG_X86. SPI_HID_ACPI is off (config.aarch64:10309). 1012 names only the XPS 16. [sourced]
1106 on the P16 hides every Windows string on purpose. Its commit says "With none it falls back to Windows 8, as tested there with acpi_osi=!". Without asus-wmi, that sends volume keys as EC scancodes. omarchy-pkgs#1671 says 1106 "can only be tested on a P16 or a Lenovo Pro 9". [sourced]
omarchy-iso N1X.md says Omarchy is "validated on the ASUS ProArt P14 (H7407BA)" and the Dell XPS 16 uses the same image. It does not name the P16. [sourced]
NVIDIA in the recipe. Since #2056, the recipe also builds linux-omarchy-nvidia-open 615.78.08, with conflicts=(nvidia-open-dkms). [sourced]
Surface Laptop Ultra (N1X). ikegam/surface-ultra-misc is "Tested on Omarchy (linux-omarchy 7.3)" and adds its own DKMS modules and udev rules. [sourced]
Omarchy trackers. No issue or discussion reports a P16 N1X. The hits for "ProArt P16" are the AMD H7606 models. [sourced, absence]
Other P16 projects
pfeifferj/archlinuxarm-proart-p16. Arch Linux ARM, BIOS 300, last push 2026-10-19. It is the source of this repo's ACPI allocation fix. It has no 7.3 or Omarchy kernel. [sourced]
The @nv620 root has linux-omarchy 7.3-13 installed. No retained boot (-16 to 0) ran it. Boot -16 ran stock 7.2.8-23. [sourced]
NVIDIA 620.70.06 DKMS is built only for 7.2.8-24. dkms status also lists nvidia/615.78.08: broken, with no source directory. No source shows 620.70.06 building against 7.3. [sourced]
Effect on this issue
The P16 delta shrinks. 9100 to 9104 replace asus-arm64-combined.patch (20,418 lines), p16-virtual-gpio.patch and spi-acpi-irq-retry.patch. [inferred]
Omarchy's package plus DKMS cannot carry the delta. Three rows are built-in code, and the recipe's NVIDIA package conflicts with the 620.70.06 DKMS. [inferred from 5 and 8]
The rebased kernel must prove that NVIDIA 620.70.06 builds against 7.3 before it is installed. [inferred from 14]
Read basis: Omarchy master b4e7d40 (7.3-20), omarchy-pkgs#1958 head f9a172da, this repo fork/main725000c (7.2.8-25). Prior art: comment 6677710345.
Problem. The P16 kernel is a 446-file copy of a 7.2.8 Omarchy recipe plus 20,791 lines of local patches, so each Omarchy release is a hand port, and fixes that Omarchy and another P16 owner already carry are missing here.
The thing. A P16 release: one pinned Omarchy commit, plus the P16 delta, under one number. The class is "a stored copy of upstream that drifts". The vendored recipe and the local ports of patches that now exist upstream are both samples.
kept. 1106 then skips its table, and the hotkeys stay on ASUS WMI (#11)
1106 gives acpi_osi=! instead
Rows 1 to 5 stay as unchanged copies of #1958 at f9a172da. They leave when #1958 merges and the pin moves past it. They touch files that the sleep patches 1120 to 1125 do not touch, so they apply without them.
How the repo builds the kernel
It keeps its own small delta on a pinned Omarchy commit. It does not install Omarchy's package plus DKMS, for two reasons:
Rows 3, 6 and 7 change built-in code (PINCTRL_MT8901=y, ACPI_THERMAL=y, arch/arm64). No module can carry them.
Omarchy's recipe ships NVIDIA 615.78.08 with conflicts=(nvidia-open-dkms). That would replace the GPU lab's 620.70.06.
The build:
sources.json pins the omarchy-pkgs commit, and f9a172da as the source of rows 1 to 5.
scripts/build-kernel.sh fetches pkgbuilds/linux-omarchy-aarch64 at that commit into build/kernel/. A git commit hash names its content, so it needs no extra checksum.
It copies the patch files of rows 1 to 7 from kernel/ into that directory.
It applies kernel/PKGBUILD.patch (rows 8 and 9, plus source+= and the sums of rows 1 to 7) with --fuzz=0.
It runs makepkg as today.
After the change, kernel/ holds 8 files: 7 patches and PKGBUILD.patch. The next Omarchy release is a pin change. The build stops at the first hunk that no longer applies.
Facts and reads
Stored. The Omarchy commit in sources.json. The 8 delta files. pkgrel, as a +pkgrel= line in PKGBUILD.patch.
Computed.
pkgver comes from the pkgver= context line of PKGBUILD.patch. The fuzz-0 apply proves that it matches the pinned upstream.
The kernel release is 7.3.0-26-omarchy-p16-asus. p16_release.py pads a two-part pkgver to x.y.0, as the kernel names it. Today it would compute 7.3-26-omarchy-p16-asus, which no kernel reports.
The sources.jsonkernel.version field is deleted. It is computed from the pin.
A recipe file that differs from the pinned commit outside the delta. No copy exists to drift.
A delta hunk on changed upstream code. Fuzz 0 refuses it.
A release name that the built kernel does not report.
An Omarchy NVIDIA package next to nvidia-open-dkms 620.70.06. The delta builds none.
Deletes
The 446 vendored recipe files in kernel/, its PKGBUILD included, and their SHA256SUMS entries.
asus-arm64-combined.patch (20,418 lines), p16-virtual-gpio.patch (128) and spi-acpi-irq-retry.patch (18). Rows 1 to 5 (559 lines) replace them.
ipv4-free-inet_opt-ireq_opt-after-rcu.patch. The fix is in v7.3.
asus-nb-wmi: install no i8042 key filter on a kernel built without i8042 #12's driver-row gate, and the asus_i8042_filter kallsyms check in check-issue-9.sh. 9103 gates the one install call for every driver row. That check tests an internal. The boot-log check for "Unable to install key filter" keeps the property that broke.
The DSDT override: patch_dsdt, its pins and baseline in acpi_builder.py, the DSDT pin in verify-boot.py, the DSDT member of the initrd archive, and the DSDT line in config/p16-acpi. Its only edit is the SSPM _OSI("Windows 2022") predicate. acpi_osi="!Windows 2022" already covers it, and 1106 covers it again without the argument. The 7.2.8-24 image keeps its own embedded copy.
power_wrap_drv.usb4_release=0 and mem_sleep_default=s2idle in PLATFORM_OPTIONS, config/00-omarchy-n1x-sleep.conf, and the usb4_release token in config/00-omarchy-n1x-usb4.conf. 1112 and 1113 make them defaults. Both names stay in the blocked list, so the new entry carries neither. The PCI hotplug padding stays.
--disable RUST. Master's config already has it off.
This change leaves the sleep-only deep states out. They stay #8 Change B, on top:
The candidate is now #1958's 1120 to 1125 (5,544 lines), which is measured on a P16, or the table override. Both change idle on the machine the GPU lab runs on.
Change B needs this kernel as its baseline, because the kernel now carries 1111. Its statement that the 1111 risks do not apply becomes false: the 4 s early wake after a lid close is now in scope.
One boot cannot tell two changes apart if it fails.
Acceptance
One build, one install, one reboot.
Before the install. Nothing reboots in this part.
makepkg --nobuild on the assembled recipe. Every source verifies, every patch applies at --fuzz=0, and it prints Prepared linux-p16-asus-26 version 7.3.0-26-omarchy-p16-asus. The .config has the row 8 values.
One full build at nice -n 19 ionice -c3. It makes the kernel and headers packages only.
NVIDIA 620.70.06 kernel-open compiles against the built tree. If it fails, the change stops before the install.
python3 -m unittest discover -s tests passes.
Preflight: the running boot is the @nv620 entry with RMSkipACPIBattCap=1, because the installer builds the new command line from /proc/cmdline. dkms status lists no broken entry, so the stale nvidia/615.78.08 entry is removed first.
Install. One run of sudo scripts/install-kernel.sh. It builds DKMS 620.70.06 for the new release, checks UPower PowerOff (#16), and adds the new Limine entry. verify-boot.py confirms that the 7.2.8-24 entries and images are unchanged.
One reboot into 7.3.0-26. Then this command passes:
NVDA8400 status 15: SSPM is present without the DSDT override.
mem_sleep: s2idle is the default without the boot option.
The thermal read: row 6.
Recorded, not required: the touchpad properties value (85 means 1108 marked it a pressure pad), an IIO device from the sensor hub (9104), and cpufreq/boost for #7.
The reboot happens while the GPU lab is idle.
Rollback
The 7.2.8-24 package, its images, and its Limine entries stay untouched, including the GPU lab's @nv620 entry. verify-boot.py checks them before the reboot. The installer does not change the default entry.
If 7.3.0-26 does not boot or fails the check, select a 7.2.8-24 entry in the Limine menu (press Esc if it is hidden). Nothing else needs undoing to boot.
E6: the checkpoint proves that the old menu entries survive.
v2 replaces v1 in full.
Read basis: Omarchy master b4e7d40 (7.3-20), omarchy-pkgs#1958 head f9a172da, this repo fork/main725000c (7.2.8-25). Prior art: comment 6677710345.
Problem. The P16 kernel is a 446-file copy of a 7.2.8 Omarchy recipe plus 20,791 lines of local patches. So each Omarchy release is a hand port, and fixes that Omarchy and another P16 owner already carry are missing here.
The thing. A P16 release: one pinned Omarchy commit plus the P16 delta, under one number. The class is "a stored copy of upstream that drifts". The vendored recipe and the local ports of patches that now exist upstream are both samples.
kept. 1106 then skips its table, and the hotkeys stay on ASUS WMI (#11)
1106 gives acpi_osi=! instead
Rows 1 to 4 are unchanged copies of #1958 at f9a172da. They leave when #1958 merges and the pin moves past it. They touch no file that the sleep patches 1120 to 1125 touch, so they apply without those patches.
The 9102 IRQ retry is not carried. In 7.3, spi_probe() calls acpi_dev_gpio_irq_get() when the IRQ is negative, and it returns -EPROBE_DEFER. The acceptance requires IRQ 190 bound to spi-MSFW1111.
How the repo builds the kernel
The repo keeps its own small delta on a pinned Omarchy commit. It does not install Omarchy's kernel package plus DKMS, because rows 3, 5 and 6 change built-in code (PINCTRL_MT8901=y, ACPI_THERMAL=y, arch/arm64). No module can carry them.
The build:
sources.json pins the omarchy-pkgs commit. It also records f9a172da as the source of rows 1 to 4.
scripts/build-kernel.sh fetches pkgbuilds/linux-omarchy-aarch64 at that commit into build/kernel/. A git commit hash names its content, so no extra checksum is needed.
It copies the six patch files from kernel/ into that directory.
It applies kernel/PKGBUILD.patch with --fuzz=0. The patch holds rows 7 and 8, plus source+= and the sums of the six patches.
It runs makepkg in build/kernel/. The packages land there.
After the change, kernel/ holds 7 files: six patches and PKGBUILD.patch.
Facts and reads
Stored:
the Omarchy commit, in sources.json;
the 7 delta files;
pkgrel, in PKGBUILD.patch.
Computed: release metadata, in one reader.
scripts/p16_release.py reads pkgver and pkgrel from the assembled build/kernel/PKGBUILD, which is the file makepkg builds from.
It pads a two-part pkgver to x.y.0, as the kernel names it: 7.3 becomes the release 7.3.0-26-omarchy-p16-asus. Today it would compute 7.3-26-omarchy-p16-asus, which no kernel reports.
common.sh takes PACKAGE, RELEASE and the package paths from p16_release.py. This deletes its second sed parser of kernel/PKGBUILD.
Without an assembled recipe, every script that needs the release stops with "build the kernel first".
The tests build a small recipe in a temporary repo root, as test_fresh_build_directory_has_compiling_users_owner already does.
Deleted: the sources.jsonkernel.version field. It is computed from the pin.
The menu.install_state.py verify_preserved already requires unchanged EFI images and default_entry. It now also requires every entry of the checkpoint's saved limine.conf to be present and unchanged. The install fails before any reboot if one is missing.
Impossible states
A recipe file that differs from the pinned commit outside the delta. No copy exists to drift.
A delta hunk on changed upstream code. Fuzz 0 refuses it.
Two kernels built from different pins under one number.
A release name that differs between Python and shell, or that the built kernel does not report.
A completed install that dropped a rollback entry.
Deletes, with their callers
The vendored recipe. The 446 vendored recipe files in kernel/, its PKGBUILD included, and their SHA256SUMS entries. Their callers change as follows:
install-kernel.sh takes its packages from build/kernel/, through common.sh.
build-kernel.sh imports the PGP keys from build/kernel/keys/.
The kernel-inputs test (tests/test_installation.py:409) checks PKGBUILD.patch and the six patches: each patch is in source+= with matching sums, and no patch is orphaned.
Replaced patches.asus-arm64-combined.patch (20,418 lines), p16-virtual-gpio.patch (128) and spi-acpi-irq-retry.patch (18) go. Rows 1 to 4 (541 lines) replace them.
The CVE patch.ipv4-free-inet_opt-ireq_opt-after-rcu.patch goes. The fix is in v7.3.
The asus_i8042_filter kallsyms check in check-issue-9.sh (lines 18 and 19) goes. It tests an internal. The boot-log check for "Unable to install key filter" keeps the property that broke.
Two boot options.power_wrap_drv.usb4_release=0 and mem_sleep_default=s2idle leave PLATFORM_OPTIONS, because 1112 and 1113 make them defaults. Both names stay in the blocked list, so the new entry carries neither.
The kernel_cmdline tests change their expected output to match.
The 7.2.8-24 images keep their own embedded command lines.
The PCI hotplug padding stays.
--disable RUST. It goes, because master's config already has Rust off.
Kept until 7.2.8-24 leaves the menu, by one rule: a workaround leaves when no kernel in the menu needs it.
The DSDT override. Its only edit is the SSPM _OSI("Windows 2022") predicate, which acpi_osi and 1106 now cover. But the shared p16-acpi hook would also rebuild 24's initramfs without it, and an earlier 24 entry carried a malformed acpi_osi token. So it stays, with its callers (build-acpi.py, install-kernel.sh, verify-boot.py, packages/build-local.py), until 24 leaves.
The touchpad quirk.1108 replaces it on 7.3, and 24 still needs it.
The stock-kernel drop-ins.00-omarchy-n1x-sleep.conf and the usb4_release token in 00-omarchy-n1x-usb4.conf apply only to Omarchy's own entries. They are out of scope.
This change leaves the sleep-only deep states out. They stay #8 Change B, on top:
There are two candidates: #1958's 1120 to 1125 (5,544 lines, measured on a P16), or the table override. Both change idle on the machine the GPU lab runs on.
Change B needs this kernel as its baseline, because the kernel now carries 1111. Change B says the 1111 risks do not apply. That becomes false: the 4 s early wake after a lid close is now in scope.
If one boot carries both changes and fails, it cannot tell them apart.
Acceptance
One build, one install, one reboot.
Before the install. Nothing reboots in this part.
makepkg --nobuild on the assembled recipe. Every source verifies, and every patch applies at --fuzz=0. It prints Prepared linux-p16-asus-26 version 7.3.0-26-omarchy-p16-asus. The .config has the row 7 values.
One full build at nice -n 19 ionice -c3. It makes the kernel and headers packages only.
NVIDIA 620.70.06 kernel-open compiles against the built tree. If it fails, the change stops before the install.
python3 -m unittest discover -s tests passes.
Preflight:
The running boot is the @nv620 entry with RMSkipACPIBattCap=1. The installer builds the new command line from /proc/cmdline.
dkms status lists no broken entry. Remove the stale nvidia/615.78.08 entry first.
Install. One run of sudo scripts/install-kernel.sh. It does three things:
It adds the new Limine entry. verify_preserved then confirms that every earlier entry, image and the default are unchanged. The installer does not change the default.
One reboot into 7.3.0-26. The owner records the #9 key results in ~/p16-issue9.txt, in the format the header of check-issue-9.sh gives. Then this command passes:
The 7.2.8-24 package, its images and its Limine entries stay untouched, including the GPU lab's @nv620 entry. verify_preserved proves this before the reboot.
If 7.3.0-26 does not boot or fails the check, select a 7.2.8-24 entry in the Limine menu. Press Esc if the menu is hidden. Nothing else needs undoing before that boot.
v2a amends v2 (comment 6677912319) on the two findings from round 2. Everything else in v2 stands.
E1. Sensor enumeration is required
Acceptance. The required command gains one read after the /proc/interrupts line:
&& ls /sys/bus/hid/devices | grep -q '^001C:'
001C is BUS_SPI. The read passes only when the sensor hub on SPI exposes a HID device, which is the enumeration that #1958 reports after 9104. A bound driver with zero children fails it. The /proc/interrupts read stays, so a failure shows whether the IRQ or the enumeration is missing.
An IIO device from the sensor hub stays recorded, not required. The HID device is the enumeration.
If it fails on BIOS 300, the change does not pass. Row 4 is then unproven here.
E7. The release is read only where it is used, after assembly
common.sh keeps only the machine and directory helpers. It reads no release. This deletes its PKGVER, PKGREL, PACKAGE and RELEASE lines.
build-kernel.sh assembles build/kernel/ first and reads nothing about the release. dump-acpi.sh never reads it. A fresh checkout can start with no build cache.
The scripts that need the release take it from p16_release.py: the installer, the boot and update checks, check-system.sh and check-issue-9.sh. Shell scripts take it through one eval "$(python3 scripts/p16_release.py --shell)" line.
Without an assembled recipe, p16_release.py fails on the missing file. No separate refusal guard exists.
v2b amends v2a (comment 6677961125) on round 3 finding E8. Everything else in v2 and v2a stands.
E8. A reader failure stops the shell script
In v2a, eval "$(python3 scripts/p16_release.py --shell)" hides the reader's exit status. eval then runs on empty output and returns success, even under set -e.
The shell scripts that need the release now use two lines:
A plain assignment returns the status of its command substitution. So under set -euo pipefail (from common.sh), a missing recipe stops the script at the first line, with the reader's FileNotFoundError. No guard is added.
Shape card review, elegance pass (GPT-6.1 Sol, high, read-only). PASS on shape card v2 (comment 6677912319) with amendments v2a (6677961125) and v2b (6677992626). This issue is Shaped.
Round 1, on v1 (6677724869): FAIL, six findings.
E1: 9102 duplicates the 7.3 spi_probe() IRQ lookup.
E2: the release metadata had no single reader.
E3: a pin change needs a new number.
E4: deletions stopped before their callers.
E5: check-issue-9.sh needs its results file, and the 80% limit was not asserted.
E6: nothing proved that the rollback menu entries survive.
Round 2, on v2: E2 to E6 closed. E1 kept: sensor enumeration was not required. New E7: common.sh would read the release before the recipe is assembled.
Round 3, on v2a: E1 and E7 closed. New E8: eval "$(...)" swallowed a reader failure.
PR #18 is open and both review passes passed on fed2348. It is not merged. It merges after the full build boots and the live checks pass, because a kernel recipe is proven only by its boot.
Disk:make clean in the old kernel/src/linux-7.2.8 tree removed 29.3 GB of objects. The source and .config are kept, and the tree is now 1.8 GB. The 7.2.8-23 and -24 packages remain for rollback. /home went only from 38 to 49 GB free, because btrfs snapshots still hold the old blocks. The 7.2.8 build tree needed about 34 GB, so the 60 GB gate stands. The build starts after the 4 TB SSD is installed and the footage library moves to it.
One-time boot selection prepared for hardware acceptance of PR #18.
The installed verifier passes for /boot/EFI/Linux/omarchy_linux-p16-asus-26.efi, its ACPI overrides and module dependencies, the Limine command line, and all six menu image hashes. Limine 12.9.6 reports one-shot entry support. bootctl set-oneshot Omarchy.linux-p16-asus-26 succeeded and EFI-variable readback matches that exact ID. The normal default_entry: 1 remains unchanged.
Before reboot: boot 4cf963bd-ae0c-4352-bd05-415a7e8411b9, kernel 7.2.8-24-omarchy-p16-asus, root /@nv620, NVIDIA 620.70.06 nopsr experiment. AC0=1. The experiment unit is inactive and its GEMM/sampler have exited. No blocking shutdown inhibitor is listed.
The reboot is authorized. Disk unlock still needs the owner. Post-boot kernel and hardware acceptance remains pending. This does not establish a GPU-cap fix.
Post-boot hardware acceptance for PR #18, head 8a846bcdb7fd2917a460338f2d1cd6e31f28f1d9: INCOMPLETE. Boot and automatic system checks PASS.
Live boot 4ac8cfa6-310b-44ee-8026-7bcc8180235f runs 7.3.0-26-omarchy-p16-asus, root /@nv620, NVIDIA 620.70.06, stock srcversion 5B0BEF94704B2BE1D8BB68B. The _PSR experiment module is no longer loaded. NVIDIA vermagic matches the running release. AC0=1. RMSkipACPIBattCap=1 remains loaded. The removed power_wrap_drv.usb4_release and mem_sleep_default arguments are absent from the actual command line. The one-shot EFI variable was consumed. Normal default_entry: 1 remains.
scripts/check-system.sh exited 0. Installed touchpad policy and all three speaker-firmware hashes match. ASUS WMI binds at /sys/devices/platform/asus-nb-wmi, and the current boot logs input: Asus WMI hotkeys with no Unable to install key filter message. The ASUS-controls, charge-limit and power-profile services are active. systemctl --failed lists zero failed units.
Separate live assertions:
UPower GetCriticalAction: s "PowerOff".
charge_control_end_threshold: 80.
mem_sleep: [s2idle] deep.
IRQ line: hardware IRQ 190, spi-MSFW1111:00, with recorded activity.
SPI HID sensor: 001C:0000:0100.0005, bound to hid-sensor-hub. The ALS IIO device resolves below that SPI device and reports name als. This establishes enumeration in addition to interrupt activity.
The thermal-zone paths contain neither PSYS nor PSOC.
CUDA acceptance has a missing prerequisite: scripts/check-cuda.sh exits 127 because /opt/cuda/bin/nvcc does not exist. No toolkit was installed. A separate existing scripts/gemm.py 30 fp32 check ran with the existing voxtype cuBLAS path. It exited 0. Both warm-up and final checks sampled 66 entries with 0 mismatches. Header: driver API 13050, cuBLAS 130802, cc12.1, 48 SMs, default math mode. This is functional execution evidence, not completion of the compiler-based acceptance command.
Remaining acceptance:
USB4 NVMe hotplug is UNTESTED. The owner has no enclosure available. No hotplug PASS is claimed.
The manual hotkey/backlight/Fn+Esc results file is absent. check-issue-9.sh acceptance remains pending. Driver binding and absence of the old filter warning do not replace those key checks.
The CUDA compiler-based acceptance command remains blocked by missing nvcc.
The existing keyboard handshake warning is still present. It was outside the i8042 change's scope. Physical audio/touchpad behavior was not measured by the installed-file checks.
A read-only clock query immediately after the 30-second CUDA check reported 754MHz, reason 0x400, temperature39.21C. This boot has not demonstrated a GPU-cap fix. PR #18 remains unmerged while its required hardware acceptance is incomplete.
Activity
seankd3 commentedon Nov 6, 2026
Prior art
Verdict. One other P16 owner runs the Omarchy 7.3 recipe with a small P16 patch set, and has an open PR for it: omacom/omarchy-pkgs#1958. Three of its five platform patches are this repo's ASUS, GPIO and SPI patches, ported to 7.3. The other two fix the key-filter and fan-curve warnings of #9 and make the sensor hub enumerate. No source reports what works and what breaks on a P16 with the stock Omarchy kernel alone.
Searched on 2026-11-05: the omarchy-pkgs recipe README, issues and PRs; omacom/omarchy issues and discussions; omacom/omarchy-iso
N1X.md; pfeifferj/archlinuxarm-proart-p16; LeonMarzollDev/proart-p16-linux; ikegam/surface-ultra-misc; GitHub-wide search forH7607BAand "ProArt P16"; and this laptop's journal and packages. Each claim is marked [sourced] or [inferred].Another P16 on Omarchy 7.3
f9a172da, last update 2026-11-05, no maintainer review. The machine is a P16 H7607BA on BIOS 303. The PR merges Omarchy master2451efb6. [sourced]9100:ACPI_WMIwithoutX86. ASUS WMI builds fromdrivers/platform/asus/through#includeof the x86 sources, so no file moves. It reads the 8-byte RSOC buffer and keeps the firmware charge limit at probe. The match is DMI vendor and product, with no BIOS pin.9101: MT8901 EINT-only pins 182 to 208.9102: SPI-HID ACPI IRQ retry.9103: no i8042 filter when i8042 is not reachable, the ROG Ally sleep hook only on x86, and each fan curve checked against its own fan.9104: SPI-HID_RSTon the saved ACPI handle. With it, the sensor hub enumerates, and an ambient-light sensor reads from 0 to about 2175 lux.ACPI_WMI,ASUS_WMI,ASUS_NB_WMIandSPI_HID_ACPItom.README-P16-PLATFORM.mdnames johannhartmann/asus-proart-p16-rtx-spark-linux93e0d22as the source of 9100 to 9102, adapted to 7.3.NVDA6210after firmware checks. It also changes pciehp resume and the LPS0 timing. It writes noELSTorMPEL. Measured s2idle: 0.449 Wh over 1226 s, 1.32 W, and 1.51 W in an earlier run. [sourced] This is a kernel form of Suspend: one of four s2idle suspends did not resume #8's "deep states for sleep only". [inferred]Stock Omarchy on N1X
b4e7d40(7.3-20, 2026-11-05) has1105,1106,1107,1108,1111,1112and1113. It has no ASUS WMI on ARM64: in 7.3,drivers/platform/wmi/Kconfigsaysdepends on ACPI && X86, anddrivers/platform/Makefilebuildsx86/only forCONFIG_X86.SPI_HID_ACPIis off (config.aarch64:10309).1012names only the XPS 16. [sourced]N1X.mdsays Omarchy is "validated on the ASUS ProArt P14 (H7407BA)" and the Dell XPS 16 uses the same image. It does not name the P16. [sourced]linux-omarchy-nvidia-open615.78.08, withconflicts=(nvidia-open-dkms). [sourced]Other P16 projects
linux-nvidia7.0, BIOS 300, last push 2026-10-25. Its issue Run the exact GEMM diagnostic with FP32 or BF16 inputs #2 reports a BIOS 303 behavior. [sourced]This laptop
@nv620root haslinux-omarchy7.3-13 installed. No retained boot (-16 to 0) ran it. Boot -16 ran stock 7.2.8-23. [sourced]dkms statusalso listsnvidia/615.78.08: broken, with no source directory. No source shows 620.70.06 building against 7.3. [sourced]Effect on this issue
9100to9104replaceasus-arm64-combined.patch(20,418 lines),p16-virtual-gpio.patchandspi-acpi-irq-retry.patch. [inferred]seankd3 commentedon Nov 6, 2026
Shape card (not reviewed)
Read basis: Omarchy master
b4e7d40(7.3-20), omarchy-pkgs#1958 headf9a172da, this repofork/main725000c(7.2.8-25). Prior art: comment 6677710345.Problem. The P16 kernel is a 446-file copy of a 7.2.8 Omarchy recipe plus 20,791 lines of local patches, so each Omarchy release is a hand port, and fixes that Omarchy and another P16 owner already carry are missing here.
The thing. A P16 release: one pinned Omarchy commit, plus the P16 delta, under one number. The class is "a stored copy of upstream that drifts". The vendored recipe and the local ports of patches that now exist upstream are both samples.
Same-cause sweep across open issues:
1105is in master. The USB4: a PCIe device connected after boot gets its PCIe tunnel #4 branch's 7.2.8 port is not needed. Its check script is the acceptance here.9103removes the key-filter and fan-curve warnings. The keyboard handshake warning stays open.1012row, the allocation fix and the config lines. The ASUS, GPIO and SPI rows become aTested-byon #1958.SHA256SUMSentries. Items 1 and 2 stay.What the P16 still needs beyond Omarchy master
kernel/asus-arm64-combined.patch(20,418 lines, ASUS v3 file move)9100, copied unchangeddrivers/platform/wmi/Kconfig:depends on ACPI && X869103, unchangedkernel/p16-virtual-gpio.patch9101, unchanged1000stops at 181kernel/spi-acpi-irq-retry.patch9102, unchanged_RSTon the ACPI handle9104, unchangedkernel/p16-thermal.patch10121012names only the XPS 16.1012is unchanged since the pinkernel/arm64-acpi-allocation.patchSPI_HID_ACPI,ACPI_WMI,ASUS_WMI,ASUS_NB_WMIasm;ASUS_ARMOURY,ASUS_WMI_DEPRECATED_ATTRS,DELL_ARM64_HOTKEYSoffkernel/PKGBUILDprepare()config.aarch64:10309linux-p16-asus-$pkgreland its headers, release suffix-omarchy-p16-asus, no NVIDIA packagekernel/PKGBUILDacpi/,config/p16-acpiacpi_osi="!Windows 2022"scripts/kernel_cmdline.py,config/limine-p16-keyboard.conf1106then skips its table, and the hotkeys stay on ASUS WMI (#11)1106givesacpi_osi=!insteadRows 1 to 5 stay as unchanged copies of #1958 at
f9a172da. They leave when #1958 merges and the pin moves past it. They touch files that the sleep patches 1120 to 1125 do not touch, so they apply without them.How the repo builds the kernel
It keeps its own small delta on a pinned Omarchy commit. It does not install Omarchy's package plus DKMS, for two reasons:
PINCTRL_MT8901=y,ACPI_THERMAL=y,arch/arm64). No module can carry them.conflicts=(nvidia-open-dkms). That would replace the GPU lab's 620.70.06.The build:
sources.jsonpins the omarchy-pkgs commit, andf9a172daas the source of rows 1 to 5.scripts/build-kernel.shfetchespkgbuilds/linux-omarchy-aarch64at that commit intobuild/kernel/. A git commit hash names its content, so it needs no extra checksum.kernel/into that directory.kernel/PKGBUILD.patch(rows 8 and 9, plussource+=and the sums of rows 1 to 7) with--fuzz=0.makepkgas today.After the change,
kernel/holds 8 files: 7 patches andPKGBUILD.patch. The next Omarchy release is a pin change. The build stops at the first hunk that no longer applies.Facts and reads
sources.json. The 8 delta files.pkgrel, as a+pkgrel=line inPKGBUILD.patch.pkgvercomes from thepkgver=context line ofPKGBUILD.patch. The fuzz-0 apply proves that it matches the pinned upstream.7.3.0-26-omarchy-p16-asus.p16_release.pypads a two-partpkgvertox.y.0, as the kernel names it. Today it would compute7.3-26-omarchy-p16-asus, which no kernel reports.sources.jsonkernel.versionfield is deleted. It is computed from the pin.The door
pkgrelmoves only at merge, by the PR Kernel 7.2.8-24 on main: the CVE-2026-98432 fix that runs on the P16 #17 rule: the PR that changeskernel/sets main'spkgrelplus one in its last rebase before merge.mainis 25 (asus-nb-wmi: install no i8042 key filter on a kernel built without i8042 #12), so this is 26: packagelinux-p16-asus-26, release7.3.0-26-omarchy-p16-asus. If another kernel PR merges first, this one takes 27 and rebuilds before the acceptance counts.sources.jsonpin. That PR builds.Impossible states
nvidia-open-dkms620.70.06. The delta builds none.Deletes
kernel/, itsPKGBUILDincluded, and theirSHA256SUMSentries.asus-arm64-combined.patch(20,418 lines),p16-virtual-gpio.patch(128) andspi-acpi-irq-retry.patch(18). Rows 1 to 5 (559 lines) replace them.ipv4-free-inet_opt-ireq_opt-after-rcu.patch. The fix is in v7.3.asus_i8042_filterkallsyms check incheck-issue-9.sh.9103gates the one install call for every driver row. That check tests an internal. The boot-log check for "Unable to install key filter" keeps the property that broke.patch_dsdt, its pins and baseline inacpi_builder.py, the DSDT pin inverify-boot.py, the DSDT member of the initrd archive, and the DSDT line inconfig/p16-acpi. Its only edit is the SSPM_OSI("Windows 2022")predicate.acpi_osi="!Windows 2022"already covers it, and1106covers it again without the argument. The 7.2.8-24 image keeps its own embedded copy.power_wrap_drv.usb4_release=0andmem_sleep_default=s2idleinPLATFORM_OPTIONS,config/00-omarchy-n1x-sleep.conf, and theusb4_releasetoken inconfig/00-omarchy-n1x-usb4.conf.1112and1113make them defaults. Both names stay in the blocked list, so the new entry carries neither. The PCI hotplug padding stays.--disable RUST. Master's config already has it off.1105). Itsscripts/usb4-pcie-hotplug-checkmoves into this change.Not deleted yet: the touchpad quirk.
1108replaces it on 7.3, but 7.2.8-24 stays in the menu and still needs it. It leaves with 24.Sleep (#8)
This change leaves the sleep-only deep states out. They stay #8 Change B, on top:
1111. Its statement that the1111risks do not apply becomes false: the 4 s early wake after a lid close is now in scope.Acceptance
One build, one install, one reboot.
Before the install. Nothing reboots in this part.
makepkg --nobuildon the assembled recipe. Every source verifies, every patch applies at--fuzz=0, and it printsPrepared linux-p16-asus-26 version 7.3.0-26-omarchy-p16-asus. The.confighas the row 8 values.nice -n 19 ionice -c3. It makes the kernel and headers packages only.kernel-opencompiles against the built tree. If it fails, the change stops before the install.python3 -m unittest discover -s testspasses.@nv620entry withRMSkipACPIBattCap=1, because the installer builds the new command line from/proc/cmdline.dkms statuslists no broken entry, so the stalenvidia/615.78.08entry is removed first.Install. One run of
sudo scripts/install-kernel.sh. It builds DKMS 620.70.06 for the new release, checks UPowerPowerOff(#16), and adds the new Limine entry.verify-boot.pyconfirms that the 7.2.8-24 entries and images are unchanged.One reboot into 7.3.0-26. Then this command passes:
What each part proves:
check-system.sh: the release, the battery with its 80% limit,platform_profileand the services.check-issue-9.sh: ASUS WMI on ARM64: fan-curve defaults, key filter and keyboard handshake fail #9, including the owner's key checks.usb4-pcie-hotplug-check: USB4: a PCIe device connected after boot gets its PCIe tunnel #4. An NVMe enclosure plugged in after login gets PCIe below a22cfport.check-cuda.shand the three NVIDIA reads: the GPU lab's pins (root@nv620, driver 620.70.06,RMSkipACPIBattCap=1).busctl: Power off at critical battery instead of suspending #16.NVDA8400status 15: SSPM is present without the DSDT override.mem_sleep: s2idle is the default without the boot option.Recorded, not required: the touchpad
propertiesvalue (85means1108marked it a pressure pad), an IIO device from the sensor hub (9104), andcpufreq/boostfor #7.The reboot happens while the GPU lab is idle.
Rollback
@nv620entry.verify-boot.pychecks them before the reboot. The installer does not change the default entry.sudo scripts/restore-install.shfrom this change's checkout, because a checkpoint restores only with its own release (Kernel recipe follow-ups: 1105 port overflow, checkpoint restore across releases, stale SHA256SUMS #6, item 2).seankd3 commentedon Nov 6, 2026
Shape card, v2 (not reviewed)
v2 answers the six elegance findings on v1 (comment 6677724869):
9102is dropped. The 7.3 SPI core already does its IRQ lookup.v2 replaces v1 in full.
Read basis: Omarchy master
b4e7d40(7.3-20), omarchy-pkgs#1958 headf9a172da, this repofork/main725000c(7.2.8-25). Prior art: comment 6677710345.Problem. The P16 kernel is a 446-file copy of a 7.2.8 Omarchy recipe plus 20,791 lines of local patches. So each Omarchy release is a hand port, and fixes that Omarchy and another P16 owner already carry are missing here.
The thing. A P16 release: one pinned Omarchy commit plus the P16 delta, under one number. The class is "a stored copy of upstream that drifts". The vendored recipe and the local ports of patches that now exist upstream are both samples.
Same-cause sweep across open issues:
1105is in master, so the USB4: a PCIe device connected after boot gets its PCIe tunnel #4 branch's 7.2.8 port is not needed. Its check script is part of the acceptance here.9103removes the key-filter and fan-curve warnings. The keyboard handshake warning stays open.1012row, the allocation fix and the config lines. The ASUS, GPIO and SPI rows become aTested-byon #1958, with the note that9102duplicatesspi_probe().SHA256SUMSentries. Items 1 and 2 stay.What the P16 still needs beyond Omarchy master
kernel/asus-arm64-combined.patch(20,418 lines, ASUS v3 file move)9100, copied unchangeddrivers/platform/wmi/Kconfighasdepends on ACPI && X869103, unchangedkernel/p16-virtual-gpio.patch9101, unchanged1000stops at 181_RSTon the ACPI handle9104, unchangedkernel/p16-thermal.patch10121012names only the XPS 16, and it has not changed since the pinkernel/arm64-acpi-allocation.patchSPI_HID_ACPI,ACPI_WMI,ASUS_WMIandASUS_NB_WMIasm.ASUS_ARMOURY,ASUS_WMI_DEPRECATED_ATTRSandDELL_ARM64_HOTKEYSoffkernel/PKGBUILDprepare()config.aarch64:10309linux-p16-asus-$pkgreland its headers, release suffix-omarchy-p16-asus, nolinux-omarchy-nvidia-openpackagekernel/PKGBUILDnvidia-open-dkms620.70.06acpi/,config/p16-acpiacpi_osi="!Windows 2022"scripts/kernel_cmdline.py,config/limine-p16-keyboard.conf1106then skips its table, and the hotkeys stay on ASUS WMI (#11)1106givesacpi_osi=!insteadRows 1 to 4 are unchanged copies of #1958 at
f9a172da. They leave when #1958 merges and the pin moves past it. They touch no file that the sleep patches 1120 to 1125 touch, so they apply without those patches.The
9102IRQ retry is not carried. In 7.3,spi_probe()callsacpi_dev_gpio_irq_get()when the IRQ is negative, and it returns-EPROBE_DEFER. The acceptance requires IRQ 190 bound tospi-MSFW1111.How the repo builds the kernel
The repo keeps its own small delta on a pinned Omarchy commit. It does not install Omarchy's kernel package plus DKMS, because rows 3, 5 and 6 change built-in code (
PINCTRL_MT8901=y,ACPI_THERMAL=y,arch/arm64). No module can carry them.The build:
sources.jsonpins the omarchy-pkgs commit. It also recordsf9a172daas the source of rows 1 to 4.scripts/build-kernel.shfetchespkgbuilds/linux-omarchy-aarch64at that commit intobuild/kernel/. A git commit hash names its content, so no extra checksum is needed.kernel/into that directory.kernel/PKGBUILD.patchwith--fuzz=0. The patch holds rows 7 and 8, plussource+=and the sums of the six patches.makepkginbuild/kernel/. The packages land there.After the change,
kernel/holds 7 files: six patches andPKGBUILD.patch.Facts and reads
sources.json;pkgrel, inPKGBUILD.patch.scripts/p16_release.pyreadspkgverandpkgrelfrom the assembledbuild/kernel/PKGBUILD, which is the filemakepkgbuilds from.pkgvertox.y.0, as the kernel names it:7.3becomes the release7.3.0-26-omarchy-p16-asus. Today it would compute7.3-26-omarchy-p16-asus, which no kernel reports.common.shtakesPACKAGE,RELEASEand the package paths fromp16_release.py. This deletes its secondsedparser ofkernel/PKGBUILD.test_fresh_build_directory_has_compiling_users_owneralready does.sources.jsonkernel.versionfield. It is computed from the pin.The door
kernel/) takes main'spkgrelplus one, in its last rebase before merge. This is the Kernel 7.2.8-24 runs from an unpushed local branch #13 and PR Kernel 7.2.8-24 on main: the CVE-2026-98432 fix that runs on the P16 #17 rule, widened to the pin, which is now a build input.mainis 25 (asus-nb-wmi: install no i8042 key filter on a kernel built without i8042 #12), so this change is 26: packagelinux-p16-asus-26, release7.3.0-26-omarchy-p16-asus. If another kernel PR merges first, this one takes 27 and rebuilds before the acceptance counts.install_state.py verify_preservedalready requires unchanged EFI images anddefault_entry. It now also requires every entry of the checkpoint's savedlimine.confto be present and unchanged. The install fails before any reboot if one is missing.Impossible states
Deletes, with their callers
kernel/, itsPKGBUILDincluded, and theirSHA256SUMSentries. Their callers change as follows:install-kernel.shtakes its packages frombuild/kernel/, throughcommon.sh.build-kernel.shimports the PGP keys frombuild/kernel/keys/.tests/test_installation.py:409) checksPKGBUILD.patchand the six patches: each patch is insource+=with matching sums, and no patch is orphaned.asus-arm64-combined.patch(20,418 lines),p16-virtual-gpio.patch(128) andspi-acpi-irq-retry.patch(18) go. Rows 1 to 4 (541 lines) replace them.ipv4-free-inet_opt-ireq_opt-after-rcu.patchgoes. The fix is in v7.3.9103gates the one install call, for every driver row.asus_i8042_filterkallsyms check incheck-issue-9.sh(lines 18 and 19) goes. It tests an internal. The boot-log check for "Unable to install key filter" keeps the property that broke.power_wrap_drv.usb4_release=0andmem_sleep_default=s2idleleavePLATFORM_OPTIONS, because1112and1113make them defaults. Both names stay in the blocked list, so the new entry carries neither.kernel_cmdlinetests change their expected output to match.--disable RUST. It goes, because master's config already has Rust off.1105goes. Itsscripts/usb4-pcie-hotplug-checkmoves into this change.Kept until 7.2.8-24 leaves the menu, by one rule: a workaround leaves when no kernel in the menu needs it.
_OSI("Windows 2022")predicate, whichacpi_osiand1106now cover. But the sharedp16-acpihook would also rebuild 24's initramfs without it, and an earlier 24 entry carried a malformedacpi_ositoken. So it stays, with its callers (build-acpi.py,install-kernel.sh,verify-boot.py,packages/build-local.py), until 24 leaves.1108replaces it on 7.3, and 24 still needs it.00-omarchy-n1x-sleep.confand theusb4_releasetoken in00-omarchy-n1x-usb4.confapply only to Omarchy's own entries. They are out of scope.Sleep (#8)
This change leaves the sleep-only deep states out. They stay #8 Change B, on top:
1111. Change B says the1111risks do not apply. That becomes false: the 4 s early wake after a lid close is now in scope.Acceptance
One build, one install, one reboot.
Before the install. Nothing reboots in this part.
makepkg --nobuildon the assembled recipe. Every source verifies, and every patch applies at--fuzz=0. It printsPrepared linux-p16-asus-26 version 7.3.0-26-omarchy-p16-asus. The.confighas the row 7 values.nice -n 19 ionice -c3. It makes the kernel and headers packages only.kernel-opencompiles against the built tree. If it fails, the change stops before the install.python3 -m unittest discover -s testspasses.@nv620entry withRMSkipACPIBattCap=1. The installer builds the new command line from/proc/cmdline.dkms statuslists no broken entry. Remove the stalenvidia/615.78.08entry first.Install. One run of
sudo scripts/install-kernel.sh. It does three things:PowerOff(Power off at critical battery instead of suspending #16).verify_preservedthen confirms that every earlier entry, image and the default are unchanged. The installer does not change the default.One reboot into 7.3.0-26. The owner records the #9 key results in
~/p16-issue9.txt, in the format the header ofcheck-issue-9.shgives. Then this command passes:What each part proves:
check-system.sh: the release,platform_profileand the services.check-issue-9.sh: ASUS WMI on ARM64: fan-curve defaults, key filter and keyboard handshake fail #9, with the owner's live key results.usb4-pcie-hotplug-check: USB4: a PCIe device connected after boot gets its PCIe tunnel #4. An NVMe enclosure plugged in after login gets PCIe below a22cfport.check-cuda.shand the three NVIDIA reads: the GPU lab's pins (root@nv620, driver 620.70.06,RMSkipACPIBattCap=1).busctl: Power off at critical battery instead of suspending #16./proc/interrupts: row 3 binds the sensor hub IRQ without9102.mem_sleep: s2idle is the default without the boot option.Recorded, not required:
propertiesvalue (85means1108marked it a pressure pad);cpufreq/boost, for CPU: the X925 cores stop at 4004 MHz because cppc boost is off #7.The reboot happens while the GPU lab is idle.
Rollback
@nv620entry.verify_preservedproves this before the reboot.sudo scripts/restore-install.shfrom this change's checkout. A checkpoint restores only with its own release (Kernel recipe follow-ups: 1105 port overflow, checkpoint restore across releases, stale SHA256SUMS #6, item 2).seankd3 commentedon Nov 6, 2026
Shape card, v2a (not reviewed)
v2a amends v2 (comment 6677912319) on the two findings from round 2. Everything else in v2 stands.
E1. Sensor enumeration is required
Acceptance. The required command gains one read after the
/proc/interruptsline:001CisBUS_SPI. The read passes only when the sensor hub on SPI exposes a HID device, which is the enumeration that #1958 reports after9104. A bound driver with zero children fails it. The/proc/interruptsread stays, so a failure shows whether the IRQ or the enumeration is missing.An IIO device from the sensor hub stays recorded, not required. The HID device is the enumeration.
If it fails on BIOS 300, the change does not pass. Row 4 is then unproven here.
E7. The release is read only where it is used, after assembly
common.shkeeps only the machine and directory helpers. It reads no release. This deletes itsPKGVER,PKGREL,PACKAGEandRELEASElines.build-kernel.shassemblesbuild/kernel/first and reads nothing about the release.dump-acpi.shnever reads it. A fresh checkout can start with no build cache.p16_release.py: the installer, the boot and update checks,check-system.shandcheck-issue-9.sh. Shell scripts take it through oneeval "$(python3 scripts/p16_release.py --shell)"line.p16_release.pyfails on the missing file. No separate refusal guard exists.Deletes in v2a
common.sh.seankd3 commentedon Nov 6, 2026
Shape card, v2b (not reviewed)
v2b amends v2a (comment 6677961125) on round 3 finding E8. Everything else in v2 and v2a stands.
E8. A reader failure stops the shell script
In v2a,
eval "$(python3 scripts/p16_release.py --shell)"hides the reader's exit status.evalthen runs on empty output and returns success, even underset -e.The shell scripts that need the release now use two lines:
A plain assignment returns the status of its command substitution. So under
set -euo pipefail(fromcommon.sh), a missing recipe stops the script at the first line, with the reader'sFileNotFoundError. No guard is added.Deletes in v2b
eval "$(...)"form.seankd3 commentedon Nov 6, 2026
Shape card review, elegance pass (GPT-6.1 Sol, high, read-only). PASS on shape card v2 (comment 6677912319) with amendments v2a (6677961125) and v2b (6677992626). This issue is Shaped.
9102duplicates the 7.3spi_probe()IRQ lookup.check-issue-9.shneeds its results file, and the 80% limit was not asserted.common.shwould read the release before the recipe is assembled.eval "$(...)"swallowed a reader failure.The bugs pass runs on the commits.
usb4-pcie-hotplug-check: fail when no NVMe controller is below the port
seankd3 commentedon Nov 6, 2026
PR #18 is open and both review passes passed on fed2348. It is not merged. It merges after the full build boots and the live checks pass, because a kernel recipe is proven only by its boot.
Disk:
make cleanin the oldkernel/src/linux-7.2.8tree removed 29.3 GB of objects. The source and.configare kept, and the tree is now 1.8 GB. The 7.2.8-23 and -24 packages remain for rollback./homewent only from 38 to 49 GB free, because btrfs snapshots still hold the old blocks. The 7.2.8 build tree needed about 34 GB, so the 60 GB gate stands. The build starts after the 4 TB SSD is installed and the footage library moves to it.seankd3 commentedon Nov 7, 2026
One-time boot selection prepared for hardware acceptance of PR #18.
The installed verifier passes for
/boot/EFI/Linux/omarchy_linux-p16-asus-26.efi, its ACPI overrides and module dependencies, the Limine command line, and all six menu image hashes. Limine 12.9.6 reports one-shot entry support.bootctl set-oneshot Omarchy.linux-p16-asus-26succeeded and EFI-variable readback matches that exact ID. The normaldefault_entry: 1remains unchanged.Before reboot: boot
4cf963bd-ae0c-4352-bd05-415a7e8411b9, kernel7.2.8-24-omarchy-p16-asus, root/@nv620, NVIDIA 620.70.06 nopsr experiment. AC0=1. The experiment unit is inactive and its GEMM/sampler have exited. No blocking shutdown inhibitor is listed.The reboot is authorized. Disk unlock still needs the owner. Post-boot kernel and hardware acceptance remains pending. This does not establish a GPU-cap fix.
seankd3 commentedon Nov 7, 2026
Post-boot hardware acceptance for PR #18, head
8a846bcdb7fd2917a460338f2d1cd6e31f28f1d9: INCOMPLETE. Boot and automatic system checks PASS.Live boot
4ac8cfa6-310b-44ee-8026-7bcc8180235fruns7.3.0-26-omarchy-p16-asus, root/@nv620, NVIDIA620.70.06, stock srcversion5B0BEF94704B2BE1D8BB68B. The_PSRexperiment module is no longer loaded. NVIDIA vermagic matches the running release. AC0=1.RMSkipACPIBattCap=1remains loaded. The removedpower_wrap_drv.usb4_releaseandmem_sleep_defaultarguments are absent from the actual command line. The one-shot EFI variable was consumed. Normaldefault_entry: 1remains.scripts/check-system.shexited 0. Installed touchpad policy and all three speaker-firmware hashes match. ASUS WMI binds at/sys/devices/platform/asus-nb-wmi, and the current boot logsinput: Asus WMI hotkeyswith noUnable to install key filtermessage. The ASUS-controls, charge-limit and power-profile services are active.systemctl --failedlists zero failed units.Separate live assertions:
GetCriticalAction:s "PowerOff".charge_control_end_threshold: 80.mem_sleep:[s2idle] deep.spi-MSFW1111:00, with recorded activity.001C:0000:0100.0005, bound tohid-sensor-hub. The ALS IIO device resolves below that SPI device and reports nameals. This establishes enumeration in addition to interrupt activity.CUDA acceptance has a missing prerequisite:
scripts/check-cuda.shexits 127 because/opt/cuda/bin/nvccdoes not exist. No toolkit was installed. A separate existingscripts/gemm.py 30 fp32check ran with the existing voxtype cuBLAS path. It exited 0. Both warm-up and final checks sampled 66 entries with 0 mismatches. Header: driver API 13050, cuBLAS 130802, cc12.1, 48 SMs, default math mode. This is functional execution evidence, not completion of the compiler-based acceptance command.Remaining acceptance:
check-issue-9.shacceptance remains pending. Driver binding and absence of the old filter warning do not replace those key checks.The existing keyboard handshake warning is still present. It was outside the i8042 change's scope. Physical audio/touchpad behavior was not measured by the installed-file checks.
A read-only clock query immediately after the 30-second CUDA check reported 754MHz, reason
0x400, temperature39.21C. This boot has not demonstrated a GPU-cap fix. PR #18 remains unmerged while its required hardware acceptance is incomplete.