https://bugs.kde.org/show_bug.cgi?id=510210
Bug ID: 510210
Summary: Add HDMI-CEC Integration to KDE Desktop Environment
(KDE 6.x)
Classification: Plasma
Product: kwin
Version First unspecified
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Severity: wishlist
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Summary
This task proposes integrating support for HDMI-CEC (Consumer Electronics
Control) into the KDE Plasma desktop. HDMI-CEC allows the desktop to send and
receive control commands over HDMI connections such as: turning on/off TVs or
switching active sources. This integration aims to improve user experience on
media setups and docking station configurations. These settings may come as a
surprise to users upon upgrade and as such should default to disabled/no
action.
Motivation
HDMI-CEC is widely supported by modern HDMI displays, but less so in modern
graphics cards. Supporting it in KDE would:
* Improve power management workflows by syncing display state with system
state.
* Enhance usability in home theater setups and digital signage.
* Enable login screen control of connected displays.
* Allow better handling of audio output routing via HDMI.
Proposed Implementation:
Core Integration:
* Use libcec as the backend library for HDMI-CEC communication.
* Abstraction for alternate implementations might be handy.
* Graceful fallback behavior if libcec or CEC hardware is not available.
* User notification if CEC hardware is present, but system configuration
prevents usage either due to missing bindings for libcec or missing permissions
on device nodes.
* Provide a list of devices discovered on the HDMI bus and their features.
Tasks / Workboard Breakdown:
Power Management Integration Configurable by End User or System Admin:
These settings should have system level defaults an Admin can control that are
inherited by End Users. The ability to perhaps tune the settings to individual
discovered devices might be interesting as users may want one set of values for
TV XYZ and another set of values for TV ABC.
* On screen off (e.g., suspend, lid close): send CEC standby.
* On screen on (e.g., resume, wake): send CEC power on.
* A further toggle for sending Set Active Source on resume.
Session Start / Login Integration Configurable by End User or System Admin:
These settings should have system level defaults an Admin can control that are
inherited by End Users. The ability to perhaps tune the settings to individual
discovered devices might be interesting as users may want one set of values for
TV XYZ and another set of values for TV ABC.
* On login: send CEC power on.
* User setting: toggle for sending Set Active Source on login.
Login Window Integration:
Add support for HDMI-CEC commands at the login screen. These should mirror the
Power Management and Session Start options - but be controlled separately.
Audio Integration (Optional)
Investigate whether PulseAudio or PipeWire routing can be influenced by CEC and
exposed to KDE.
Respect user input/output selection settings:
* If headphones or alternate output is active, then ignore CEC audio volume and
its settings.
* Add toggle to disable HDMI-CEC volume forwarding, allowing users to set TV
volume independently from system volume.
Permissions & Access Handling
Accessing /dev/cecX typically requires membership in dialout,video, or uaccess
rules.
KDE should not modify system permissions but:
* Show a clear message in System Settings if the device is detected but
permission is denied.
* Recommend enabling uaccess via PolKit for user-friendly operation.
Non-Goals / Out of Scope
Wake-on-CEC: Enabling the PC to boot when the TV powers on is firmware specific
and out of KDE’s control.
Shutdown-on-TV-Off: Powering off the PC when the TV turns off may confuse users
who are “on TTY2” and doing other troubleshooting. This also provides
consistency - if we don’t power up on an event we don’t power down on it
either.
UX Notes
All features should be available in System Settings.
There should be a widget in System Settings to test individual commands,
similar to the Audio test buttons “Front Left” and “Front Right” - only for the
CEC commands.
Detected CEC devices and the items found on the HDMI bus along with their
features should be exposed under “More System Information”
--
You are receiving this mail because:
You are watching all bug changes.