Corrupt vblank timestamps on HDMI 2.1 DSC output (4K@240) — frame scheduling breaks under niri

Abierto
#1,474 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
c, linux

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

  1. Connect 4K OLED via HDMI 2.1 at 240Hz (DSC engaged)
  2. Launch niri → niri::utils::vblank_throttle warnings 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
    
  3. 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.

Lenguaje dominante
C
Estrellas
17.5k
Forks
1.9k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NVIDIA/open-gpu-kernel-modules

Todos los issues de NVIDIA/open-gpu-kernel-modules

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.