# Install libcec with Homebrew, apk, dnf, MacPorts, Nix, pacman, apt, zypper

Control devices with TV remote control and HDMI cabling. Version 8.1.4 via Homebrew; verified from local package data. Also installable with debian: sudo apt install cec-utils.

## Install

```sh
sudo av install brew:libcec
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libcec
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libcec
```

  Evidence: MacPorts ports tree: multimedia/libcec/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add libcec
```

  Evidence: Alpine Linux edge package indexes: libcec from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install libcec
```

  Evidence: Fedora Rawhide package metadata: libcec from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#libcec
```

  Evidence: nixpkgs package indexes: pkgs/by-name/li/libcec/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S libcec
```

  Evidence: Arch Linux sync databases: libcec from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- Debian apt (92%):

```sh
sudo apt install cec-utils
```

  Evidence: Debian stable package indexes: cec-utils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- zypper (92%):

```sh
sudo zypper install cec-client
```

  Evidence: openSUSE Tumbleweed package metadata: cec-client from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## Package facts

- **Package key:** brew:libcec
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libcec>
- **Version:** 8.1.4
- **Source summary:** Control devices with TV remote control and HDMI cabling
- **Homepage:** <https://libcec.pulse-eight.com/>
- **Repository:** <https://github.com/Pulse-Eight/libcec>
- **Upstream docs:** <https://libcec.pulse-eight.com/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/Pulse-Eight/libcec/archive/refs/tags/libcec-8.1.4.tar.gz>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- cec-client (cli)
- cec-client-8.1.3 (cli)
- cecc-client (cli)
- cecc-client-8.1.3 (cli)
- cec-client (alias)
- cec-client-8.1.3 (alias)
- cecc-client (alias)
- cecc-client-8.1.3 (alias)

## Build dependencies

- cmake

## Uses from macOS

- ncurses

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 8.1.4
- Local data: ok
- Upstream repository: https://github.com/Pulse-Eight/libcec
- Upstream latest detected: libcec-8.1.4 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

libcec is Pulse-Eight's open source HDMI-CEC communication library. It lets computers and media-center applications send and receive Consumer Electronics Control messages over HDMI, usually through Pulse-Eight USB or NUC CEC adapters or through hardware such as the Raspberry Pi.

### Project history

Pulse-Eight presents libCEC as an abstraction layer for the HDMI CEC bus: developers can interact with TVs, receivers, and other HDMI devices without implementing vendor-specific handshaking and message quirks themselves. The GitHub README says the library supports Pulse-Eight USB-CEC hardware and other CEC-capable hardware including Raspberry Pi, Exynos SoCs, NXP TDA995x, and Odroid C2.

The support documentation describes libcec as the open source library powering all Pulse-Eight CEC adapters, including cec-client, CEC-Tray, Standby Monitor, EventGhost integration, and third-party media-center applications.

### Adoption history

libcec's most visible adoption is in media centers. Pulse-Eight says the library is used by popular media-center platforms, and the Kodi wiki documents Kodi's use of libCEC to receive TV-remote commands and send CEC messages over HDMI. That made libcec a common dependency on HTPC, Raspberry Pi, LibreELEC, OSMC, and Kodi-style systems.

Distributions package libcec because it is both a hardware enablement library and a useful command-line tool provider. The cec-client utility gives shell scripts and diagnostics direct access to HDMI-CEC traffic, while GUI media centers use the same library for remote-control integration.

### How it is used

Users commonly run cec-client to scan the HDMI-CEC bus, send power/input commands, or debug remote-control traffic. Applications link libcec when they need CEC support without handling USB adapter protocols, Raspberry Pi CEC interfaces, or vendor differences directly.

### Why package nerds care

libcec is a neat package because it turns a messy living-room hardware protocol into a Unix dependency and CLI. It is also one of the rare Homebrew/Linux packages whose value depends on a physical HDMI topology: the same binary can be boring on a laptop and essential on an HTPC behind a TV.

### Timeline

- 2010s: Pulse-Eight developed libCEC around USB and internal HDMI-CEC adapters for HTPC use.
- 2018: Kodi wiki page for CEC was updated for Kodi v18 and documented libCEC as Kodi's CEC layer.
- 2025-06: Pulse-Eight support documentation listed libcec 7.1.1 as released in June 2025.
- 2025-06-23: GitHub release listing shows libcec-7.1.1.

### Related projects

- Related projects include Kodi, Plex-style media centers, LibreELEC/OSMC systems, Raspberry Pi firmware and CEC support, Pulse-Eight USB-CEC and NUC adapters, EventGhost, and HDMI-CEC vendor implementations such as Anynet+, Bravia Sync, SimpLink, and VIERA Link.

### Sources

