Skip to content

Add Odin 3 HDR and compositor AutoHDR support - #164

Draft
enjihn wants to merge 9 commits into
virtudude:mainfrom
enjihn:autohdr/release11-public-review
Draft

Add Odin 3 HDR and compositor AutoHDR support#164
enjihn wants to merge 9 commits into
virtudude:mainfrom
enjihn:autohdr/release11-public-review

Conversation

@enjihn

@enjihn enjihn commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds qualified native HDR support for the AYN Odin 3 internal OLED and optional compositor AutoHDR for SDR games.

  • Qualify only the exact Odin 3 internal DSI-1 display
  • Add Steam Display HDR and SDR-on-HDR brightness controls
  • Add a global AutoHDR setting and per-game Performance QAM override
  • Show the HDR badge only for native HDR or AutoHDR confirmed as rendered by Gamescope
  • Keep Gamescope's dynamic limiter state in the user runtime directory so later-launched games honor Steam's FPS cap
  • Preserve native HDR bypass and fail closed when hardware, compositor support, or runtime feedback is incomplete
  • Keep external displays and unsupported devices outside the Odin 3 calibration policy

AutoHDR requests the Quality policy. Gamescope may use its internal Efficient path only as a rendering fallback.

Dependency

Depends on virtudude/armada-packages#13, which supplies the Gamescope HDR and AutoHDR patches plus Odin 3 8bpc output dithering.

The compositor and kernel changes are intentionally kept out of this repository.

Calibration

The internal display profile currently uses:

  • 203 nits SDR reference white
  • 650 nits target peak

These values are inherited and provisional. They have not been established through colorimeter measurement and are never applied to external displays.

Validation

  • 71 frontend tests
  • 28 backend tests
  • 12 production policy tests
  • TypeScript type checking
  • Gamescope capability-gate tests
  • Conflict-free merge preview against current main
  • Combined Release 11 image build
  • Live Odin 3 testing of native HDR, AutoHDR, per-game control, contextual HDR feedback, and the dynamic frame limiter

Fresh-install acceptance remains in progress, so this PR is a draft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant