Skip to content

modeset: honor forced FRL rate during link assessment#1186

Open
Rohithmatham12 wants to merge 1 commit into
NVIDIA:mainfrom
Rohithmatham12:codex/frl-force-edid-assess
Open

modeset: honor forced FRL rate during link assessment#1186
Rohithmatham12 wants to merge 1 commit into
NVIDIA:mainfrom
Rohithmatham12:codex/frl-force-edid-assess

Conversation

@Rohithmatham12

@Rohithmatham12 Rohithmatham12 commented Jun 9, 2026

Copy link
Copy Markdown

Summary

  • Treat nvidia-modeset.force_frl_rate as an explicit opt-in to use EDID-declared FRL capabilities during HDMI FRL link assessment.
  • Leave the default physical link-training assessment path unchanged when force_frl_rate=0.
  • Update the module parameter description so modinfo reflects the EDID-capability behavior.

This helps forced/headless HDMI connectors where a valid override EDID advertises FRL (for example Max_FRL_Rate=6) but physical link assessment cannot complete because there is no real sink handshake, causing high-bandwidth modes such as 4K120 to be pruned.

Fixes #1184.

Testing

  • git diff --check
  • make -C kernel-open -n modules
    • Reached the kernel build handoff and then stopped in this macOS workspace because /lib/modules/25.5.0/build is not present.
  • Reporter validation on Force-enabled virtual connector won't bring up FRL — capped at 4K60 despite EDID Max_FRL_Rate=6 (blocks headless 4K120 Sunshine/Moonlight) #1184 / this PR:
    • Hardware/software: RTX 3060 Ti, nvidia-open 610.43.02, kernel 7.0.11
    • Boot setup: drm.edid_firmware=HDMI-A-1:edid/<file> video=HDMI-A-1:e
    • Override EDID advertises Max_FRL_Rate=6 plus VIC 118
    • Stock driver with nvidia-modeset.force_frl_rate=1 and =2 still stayed capped at 4K60
    • With this patch plus nvidia-modeset.force_frl_rate=1, 3840x2160@119.88 appears and sets on the force-enabled HDMI connector
    • HDR also enables and Sunshine HEVC Main10 streaming was confirmed end to end
    • Custom high-bandwidth DisplayID timings such as 3024x1890@120 and 2752x2064@120 also validate and set

@Rohithmatham12

Copy link
Copy Markdown
Author

Thanks for testing and confirming the HDMI force-enabled connector case. I updated the PR description with your validation details and marked the PR ready for review.

The key confirmation is that stock nvidia-modeset.force_frl_rate=1/2 still capped the forced HDMI connector at 4K60, while this patch plus nvidia-modeset.force_frl_rate=1 exposed and set 3840x2160@119.88, with HDR/Sunshine HEVC Main10 working end to end.

@HarryAnkers

Copy link
Copy Markdown

Hardware validation on RTX 3060 Ti (GA104), nvidia-open 610.43.02, kernel 7.0.11, KDE Plasma 6.6 Wayland, headless HDMI connector force-enabled via drm.edid_firmware=HDMI-A-1:edid/<file> video=HDMI-A-1:e with an EDID declaring Max_FRL_Rate=6 and VIC 118 (3840x2160@120):

Without this patch (stock 610.43.02): force_frl_rate=1 and =2 both load but the connector stays pruned to 4K60, with no FRL messages in dmesg at all — the FRL path is never entered.

With this patch + nvidia-modeset.force_frl_rate=1:

  • Patched module confirmed loaded (updated force_frl_rate parm description visible in modinfo).
  • 3840x2160@119.88 appears in the mode list and sets successfully. The driver logs nvidia-modeset: WARNING: GPU:0: HDMI FRL link training failed. and proceeds with the modeset — sensible for a sink-less connector.
  • HDR enables on top of the 4K120 mode; verified end to end with Sunshine KMS capture encoding HEVC Main10.
  • Also exercised with higher custom timings (3024x1890@120 and 2752x2064@120 at ~764 MHz pixel clock, injected via a DisplayID extension block) — both validate and set under the forced FRL.
  • Regression check: behavior with force_frl_rate=0 (default) unchanged, and a physically connected monitor on the same GPU behaves normally.

This is exactly the headless HDMI 2.1 setup from #1184 — works as designed. Happy to run any additional tests.

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.

Force-enabled virtual connector won't bring up FRL — capped at 4K60 despite EDID Max_FRL_Rate=6 (blocks headless 4K120 Sunshine/Moonlight)

2 participants