git404hub

what is cec4htpc-daemon fr?

katzmatt/cec4htpc-daemon — explained in plain English

Analysis updated 2026-05-18

3PythonAudience · ops devopsComplexity · 4/5Setup · moderate

tl;dr

A Linux background service that automatically turns a TV on, switches its input, and puts it to standby using an HDMI-CEC USB adapter.

vibe map

mindmap
  root((cecd))
    What it does
      Powers TV on and off
      Switches HDMI input
      Reroutes volume keys
    Tech stack
      Python
      systemd
      D-Bus
      udev
    Use cases
      Auto TV power control
      Standby on shutdown
      System wide volume
    Audience
      HTPC builders
      Linux hobbyists

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Automatically power on and switch a home theater TV to the right HDMI input when a Linux HTPC boots.

VIBE 2

Put the TV into standby automatically when the HTPC shuts down, sleeps, or reboots.

VIBE 3

Control the TV's volume from any application by rerouting the system volume keys over CEC.

what's the stack?

PythonsystemdD-BusudevlibCEC

how it stacks up fr

katzmatt/cec4htpc-daemon0marildo/imago0xdfi/glm-5.2-1m-4x-dgx-spark
Stars333
LanguagePythonPythonPython
Setup difficultymoderateeasyhard
Complexity4/52/55/5
Audienceops devopsgeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires a libCEC-compatible USB-CEC adapter and root-level systemd/udev setup.

in plain english

CEC4HTPC-Daemon, also called cecd, is a background service for Linux home theater PCs that controls a television over HDMI-CEC. It takes ownership of a USB-CEC adapter, most commonly the Pulse-Eight USB-HDMI CEC Adapter, for as long as the computer is running, and uses it to turn the TV on, switch it to the right input, and put it into standby automatically around boot, sleep, resume, and shutdown, without anyone needing to log in first. Because it runs as a system level daemon started by udev rather than a service tied to a login session, the TV is already on and switched to the correct input by the time any login screen would normally appear. It is also the only process allowed to talk to the adapter, which avoids conflicts with other tools that might otherwise fight over the same connection. An optional feature lets the daemon grab the volume up, volume down, and mute keys system wide and send them to the TV or receiver over CEC instead of the desktop's own volume control, so this works even with no desktop environment running at all. Other programs can control the daemon through a D-Bus API on the system bus, with methods for powering on, standing by, switching inputs, adjusting volume, scanning the CEC bus, and checking connection status. Installation is handled by shell scripts that detect whether the system is Arch based or Debian and Ubuntu based, install the needed dependencies, and set up the systemd unit, udev rule, and D-Bus policy. Configuration lives in a JSON file where a user sets the HDMI input number, retry counts, and whether the TV's power button should be allowed to wake the computer. The README states plainly that this is a heavily AI assisted project and warns readers to review it carefully before relying on it for anything critical. It is written in Python, and companion tools for Windows and a simpler user space Linux setup exist as separate related projects from the same author.

prompts (copy fr)

prompt 1
Help me install cecd on my Arch Linux HTPC and configure it for HDMI input 2.
prompt 2
Write a script that calls the cecd D-Bus API to power on the TV and scan the CEC bus.
prompt 3
Explain how to find my volume key device path for cecd's volume key interception feature.
prompt 4
Walk me through configuring cecd so my TV's power button can wake my PC from sleep.

Frequently asked questions

what is cec4htpc-daemon fr?

A Linux background service that automatically turns a TV on, switches its input, and puts it to standby using an HDMI-CEC USB adapter.

What language is cec4htpc-daemon written in?

Mainly Python. The stack also includes Python, systemd, D-Bus.

How hard is cec4htpc-daemon to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is cec4htpc-daemon for?

Mainly ops devops.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.