LCDproc

From MythTV Official Wiki
Revision as of 22:56, 26 September 2008 by Mattwire (Talk | contribs)

Jump to: navigation, search

Fusion.jpg


LCDproc is the software used to drive either LCD or VFD Displays on your MythTV Case.

LCDproc consists of a server daemon called LCDd that drives the LCD/VFD, and a collection of client applications tells the server what to display. There are also a collection of driver stubs for different LCD/VFD's. The stubs talk to the driver for your specific display.

Many Home Theater PC Cases now include VFDs from SoundGraph's iMon family of VFD displays. These typically are connected to your system through a USB port.

The Driver for the SoundGraph iMon comes bundled with the latest LIRC package which most modern Linux distributions will have installers for. The driver name is lirc_imon.

Also check Imon for more info on imon.


Setting up LCDproc

The following assumes your home directory is /home/mythtv and uses the imon VFD driver as an example

You will need the following packages pre-installed on your version of Linux -GCC, Make, Automake, Autoconf,ncurses, lirc, kernel headers, cvs.

First download the source package from LCDproc Website into your home directory
Or follow the LCDproc CVS source install instructions for the latest CVS tree.

You will now have a directory called lcdproc-0.51. Now lets build the LCDproc package.


> cd lcdproc-0.51 
>./configure --enable-drivers=all
> make
> cd shared
> make
> cd ../server
> make
> # run next command as root
> make install

Create a directory called "lcd" in your home directory and copy the imon driver and configuration file to it

> cd /home/mythtv 
> mkdir lcd
> cd /home/mythtv 
> cp lcdproc-0.51/servers/drivers/imon.so lcd/imon.so
> cp lcdproc-0.51/LCDd.conf lcd/LCDd.conf

Edit the LCDd.conf file to specify your driver as well as the driver path. Here are the snippets from my LCDd.conf

# The following drivers are supported:
#   bayrad, CFontz, CFontz633, CFontzPacket, curses, CwLnx, EyeboxOne,
#   g15, glcdlib, glk, hd44780, icp_a106, imon, IOWarrior, irman,
#   joy, lb216,lcdm001, lcterm, lirc,MD8800, ms6931, mtc_s16209x,
#   MtxOrb, NoritakeVFD, pyramid, sed1330, sed1520, serialVFD,
#   sli, stv5730, svga, t6963, text, tyan, ula200, xosd
 Driver=imon
# Where can we find the driver modules ?
# IMPORTANT: Make sure to change this setting to reflect your
#            specific setup! Otherwise LCDd won't be able to find
#            the driver modules and will thus not be able to
#            function properly.
# NOTE: Always place a slash as last character !
DriverPath=/home/mythtv/lcd/

Now load the driver for the iMon and check that works

> modprobe lirc_imon
> echo "Hello MythTV and good morning" > /dev/lcd0

"Hello MythTV and good morning" should now be on the display.


NOTE: This won't work for the Antec Fusion V2 Black which has a graphical LCD. If you have a recent version of lirc_imon try this:

> modprobe lirc_imon is_lcd=1

If you try and echo text to /dev/lcd0 you should get "Invalid Argument". Then configure and run LCDd. Text should appear on the display.


Here is the dmesg output after the driver has loaded

lirc_dev: IR Remote Control driver registered, at major 61 
/usr/src/packages/BUILD/lirc-0.8.0/obj/default/lirc_imon//lirc_imon.c: Driver for Soundgraph iMON MultiMedian IR/VFD, v0.3
/usr/src/packages/BUILD/lirc-0.8.0/obj/default/lirc_imon//lirc_imon.c: Venky Raju <dev@venky.ws>
/usr/src/packages/BUILD/lirc-0.8.0/obj/default/lirc_imon//lirc_imon.c: imon_probe: found IMON device
lirc_dev: lirc_register_plugin: sample_rate: 0
/usr/src/packages/BUILD/lirc-0.8.0/obj/default/lirc_imon//lirc_imon.c: imon_probe: Registered iMON plugin (minor:0)
/usr/src/packages/BUILD/lirc-0.8.0/obj/default/lirc_imon//lirc_imon.c: imon_probe: iMON device on usb<1:3> initialized
usbcore: registered new driver lirc_imon


Now Run the LCDd server as root with our config file

# /usr/local/sbin/LCDd -c /home/mythtv/lcd/LCDd.conf

You will now see the following message on your VFD

LCDproc.jpg

Starting LCD PROC from boot

Need some words on how to autoload the driver as well as how to start LCDd

Put the following line in the beginning of the init script below.

/usr/local/sbin/LCDd -c /home/mythtv/lcd/LCDd.conf

Now LCDd and LCDproc automaticly starting during boot.


Note: There are "init" files available in the source distributions "scripts" folder, for various different distros:

[user@host lcdproc-0.5.1]$ ls -al scripts/
total 72
drwxr-sr-x 3 1000 ftp 4096 Jan 17 14:24 .
drwxr-sr-x 9 1000 ftp 4096 Jan 17 14:24 ..
drwxr-sr-x 4 1000 ftp 4096 Oct 14 09:06 debian
-rw-r--r-- 1 root ftp 1157 Jan 17 14:22 init-LCDd.debian
-rw-r--r-- 1 1000 ftp 1134 Oct  7 00:02 init-LCDd.debian.in
-rw-r--r-- 1 root ftp 2265 Jan 17 14:22 init-LCDd.rpm
-rwxr-xr-x 1 1000 ftp 2237 Oct  6 00:02 init-LCDd.rpm.in
-rw-r--r-- 1 root ftp 1195 Jan 17 14:22 init-lcdproc.debian
-rw-r--r-- 1 1000 ftp 1172 Oct  7 00:02 init-lcdproc.debian.in
-rw-r--r-- 1 root ftp 2270 Jan 17 14:22 init-lcdproc.rpm
-rw-r--r-- 1 1000 ftp 2243 Oct  7 00:02 init-lcdproc.rpm.in
-rw-r--r-- 1 root ftp 8672 Jan 17 14:24 Makefile
-rwxr-xr-x 1 1000 ftp  222 Oct  6 00:02 Makefile.am
-rw-r--r-- 1 root ftp 8375 Jan 17 14:24 Makefile.in

You need to copy the appropriate file to your init folder. i.e. on Fedora you would (as root):

# Copy file to init folder:
[root@host lcdproc-0.5.1]# cp scripts/init-LCDd.rpm /etc/init.d/LCDd

# Make the script executable
[root@host lcdproc-0.5.1]# chmod 755 /etc/init.d/LCDd

# Add the script to chkconfig
[root@host lcdproc-0.5.1]# chkconfig LCDd --add

# Tell the machine to start on boot:
[root@host lcdproc-0.5.1]# chkconfig LCDd on


If you put your config file in a different directory other than the default ( /usr/local/etc/LCDd.conf ) such as /home/mythtv/lcd/LCDd.conf
Edit the location of the configuration file in /etc/init.d/LCDd

Edit the following line in /etc/init.d/LCDd
configfile=${etc}/LCDd.conf

Change it to match your new configuration directory
configfile=/home/mythtv/lcd/LCDd.conf


# Start the daemon now:
[root@host lcdproc-0.5.1]# service LCDd start


Now go and configure MythTV's LCD server Mythlcdserver

Associated articles