- <https://formulae.brew.sh/formula/libcec>
- <https://github.com/Pulse-Eight/libcec>
- <https://kodi.wiki/view/CEC>
- <https://libcec.pulse-eight.com/>
- <https://support.pulse-eight.com/support/solutions/articles/30000053002-what-is-the-pulse-eight-cec-adapter-and-libcec->


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libcec
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - cec-utils - 7.0.0-1+b1: normalized package name match | Debian stable package indexes: cec-utils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | USB CEC Adaptor communication Library (utility programs) | http://libcec.pulse-eight.com/
- Debian apt - libcec-dev - 7.0.0-1+b1: normalized package name match | Debian stable package indexes: libcec-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | USB CEC Adaptor communication Library (development files) | http://libcec.pulse-eight.com/
- Debian apt - libcec7 - 7.0.0-1+b1: normalized package name match | Debian stable package indexes: libcec7 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | USB CEC Adaptor communication Library (shared library) | http://libcec.pulse-eight.com/
- Nix - libcec: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libcec/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - cec-utils - 6.0.2-1ubuntu6: normalized package name match | Ubuntu 24.04 LTS package indexes: cec-utils from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | USB CEC Adaptor communication Library (utility programs) | http://libcec.pulse-eight.com/
- Ubuntu apt - libcec-dev - 6.0.2-1ubuntu6: normalized package name match | Ubuntu 24.04 LTS package indexes: libcec-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | USB CEC Adaptor communication Library (development files) | http://libcec.pulse-eight.com/
- Ubuntu apt - libcec6 - 6.0.2-1ubuntu6: normalized package name match | Ubuntu 24.04 LTS package indexes: libcec6 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | USB CEC Adaptor communication Library (shared library) | http://libcec.pulse-eight.com/
- Ubuntu apt - python3-cec - 6.0.2-1ubuntu6: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-cec from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Python 3 bindings for USB CEC Adaptor | http://libcec.pulse-eight.com/
- apk - libcec - 7.1.1-r1: normalized package name match | Alpine Linux edge package indexes: libcec from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | libcec for the Pulse-Eight USB-CEC adapter | https://github.com/Pulse-Eight/libcec
- apk - libcec-dev - 7.1.1-r1: normalized package name match | Alpine Linux edge package indexes: libcec-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | libcec for the Pulse-Eight USB-CEC adapter (development files) | https://github.com/Pulse-Eight/libcec
- apk - libcec-tools - 7.1.1-r1: normalized package name match | Alpine Linux edge package indexes: libcec-tools from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | libcec for the Pulse-Eight USB-CEC adapter (tools) | https://github.com/Pulse-Eight/libcec
- apk - py3-libcec - 7.1.1-r1: normalized package name match | Alpine Linux edge package indexes: py3-libcec from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | libcec for the Pulse-Eight USB-CEC adapter | https://github.com/Pulse-Eight/libcec
- dnf - libcec - 8.1.3-1.fc45: normalized package name match | Fedora Rawhide package metadata: libcec from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | Library and utilities for HDMI-CEC device control | http://libcec.pulse-eight.com/
- dnf - libcec-devel - 8.1.3-1.fc45: normalized package name match | Fedora Rawhide package metadata: libcec-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | Development files for libcec | http://libcec.pulse-eight.com/
- dnf - python3-libcec - 8.1.3-1.fc45: normalized package name match | Fedora Rawhide package metadata: python3-libcec from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | Python3 bindings for libcec | http://libcec.pulse-eight.com/
- pacman - libcec - 7.1.1-2: normalized package name match | Arch Linux sync databases: libcec from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Pulse-Eight's libcec for the Pulse-Eight USB-CEC adapter | http://libcec.pulse-eight.com/


## Related links

- [Secret-risk packages](https://pkg.so/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://pkg.so/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://pkg.so/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [cmake](https://pkg.so/brew/cmake/) - Build dependency declared by Homebrew.
- [openexr](https://pkg.so/brew/openexr/) - Shares pkgdb curated category or tags: cli, library, media.
- [imagemagick](https://pkg.so/brew/imagemagick/) - Shares pkgdb curated category or tags: cli, library, media.
- [graphite2](https://pkg.so/brew/graphite2/) - Shares pkgdb curated category or tags: cli, library, media.
- [libvmaf](https://pkg.so/brew/libvmaf/) - Shares pkgdb curated category or tags: cli, library, media.
- [poppler](https://pkg.so/brew/poppler/) - Shares pkgdb curated category or tags: cli, library, media.
- [libheif](https://pkg.so/brew/libheif/) - Shares pkgdb curated category or tags: cli, library, media.
- [libavif](https://pkg.so/brew/libavif/) - Shares pkgdb curated category or tags: cli, library, media.
- [jasper](https://pkg.so/brew/jasper/) - Shares pkgdb curated category or tags: cli, library, media.
- [serialosc](https://pkg.so/brew/serialosc/) - Local package facts share a topical domain. Shared terms: cli, control, device, devices, media.
- [isponsorblocktv](https://pkg.so/brew/isponsorblocktv/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, client, media, tv.
- [libcdio](https://pkg.so/brew/libcdio/) - Local package facts share a topical domain. Shared terms: cli, control, library, media.

## Combined YAML source

View the package source record on GitHub. [combined/libcec.yml](https://github.com/mxcl/pkgdb/blob/main/combined/libcec.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
