Corrupt vblank timestamps on HDMI 2.1 DSC output (4K@240) — frame scheduling breaks under niri
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- c, linux
- Domain
- backend, operating-systems
Research direction
Start by locating the driver's vblank timestamp generation paths for HDMI 2.1 DSC and non-standard display timings; the issue does not name specific files or tests. Compare reported vblank intervals with the expected refresh intervals for the affected outputs, then check whether the eDP control case remains unaffected. Done means timestamps match the refresh interval and the reported tearing and scheduling warnings no longer occur.
Written by the indexing model from the issue text.
Description
System
- GPU: RTX 4080 Laptop (open kernel modules 595.104.02)
- Machine: MSI Vector 16 HX A13VHG
- OS: NixOS, kernel 6.18.57
- Compositor: niri 26.04 / niri-unstable-20261022 (both reproduce)
Symptom
On HDMI-A-3 (Microstep MPG272UX OLED, 3840x2160@240, DSC dual-slice), vblank timestamps reported to userspace are wildly incorrect — compositor observes vblank deltas of 1-4ms against an expected 4.166ms interval. Visual result: bottom half of screen shows stale/torn frames (scanline flicker).
Reproduction
- Connect 4K OLED via HDMI 2.1 at 240Hz (DSC engaged)
- Launch niri →
niri::utils::vblank_throttlewarnings appear within seconds:HDMI-A-3: expected refresh 4.166ms, got vblank after 1.562ms DP-4 ([email protected], non-standard timing): expected 8.333ms, got vblank after 2.713ms - Drop HDMI-A-3 to [email protected] → warnings stop, picture clean
Notes
- Same class of corruption on a [email protected] (non-standard CVT timing) DisplayPort output — expected 8.33ms, got 2.7ms.
- Internal eDP-1 2560x1600@240 never affected.
- Suspect DSC and/or non-standard timing paths in the driver's vblank timestamp generation.
Cross-filed at niri-wm/niri#4724 for compositor-side handling.
- Dominant language
- C
- Stars
- 17.5k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NVIDIA/open-gpu-kernel-modules
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
NVIDIA/open-gpu-kernel-modules#1479 · 2 comments ·
Maintainers usually reply within 1 day
-
PlatformRequestHandler: missing !bInit guard on bSystemParamLimitUpdate causes NV_ERR_INVALID_DATA at bootPossibly taken @SammyTourani claimed this 37 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 88/100
NVIDIA/open-gpu-kernel-modules#1360 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
NVIDIA/open-gpu-kernel-modules#1343 · 3 comments ·
Maintainers usually reply within 1 day
-
HKC G27H7Pro redundant long-HPD loop after DisplayPort link training (RTX 5060 Laptop, 610.57.04)Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NVIDIA/open-gpu-kernel-modules#1323 ·
Maintainers usually reply within 1 day
-
build-problem
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/open-gpu-kernel-modules#1155 · 1 comment ·
Maintainers usually reply within 1 day
All issues in NVIDIA/open-gpu-kernel-modules
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
colbymchenry/codegraph#3223 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
arduino/ArduinoCore-megaavr#152 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
FujiNetWIFI/fujinet-firmware#2261 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
kivy/python-for-android#3405 · 1 reaction ·
Maintainers usually reply within 1 day
-
Nmap
Difficulty 1/5 Under an hour Newbie friendliness 82/100
Maintainers usually reply within 1 day