1. you have to install lirc which provides kernel module ( driver ) support for soundgraph imon devices
pacman -S lirc
2. use the command, modinfo, to find out all parameters of a module
modinfo lirc_imon
--
filename: /lib/modules/2.6.33-ARCH/kernel/drivers/misc/lirc_imon.ko
..
..
parm: debug:Debug messages: 0=no, 1=yes(default: no) (int)
parm: display_type:Type of attached display. 0=autodetect, 1=vfd, 2=lcd, 3=vga, 4=none (default: autodetect) (int)
..
..
3. create a module setting for imon vfd
vi /etc/modprobe.d/lirc_imon.conf
--
options lirc_imon display_type=1
4. enable lirc_imon module
modprobe lirc_imon
after that, my linux created two device files, /dev/lirc0 /dev/lcd2
5. copy correct remote setting to /etc/lircd.conf, my model is imon pad
cp /usr/share/lirc/remotes/imon/lircd.conf.imon-pad /etc/lircd.conf
6. start lirc daemon
/etc/rc.d/lircd start
7. install LCDproc in AUR
yaourt lcdproc
8. edit server configuration file, /etc/LCDd.conf
vi /etc/LCDd.conf
--
..
..
Driver=imon
..
..
[imon]
# select the device to use
Device=/dev/lcd2
# display dimensions
Size=16x2
..
..
9. start lcdproc server daemon
/etc/rc.d/lcdd start
10. edit client configuration file, /etc/lcdproc.conf
vi /etc/LCDd.conf
--
# address of the LCDd server to connect to
Server=localhost
# Port of the server to connect to
Port=13666
# set reporting level
ReportLevel=7
# report to to syslog ?
ReportToSyslog=false
# run in foreground [default: false; legal: true, false]
#Foreground=true
# PidFile location when running as daemon [default: /var/run/lcdproc.pid]
#PidFile=/var/run/lcdproc.pid
# slow down initial announcement of modes (in 1/100s)
#delay=2
# display name for the main menu [default: LCDproc HOST]
#DisplayName=lcdproc
## screen specific configuration options ##
[CPU]
# Show screen
Active=True
OnTime=1
OffTime=2
ShowInvisible=false
[Iface]
# Show screen
Active=True
# Show stats for Interface0
Interface0=eth0
# Interface alias name to display [default: ]
Alias0=LAN
# Show stats for Interface1
#Interface1=eth1
#Alias1=WAN
# Show stats for Interface2
#Interface2=eth2
#Alias2=MGMT
# for more than 3 interfaces change MAX_INTERFACES in iface.h and rebuild
# Units to display [default: byte; legal: byte, bit, packet]
unit=bit
# add screen with transferred traffic
#transfer=TRUE
[Memory]
# Show screen
Active=True
[Load]
# Show screen
Active=True
# Min Load Avg at which the backlight will be turned off [default: 0.05]
LowLoad=0.05
# Max Load Avg at which the backlight will start blinking [default: 1.3]
HighLoad=1.3
[TimeDate]
# Show screen
Active=True
# time format [default: %H:%M:%S; legal: see strftime(3)]
TimeFormat="%H:%M:%S"
# date format [default: %x; legal: see strftime(3)]
DateFormat="%x"
[About]
# Show screen
Active=false
[SMP-CPU]
# Show screen
Active=false
[OldTime]
# Show screen
Active=false
# time format [default: %H:%M:%S; legal: see strftime(3)]
TimeFormat="%H:%M:%S"
# date format [default: %x; legal: see strftime(3)]
DateFormat="%x"
[BigClock]
# Show screen
Active=false
[Uptime]
# Show screen
Active=false
[Battery]
# Show screen
Active=false
[CPUGraph]
# Show screen
Active=false
[ProcSize]
# Show screen
Active=false
[Disk]
# Show screen
Active=false
[MiniClock]
# Show screen
Active=false
# time format [default: %H:%M; legal: see strftime(3)]
TimeFormat="%H:%M"
# EOF
11. run lcdproc as root because of the permission of default PidFile location
sudo lcdproc
12. various clients were made for different displays dimensions so the only way is modify the source code if you want to make a client fit for your lcd