From 31e438673bf8fb32f906ccaae52e0eaad58733c8 Mon Sep 17 00:00:00 2001 From: Rick Peters Date: Fri, 25 Sep 2026 09:47:22 +0200 Subject: [PATCH] docs: CEC.md, which PCs have HDMI-CEC and how to add it --- CEC.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 2 ++ README.md | 7 ++++--- TECHNICAL.md | 3 ++- TROUBLESHOOTING.md | 4 ++-- 5 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 CEC.md diff --git a/CEC.md b/CEC.md new file mode 100644 index 0000000..0930e51 --- /dev/null +++ b/CEC.md @@ -0,0 +1,48 @@ +# HDMI-CEC: does my PC have it? + +The **HDMI-CEC** item in Steamify lets you use Steam with your TV's remote, +and turns the TV on and off with the PC. It only works when the PC has a +CEC device (`/dev/cec*`). Many PCs don't: on desktop PCs CEC is rare. +How it works: [TECHNICAL.md](TECHNICAL.md#hdmi-cec); problems: +[TROUBLESHOOTING.md](TROUBLESHOOTING.md#the-tv-remote-does-nothing-hdmi-cec). + +## Graphics cards + +- **NVIDIA:** no. The driver doesn't expose CEC on the HDMI port, on Linux + or Windows. +- **AMD and Intel:** the CEC line of the HDMI port is normally not + connected on desktop cards. The Linux drivers (`amdgpu`, `i915`) only + support CEC over a **DisplayPort** connection: some DisplayPort-to-HDMI + adapters and built-in converter chips pass CEC along ("DP-AUX CEC"). That + depends on the adapter or chip, not on the graphics card, so it's worth + trying a different adapter. + +## Devices with CEC built in + +- the **Valve Steam Machine** (Steamify ticks HDMI-CEC by default there); +- some **Intel NUC** mini PCs, which have a CEC chip on the board; +- the **Raspberry Pi**. + +## Any PC: a USB CEC adapter + +A USB CEC adapter, such as the **Pulse-Eight USB-CEC adapter** (or a +RainShadow Tech one), sits between the PC and the TV on the HDMI cable and +works on Linux. This is the way to get CEC on a custom build, e.g. with an +NVIDIA card. Steamify installs what these adapters need +(`inputattach-cec-units`), so plug it in and turn on HDMI-CEC. + +## Check your PC + +After turning on HDMI-CEC in Steamify, the menu lists the CEC devices it +found. Or run: + +```bash +ls /dev/cec* +``` + +No device (and no USB adapter): no CEC on this PC. Also turn on CEC on the +TV itself: it has a brand name there (Sony: BRAVIA Sync, Samsung: Anynet+, +LG: SimpLink, Philips: EasyLink, Panasonic: VIERA Link). + +This overview is based on how the Linux drivers work; hardware differs, +so the only sure test is `ls /dev/cec*` on your own PC. diff --git a/CHANGELOG.md b/CHANGELOG.md index b7cd91d..9558b23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ one per merged pull request. the TV turns on and off with the PC. On a Steam Machine, steamos-manager configures it from Steam's settings. - Works with any `/dev/cec*` (GPU or USB adapter); the menu lists them. + - `CEC.md`: which PCs have CEC (NVIDIA doesn't, AMD/Intel only over some + DisplayPort adapters), and USB adapters for your own build. - Restarts steamos-manager, which only offers Steam its HDMI-CEC settings when cecd was there at its start. - The README no longer says Steam Machine support alone gives HDMI-CEC: diff --git a/README.md b/README.md index 350b9cb..95ccb45 100644 --- a/README.md +++ b/README.md @@ -29,9 +29,10 @@ Steam Machine. opens the newest Steamify, so you don't need the install command again. 6. **HDMI-CEC** (experimental; off by default, on by default on a Steam Machine) - use Steam with your TV's - remote, and the TV turns on and off with the PC. Needs a GPU with CEC (like - the Steam Machine) or a USB CEC adapter - ([details](TECHNICAL.md#hdmi-cec)). + remote, and the TV turns on and off with the PC. Needs a PC with CEC (like + the Steam Machine) or a USB CEC adapter; most graphics cards, NVIDIA + included, don't have it. See [CEC.md](CEC.md) for which PCs do, and how to + add it to your own build ([details](TECHNICAL.md#hdmi-cec)). ## Steam Machine diff --git a/TECHNICAL.md b/TECHNICAL.md index a66f85f..bb1f2a3 100644 --- a/TECHNICAL.md +++ b/TECHNICAL.md @@ -186,7 +186,8 @@ SHA-256 in Valve's package index: It works with any `/dev/cec*`: a GPU that has CEC on its HDMI port (the Steam Machine; the CachyOS kernel has DisplayPort CEC built in) or a USB -adapter. The menu lists the CEC devices found. Also turn on CEC on the TV +adapter ([CEC.md](CEC.md) lists which PCs have one). The menu lists the CEC +devices found. Also turn on CEC on the TV (Sony: BRAVIA Sync, Samsung: Anynet+, LG: SimpLink). On a Steam Machine `steamos-manager` writes cecd's settings from Steam's (wake the TV, put it to sleep), in `~/.config/cecd/config.d/`, and Steam shows its HDMI-CEC diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index a201b9a..20af993 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -45,8 +45,8 @@ journalctl --user -u cecd -b cec-ctl -d /dev/cec0 -S # the devices on the TV's CEC bus (v4l-utils) ``` -No `/dev/cec*`: your GPU's HDMI port has no CEC; a USB CEC adapter -(e.g. Pulse-Eight) works. The Steam Machine wakes up again right after going +No `/dev/cec*`: your PC has no CEC; a USB CEC adapter (e.g. Pulse-Eight) +works. See [CEC.md](CEC.md). The Steam Machine wakes up again right after going to sleep, or other devices lose CEC? That happens on SteamOS too; turn HDMI-CEC off in the wizard.