Conversation
615562b to
da5a334
Compare
|
Following up on the kernel-version caveat in the description — I said I'd test 7.2.4 without the workaround before merge, so I have. Booted with the drop-in disabled and Re-enabling So 7.2.4 has not fixed this and the workaround is still required on the current kernel. I've updated the description to say so; no code changes, the diff is unchanged. One caveat on evidence, to avoid overstating it: |
With PSR2 in use, this machine's eDP panel leaves the whole session lagging: the pointer and keystrokes land late while every CPU, GPU, memory, and disk stat reads idle, which sends people hunting for a performance problem that is not there. i915 also logs, once per boot: i915 0000:00:02.0: [drm] Selective fetch area calculation failed in pipe A That line is the driver's own fallback to a full-frame update, so it is a sign selective fetch is unhappy on this panel rather than the stall itself. What is established here is the experiment, not the mechanism. i915.enable_psr2_sel_fetch=0 drops the panel to PSR1. Self-refresh and its power saving stay; only PSR2's partial-frame updates are given up. Verified on a Latitude 9440 2-in-1 (Raptor Lake-P / Iris Xe, AUO B140QAN panel): the machine ran two weeks with PSR off entirely and no lag, and narrowing that to selective fetch keeps the lag away with PSR1 active. The hardware leaf only runs during installation, so a migration carries the same workaround to machines installed before it. It leaves a hand-applied i915 PSR setting alone rather than adding a drop-in that contradicts it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
da5a334 to
0a71d71
Compare
On a Dell Latitude 9440 2-in-1 (Raptor Lake-P / Iris Xe, AUO B140QAN eDP panel), a fresh Omarchy install is unusably slow: the pointer and keystrokes land late, while every CPU, GPU, memory, and disk stat reads idle and there are no IRQ storms. It looks like a machine that cannot keep up, and it sends people hunting for a performance problem that is not there.
Disabling PSR2 removes it.
i915.enable_psr2_sel_fetch=0drops the panel to PSR1: self-refresh and its power saving stay, and only PSR2's partial-frame updates are given up. The drop-in goes to/etc/limine-entry-tool.d/, matchinginstall/hardware/asus/fix-asus-ptl-b9406-display.sh, which works around the same class of problem on an ASUS panel.i915 also logs this once per boot on the affected machine:
To be straight about what that line is worth: it is
drm_info_onceand it setsfull_update = true, so it is the driver's own fallback to a full-frame update, not a failed commit. It says selective fetch is unhappy on this panel; it does not by itself explain the lag. The experiment is what is established here, not the mechanism. I'm reporting it to i915 upstream separately, where the real fix belongs.Verified on the affected machine: it ran two weeks with PSR off entirely (
i915.enable_psr=0) and no lag, and narrowing that to selective fetch keeps the lag away:Notes for review:
PSR mode: PSR2 enabledandPSR2 selective fetch: enabledconfirmed in debugfs while the machine was lagging. This is a current bug, not a stale workaround.omarchy-hw-dell-latitude-9440requires the wordLatitude; there is a test assertingXPS 9440does not match.i915.enable_psrsetting alone rather than adding a drop-in that contradicts it. Happy to drop it if install-time-only is the preference here — the comparable B9406 fix shipped without one.test/shell.d/latitude-9440-display-test.sh(10 checks), plus./test/cliand thebin-style,limine-defaults,migrate-*,ptl-kernel-migration,t2-hardware, andbrcmfmac-supplicantsuites.🤖 Generated with Claude Code