WIP: feat(tools/display-disturb): adl-emul — AMD connector-emulation probe (software HPD dummy) #54
Closed
enricobuehler
wants to merge 1 commits from
worktree-adl-emul-probe into main
pull from: worktree-adl-emul-probe
merge into: :main
:main
:worktree-console-ui-overhaul
:worktree-hires-audio-pcm
:worktree-audio-stutter-fixes
:worktree-ds-pad-sink-pro-audio
:worktree-console-diagnostics
:worktree-ds-inhibit-storm
:worktree-security-review-2026-08-15-fixes
:worktree-pairing-friendly-device-name
:worktree-shield-select-back-quit
:worktree-android-canary-open-testing
:fix-host-cer-alias-null-key
:worktree-azure-trusted-signing
:worktree-audio-soft-limit-gain
:worktree-gamescope-exclusive-dpms
:fix/playnite-launcher-resolve
:worktree-macos-mic-rebuild-loop
:worktree-hyprland-cursor-mode-negotiation
:worktree-hd2-idle-recording-default
:worktree-steam-art-root-windows
:worktree-android-aaudio-shield-silence
:worktree-unpair-all-button
:worktree-appletv-present-depth
:worktree-av1-level-sentinel
:worktree-nix-plugin-runner-resolve
:worktree-release-0280
:worktree-console-plugin-update-all
:worktree-flatpak-skia-099-pin
:worktree-debian-ubuntu-support
:worktree-wowlan-support
:worktree-decky-shortcut-dup
:worktree-vk-level-gate-clamp
:worktree-edition-2024
:worktree-win-sleep-blockers
:worktree-rt-gpu-priority-defaults
:worktree-black-stream-fixes
:worktree-edid-lock-toggle
:worktree-gate-double-arm-fix
:chore/rust-safety-programme
:worktree-console-pinned-profile-library
:worktree-blackscreen-fixes
:build/web-silence-rollup-directive-warnings
:worktree-android-console-visual-refresh
:worktree-nixos-capped-compositor-exe-denied
:worktree-release-0270
:worktree-dm-helper-diagnosis
:worktree-gamescope-pin-bump-nobara
:worktree-notes-capsysnice-correction
:worktree-bazzite-docs-warning
:worktree-kwin-capability-identification
:worktree-gamescope-rpm-deb-builddeps
:worktree-pyrowave-wire-dead-code
:worktree-release-0260
:worktree-cursor-composite-hardening
:worktree-library-settings-origin-split
:worktree-native-decode-m0
:worktree-july-rpm-and-cursor
:worktree-presenter-cadence-wp1
:worktree-decky-brand-name
:worktree-win-amd-decoder-order
:worktree-stall-ride-through
:fix/pad-audio-wasapi-module-path
:feat/android-pad-audio
:worktree-adl-emul-probe
:worktree-haptics-m12-dry
:worktree-haptics-m9-richfb
:worktree-haptics-m11-settings
:worktree-apple-store-screenshots
:worktree-decky-slim-rework
:worktree-appstore-copy
:worktree-haptics-m10-wire
:worktree-haptics-m8-proto
:worktree-haptics-m7-windows
:worktree-haptics-m6-presenter
:worktree-wire-mtu-resilience
:worktree-haptics-m5-android
:worktree-haptics-m4-apple
:worktree-haptics-m3-rumble-engine
:worktree-android-presenter-023-triage
:worktree-vdisplay-resume-recovery
:worktree-kwin-vout-demirror
:fix/web-console-sweep
:fix/windows-web-console-lifecycle
:chore/windows-rerender-semantics
:fix/pf-encode-phase8
:fix/pf-encode-phase7
:feat/cursor-channel
:feat/desktop-mouse-mode
:feat/plugin-kit
:fix/network-split-standing-latency
:fix/windows-msix-arm64-and-manifest
:fix/encode-medium-tier
:fix/encode-rfi-taint-and-oob
:fix/encode-init-leak-and-twin-drift
:fix/encode-teardown-uaf
:feat/pyrowave-windows
:fix/ubuntu-2404-host-deb
:fix/ios-archive-provisioning
:merge/first-frame-latency
:feat/shared-clipboard-v2
:feat/apple-live-activities-widgets
:debug/touch-finger-logging
:feat/shared-clipboard
:midstream-resize
No Reviewers
Labels
No items
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
FernandoMX
HitFrostbite
enricobuehler (Enrico Bühler)
kszlim
luxus
nannku
neoney
sassycrown
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: unom/punktfunk#54
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Stall program T1, step 1 (planning:
design/vdisplay-disturbance-immunity.md§9). The dead-end list marked AMD ADL connector emulation "likely Pro-gated" on field hearsay, with "probe once, log rc" as the owed falsification — never run, here or anywhere in the community record. After the third RX 9070 XT standby-sink field case, this is that probe, shippable to reporters as a single exe.display-disturb adl-emul— read-only:EDIDManagement_Caps, board layout, per-connector emulation state/data. Always safe.--lock [--connector N]— pin the live EDID (ConnectionData_Set) +ADL_EMUL_MODE_ALWAYSon occupied connectors: the software equivalent of an HPD-holding dummy plug. Run during a stream with the sink asleep = the direct A/B for the metronomic stall class.--unlock—ADL_EMUL_MODE_OFF+ConnectionData_Remove(restore). Emulation can persist across reboots, so every--lockinstruction ships with the--unlockpairing (driver reinstall = escape hatch).Every call prints the bench's
epoch_ms op target took_ms ok rc=line with the rc decoded —ADL_ERR_NOT_SUPPORTED(-8)vsADL_OKon consumer Adrenalin is the whole Pro-gating question.atiadlxx.dllis bound dynamically (absent = clean exit 2); structs mirroradl_structures.hverbatim; only connectors the board-layout walk enumerated are touched.Gates:
check/clippy --all-targets -D warnings(x86_64-pc-windows-msvc cross-target) + fmt clean; native stub unaffected.Draft until the validation ladder runs: (1) .173 bare-metal Raphael iGPU (consumer Adrenalin, end-to-end API path), (2) case-#3 reporter's 9070 XT (read-only run, then the
--lockstall A/B). Green ⇒ productize as anedid_lockdisplay-policy axis next topnp_disable_monitors.Superseded by #176, which carries this branch's commit verbatim and productizes it as the
edid_lockdisplay-policy axis (ADL FFI shared between the probe tool and the host atpf_win_display::adl_emul). #176 merged to main — closing. The probe's own validation ladder (rc evidence on a consumer RX 9070 XT, then the--lockstall A/B) transfers to the axis and remains owed before trusting the lever's effect; the tool ships unchanged for exactly that run.Pull request closed