ALLM on Linux (and content type DRM prop)

Hi,

I’m trying to dynamically toggle Game Mode on a TCL 55C809 TV connected directly to an NVIDIA GPU over HDMI.

The TV provides a “Game Master: Auto” setting and states that Game Master is automatically enabled when it detects an ALLM signal. My goal is basically:

  • normal desktop use: VRR and ALLM disabled;
  • fullscreen game: VRR and ALLM enabled;
  • leaving the game: return to the normal desktop mode.

In my configuration, Hyprland classifies a fullscreen gamescope window as game content through a window rule and uses that information to enable VRR dynamically. Hyprland can also map this hint to DRM_MODE_CONTENT_TYPE_GAME when the connector supports the DRM Content Type property. However, HDMI VRR, HDMI Content Type and ALLM are separate mechanisms.
The NVIDIA connector on my system does not appear to expose either a Content Type or an ALLM property, and setting HDMI Content Type to “Game” would not by itself emit the ALLM_Mode bit carried by the HDMI Forum VSIF.

I could not find any ALLM property exposed by the NVIDIA DRM/KMS connector either:

drm_info /dev/dri/card1 | grep -iE ‘allm|content type’
modetest -M nvidia-drm -p | grep -iE ‘allm|content type’

The TV’s EDID does advertise ALLM support. I also inspected the NVIDIA open GPU kernel modules, currently version 610.57.04. The DRM-facing nvidia-drm code and the relevant NvKMS HDMI path are both present in the open source tree. Although some lower-level display programming may still involve the GSP firmware, the visible DRM connector code does not attach Content Type or ALLM properties.

The code appears to:

  • parse the display’s ALLM capability from the HDMI Forum VSDB;
  • define an ALLMEnable field;
  • contain generic HDMI Forum VSIF code capable of setting the ALLM bit.

However, I could not find any visible NvKMS code that assigns ALLMEnable or selects the HDMI Forum VSIF path. The current HDMI VRR implementation appears to enable VRR separately through an HDMI 2.1 Extended Metadata Packet.

Therefore, I have a few questions:
Does the NVIDIA Linux driver currently support transmitting HDMI ALLM, and the content_type DRM prop?
If so, what causes it to be enabled, and is there any way to query its current state?
If not, is ALLM support planned?
Would NVIDIA consider exposing it through a DRM/KMS connector property so compositors such as Hyprland and Gamescope can enable it for fullscreen games (and video content, using DRM_MODE_CONTENT_TYPE_CINEMA)?
Alternatively, could the driver automatically enable ALLM when HDMI VRR is enabled on a display that advertises ALLM support?

I understand that the final programming of the HDMI Forum VSIF has to happen in the NVIDIA display driver. A generic DRM/KMS property would mainly provide the userspace interface needed by compositors.

Hardware/software involved:

  • GPU: NVIDIA GeForce RTX 4070 Laptop GPU
  • Display: TCL 55C809, connected directly over HDMI
  • Compositor: Hyprland
  • NVIDIA driver/open kernel modules: 610.57.04

Please let me know if there are any additional logs, EDID dumps or debug information I can provide.

Bump, no interest in this?