Speaker
Description
HDCP (High Bandwidth Digital Content Protection) failures during real-world playback are difficult to reproduce and harder to triage. When protected content breaks on a user’s machine, there is rarely a quick way to tell whether the fault lies in the kernel driver or in user space or in the display link itself. Such failures are often intermittent, they surface only after a session has been active for some time, and they depend on the monitor, cable, and content-type combination and display configuration in use which makes them easy to miss with a conventional pass/fail test (eg: kms_content_protection IGT) that runs once and exits.
HDCP Tool is an IGT (IGT GPU Tools) command line tool designed to identify the early issues that might occur on a Linux users’ machine. Its primary purpose is to confirm that content protection stays enabled for the full duration of an active playback session. By continuously polling the link it makes integrity failures easy to identify the moment they occur clearly showing whether the protected link stayed up and, if it dropped, exactly when. It also supports compliance validation while sessions are active, letting HDCP behavior be exercised and confirmed under realistic conditions.
Current User Flow:
The tool runs as an interactive, menu-driven application rather than a one-shot pass/fail test. Once started, it displays a menu on the connected screen and waits for operator input. Using single-key commands, the user can request a specific protection mode, query the status, or end the session. Each command takes effect immediately, so content protection can be enabled, changed, or disabled while the display session remains active.
- Get HDCP Information
Retrieves and displays a detailed per-connector summary, including the encoder, connection status, connector type, sink device HDCP capabilities, current protection status, and active content type. - Enable HDCP 1.4
Initiates HDCP 1.4 protection by setting the Content Protection property to DESIRED and configuring the Content Type to 0. - Enable HDCP 2.2 (Type 0)
Requests HDCP 2.2 protection for Type 0 content by setting Content Protection = DESIRED and Content Type = 0. - Enable HDCP 2.2 (Type 1)
Requests HDCP 2.2 protection for Type 1 content by setting Content Protection = DESIRED and Content Type = 1. - Disable HDCP
Disables content protection by setting the Content Protection property to UNDESIRED, thereby removing HDCP enforcement.
Q. Terminates the application session and releases all allocated display resources.
The overlay is also helpful to color vision deficiency operators: because every mode and status is shown as on-screen text (mode name plus an Enabled/Desired/Disabled string), no critical information depends on distinguishing the background colors.
Future Plans of Tool Enhancement:
1. Improvements are planned for DP-MST setups to better handle multiple displays.
2. Support for display hot-plug events (hpds) will allow testing when monitors are connected or disconnected during playback.
3. Enhanced diagnostics, including detailed HDCP state-transition logging and failure reporting.
| Code of Conduct | Yes |
|---|---|
| GSoC, EVoC or Outreachy | No |
| In-person or virtual presentation | Virtual |
















