Free Screenly Player with every Business or Enterprise yearly plan. How it works →

August 14, 2026

HDMI-CEC display controls no longer fail on a Raspberry Pi 2, 3 or 4

If you use Anthias to turn a TV on and off over HDMI, that never worked on a Raspberry Pi 2, 3 or 4, and on a Raspberry Pi 5 only one of the 2 HDMI ports got the command. Anthias 2026.08.1 fixes both, and stops calling an ordinary monitor an error. After upgrading, try it with your TV, because it hasn't been tested end to end with one yet.

Before Anthias 2026.08.1, the HDMI-CEC display controls could only fail on a Raspberry Pi 2, 3 or 4. The "Display Power (CEC)" card on the System Info page read "CEC error", and "Turn display on" and "Turn display off" in Settings failed, even with a TV that supports CEC.

From Anthias 2026.08.1, CEC commands go out on the Raspberry Pi 2, 3, 4 and 5 and the Rock Pi 4. They go to every HDMI port that has a CEC display attached, so a second screen isn't left out. When no port has one, the buttons say "no CEC link on any HDMI port" instead of failing with no reason. Whether the TV then turns on or off is still up to the TV.

System Info tells a plain monitor from a fault

Most desktop monitors don't support CEC, and Anthias used to report that as "CEC error". The "Display Power (CEC)" card now reads:

  • "True" or "False" when every display that answered is on, or in standby.
  • "Mixed" when 2 displays disagree, or one is switching.
  • "No CEC display detected" when nothing answers. That's normal for a plain monitor, not a fault.
  • "Not available" on a board with no CEC hardware, such as most x86 PCs, as before.
  • "CEC error" only when Anthias couldn't ask at all.

What to check on your setup

Anthias 2026.08.1 hasn't been tested end to end against a CEC-capable display: no test setup had one. Finding the CEC hardware and telling which ports have a CEC display was checked on a Raspberry Pi 2, 3, 4 and 5, a Rock Pi 4 and an x86 machine. USB CEC adapters haven't been tried. If you use CEC to turn a TV on and off, try it after upgrading and report what you see.

The viewer container now does the CEC work for the whole player, so if the viewer isn't running, the card reads "CEC error" and the buttons fail.

For people who build on Anthias

The images no longer include libcec or cec-client, since Anthias talks to the kernel's CEC devices (/dev/cec*) itself. The viewer container is privileged and already sees them, so the server and Celery containers get no CEC devices: the compose templates drop their /dev/vchiq entries, and bin/upgrade_containers.sh, bin/deploy_to_balena.sh and bin/balena_ota_deploy.sh no longer rewrite the device list per board. Needing no device list is also what lets CEC work on balena installs, though it hasn't been tried on a balena device yet.

On /api/v1/info and /api/v2/info, display_power is still a string or null. Its values are True, False, Mixed, No CEC display detected, Not available, CEC error and, rarely, No CEC adapter. Unknown, which a working adapter with nothing answering used to return, is now No CEC display detected.