1 This library provides support for the Pulse-Eight USB-CEC adapter.
3 You can find a list of frequently asked questions on the following page:
4 http://libcec.pulse-eight.com/faq
6 ===============================================================================
8 ===============================================================================
10 libCEC needs the following dependencies in order to work correctly:
12 * cdc-acm support compiled into the kernel or available as module
13 * liblockdev 1.0 or later
15 To compile libCEC on Linux, you'll need the following dependencies:
16 * autoconf 2.13 or later
17 * automake 1.11 or later
20 * liblockdev 1.0 development headers
22 The following dependencies are recommended. Without them, the adapter can not
25 * udev development headers v151 or later
27 To compile, execute the following commands:
33 ===============================================================================
35 ===============================================================================
37 To compile libCEC on OS-X, you'll need the following dependencies:
38 * autoconf 2.13 or later
39 * automake 1.11 or later
41 * xcode 3.2.6 or later
43 To compile, execute the following command:
49 # Note: You may need to copy pkg.m4 to your m4 sources directory
51 ===============================================================================
53 ===============================================================================
55 To compile libCEC on Windows, you'll need Visual C++ 2010 or Visual Studio 2010
56 The installer needs the Windows DDK (Driver Development Kit) and Nullsoft's
59 To compile LibCecSharp on Windows, you'll need Visual C++ 2008 or Visual Studio
60 2008, because it is compiled against .NET 2.0.
62 To compile libCEC, follow these instructions:
63 * open /project/libcec.sln with Visual C++ 2010 or Visual Studio 2010.
66 To build an installer on Windows:
67 * download and install NSIS.
68 * go to /project and execute create-installer.bat to create the installer.
69 * the installer is stored as /build/libCEC-installer.exe
71 You will need both Visual Studio 2008 and Visual Studio 2010 to build the
72 installer from the command line. To build with Visual C++ 2008 and 2010,
73 you will need to manually build libcec with Visual C++ 2010 and then
74 build LibCecSharp.sln with Visual Studio 2008. See create-installer.bat
75 for the required steps.
77 ===============================================================================
79 ===============================================================================
81 We've included a script that builds libCEC with support for the Raspberry Pi
82 in /project/RPi/build.sh. This script pulls in the latest toolchain and
83 firmware, builds the necessary dependencies, and finally builds libCEC. The
84 result will be a softfp build.
86 To build libCEc on your development machine, follow these instructions:
87 * run '/project/RPi/build.sh /desired/destination/path/for/binaries'
90 To build libCEC on the Pi itself, just follow the instructions for Linux.
91 The configure script automatically checks whether the required headers and
92 libraries can be found.
94 To specify the path of the Raspberry Pi's development headers, use the
95 following option for 'configure':
96 --with-rpi-include-path="/path/to/opt/vc/include"
98 To specify the path of the Raspberry Pi's libraries, use the following option
100 --with-rpi-lib-path="/path/to/libbcm_host.so"
102 ===============================================================================
103 === CuBox / TDA995x ===
104 ===============================================================================
106 Solid-Run's CuBox uses a combined HDMI tranceiver / CEC controller by NXP. The
107 device driver for it is based on an SDK by the chip vendor and is compiled into
108 the Linux kernel. The following options for 'configure' have been introduced:
110 To enable support for the CuBox / TDA995x:
113 To specify the path to the SDK part of the kernel driver:
114 --with-tda995x-toolkit-path='path/to/linux/drivers/video/dovefb/nxp_hdmi'
116 If the toolkit path is not specified, it is assumed that a directory named
117 'nxp_hdmi' (or a link to it) exists in the top level of the source tree.
119 ===============================================================================
120 === Debugging / Testing ===
121 ===============================================================================
123 To compile libCEC with extensive debugging output, pass the following argument
124 to configure on Linux/OS-X/BSD:
127 We provide a test client, named cec-client, to debug the device.
128 To check whether the device can be detected, execute the following command:
131 "cec-client -h" shows a list of commands and options that are available.
133 ===============================================================================
135 ===============================================================================
137 We provide a C, C++ and .NET CLR interface to the adapter.
140 * the API can be found in /include/cec.h
141 * an example implementation can be found in /src/testclient/main.cpp
144 * the API can be found in /include/cecc.h
147 * add a reference to LibCecSharp.dll
148 * an example can be found in \src\CecSharpTester\CecSharpClient.cs
150 ===============================================================================
151 === Developers Agreement ===
152 ===============================================================================
154 If you wish to contribute to this project, you must first sign our contributors
155 agreement. Please see http://www.pulse-eight.net/contributors for more