CEC (Consumer Electronics Control) allows for control of devices over the HDMI port. Since v11 (Eden) XBMC comes with libCEC which allows control of the XBMC interface over the standard TV remote that comes with your TV. As buttons are pressed the remote command is sent via the HDMI cable to your XBMC device.
CEC allows you to do things such as:
- Controlling XBMC from the TV's remote control
- Automatically switch to the right TV input device
- Letting the HTPC control what mode your audio receiver is on when the TV switches on
- Turning all devices off with one remote
- Set volume/mute of the receiver
- And a lot more!
Settings for your CEC devices can be found in:
System -> Settings -> System -> Input Devices -> Peripherals -> CEC adapter
CEC uses the remote.xml keymap, so using that XML file will allow you to customize most buttons.
2 CEC-capable HTPCs
- Most HTPCs, such as x86 ("desktop"-class) HTPCs, don't have the ability to use CEC on their internal HDMI ports. Probably because the industry is silly. Those HTPCs will need to use an adapter to inject the CEC signal into the HDMI cable, such as the Pulse-Eight CEC USB adapter: http://www.pulse-eight.com/store/products/104-usb-hdmi-cec-adapter.aspx
- Some ARM/"Android boxes" have the ability to use CEC, but only expose some basic functions to XBMC. These functions are typically enough to use a TV remote to control that box. For example, the Amazon Fire TV has this kind of CEC functionality.
- Other devices, such as the Raspberry Pi, have more complete CEC abilities, and are completely built-in.
3 Trade names
There are different trade names for HDMI CEC, depending on who is the manufacturer of your device, so it doesn't have to be stated as HDMI-CEC. Find your manufacturer on this list and see what it is called for your device:
- AOC - E-link
- Hitachi - HDMI-CEC
- LG - SimpLink
- Loewe - Digital Link or Digital Link Plus
- Mitsubishi - NetCommand for HDMI
- Onkyo - RIHD (Remote Interactive over HDMI)
- Panasonic - VIERA Link or HDAVI Control or EZ-Sync
- Philips - EasyLink
- Pioneer - Kuro Link
- Runco International - RuncoLink
- Samsung - Anynet+
- Sharp - Aquos Link
- Sony - BRAVIA Link or BRAVIA Sync
- Toshiba - Regza Link or CE-Link
4 Devices Known to work
With different TV's and devices comes different compatibility. An up to date vendor support matrix can be found here, which lists which features are supported for each vendor.
Below is a list of TV's which are known to be working with CEC and XBMC:
- LG 47LS4600
- LG 47CS570
- LG LM620T
- LG 37LG6000
- LG 42LD420
- LG 42LD550
- LG 60PM6700 (Most of the expected buttons work, EXCEPT the number & channel buttons)
- LG 32LN572B (2013 model tested on Raspberry Pi running OpenELEC 3.2.3. The regular TV remote control works except forward and rewind but the left and right skip keys works so it's quiet useable. The Magic Remote also seems to work but haven't been tested properly)
- Panasonic TXL-47DT50
- Panasonic Viera GT30
- Panasonic Viera GT60
- Panasonic Viera S60
- Panasonic Viera ST50
- Panasonic Viera TH-42PX80E
- Panasonic Viera TH-42PZ85E
- Panasonic Viera TH-P42S10A
- Panasonic Viera TH-P50G10A
- Philips 37PFL6007K
- Philips 47PFL5007K
- Samsung ES6800
- Samsung LE32B650
- Samsung LE37D570
- Samsung LE40C650
- Samsung LN46D610/LN46D630
- Samsung UE40C7700
- Samsung UE46F8000
- Samsung UE50EH5300
- Samsung UE55F6510
- Sharp LC-52D83X
- Sony Bravia KDL-32W5500 (Guide button doesn't work as context menu - reassign a coloured button for this function)
- Sony Bravia KDL-40M4000
- Sony Bravia KDL-46EX520
- Sony Bravia KDL-40HX705
- Sony Bravia KDL-46HX800
- Sony Bravia KDL-46NX715
- Sony Bravia KDL-52NX800
- Sony Bravia KD-55X9004A
- Sony NSX-40GT1 (Google TV)
- Vizio M-Series
4.2 Home Cinema Systems
- Marantz SR7005
- Onkyo HT-R390 Amplifier
- Sony STR-DH820
- Yamaha RX-V473 AV-Receiver
- Yamaha RX-V1071 AV Receiver (only on HDMI Out 1)
- Epson EH-TW6100
4.4 XBMC Devices
HDMI ports on computers (onboard or via GPU) do not have the CEC feature, but can use a CEC adapter such as this one from Pulse-Eight: http://www.pulse-eight.com/store/products/104-usb-hdmi-cec-adapter.aspx
Some recent Intel motherboards come with a new HTPC header, to connect Pulse-Eight's internal HDMI CEC adapter: http://www.pulse-eight.com/store/products/117-internal-hdmi-cec-adapter.aspx
4.4.1 Intel NUC
Intel Graphics doesn't support CEC commands (http://www.intel.com/support/graphics/sb/CS-034397.htm under "What are the differences between different HDMI versions?") and a Pulse-Eight adapter is required. Both the external USB adapter and the internal adapter (http://www.intel.com/support/motherboards/desktop/sb/CS-034631.htm) works.
4.4.2 Raspberry Pi
The Raspberry Pi GPU has CEC support which is supported by libCEC, and is therefore fully supported by XBMC.
4.5 Common Issues with CEC
When "setting up" CEC make sure your configuration uses good HDMI cables. Especially cheap cables - still able to support 1080p without any problems - have been reported to cause problems with CEC (eg. devices like raspberry not showing up in the CEC menu at all, devices showing up but remote not working, etc).
Using better HDMI cables might resolve that problem.
There are also reports of devices with improper HDMI CEC implementation, such as ROKU streaming box, causing problems with CEC device recognition. Disconnecting non-CEC devices, or upgrading firmware on those devices, may resolve the problem.