st2205
Information
Check out the picframe project to get more information. There is a hacked firmware available, so you digital photoframe can be used as LCD4Linux display. \
Resolution: 128×128 Pixels (also 320×240)\
Quite cheap\
How to compile
You need the st2205 library and header files installed. They are available on the picframe wiki site.
Example config
Config-Example:
Display st2205u { Driver 'st2205' Port '/dev/sda' Font '6x8' Foreground 'ffffff' Background '000000' Basecolor '000000' } Widget OS { class 'Text' expression '*** '.uname('sysname').' '.uname('release').' - st2205 driver by Sprite ***' width 21 align 'M' speed 500 update tick Background '008000' Foreground 'ffffff' } Widget CPU { class 'Text' expression uname('machine') prefix 'CPU ' width 9 align 'L' update tick Background 'FFFFFF00' } Widget RAM { class 'Text' expression meminfo('MemTotal')/1024 postfix ' MB RAM' width 11 precision 0 align 'R' update tick Background 'FFFFFF00' } Widget Busy { class 'Text' expression proc_stat::cpu('busy', 500) prefix 'Busy' postfix '%' width 10 precision 1 align 'R' update tick Foreground 'ffffff' Background 'FFFFFF00' } Widget BusyBar { class 'Bar' expression proc_stat::cpu('busy', 500) expression2 proc_stat::cpu('system', 500) length 21 direction 'E' update tack Foreground 'ffffff' Background '00000080' BarColor0 '8f8fff' BarColor1 'ff8f8f' } Widget Load { class 'Text' expression loadavg(1) prefix 'Load' postfix loadavg(1)>1.0?'!':' ' width 10 precision 1 align 'R' update tick Foreground 'ffffff' Background 'FFFFFF00' } Widget LoadBar { class 'Bar' expression loadavg(1) max 2.0 length 21 direction 'E' update tack Foreground 'ffffff' Background '00000080' BarColor0 '8f8fff' BarColor1 'ff8f8f' } Widget Disk { class 'Text' # disk.[[:rw]]blk return blocks, we assume a blocksize of 512 # to get the number in kB/s we would do blk*512/1024, which is blk/2 # expression (proc_stat::disk('.*', 'rblk', 500)+proc_stat::disk('.*', 'wblk', 500))/2 # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat # therefore you have to use another function called 'diskstats': expression diskstats('hd.', 'read_sectors', 500) + diskstats('hd.', 'write_sectors', 500) prefix 'disk' postfix ' ' width 10 precision 0 align 'R' update tick Foreground 'ffffff' Background 'FFFFFF00' } Widget DiskBar { class 'Bar' #expression proc_stat::disk('.*', 'rblk', 500) #expression2 proc_stat::disk('.*', 'wblk', 500) # for kernel 2.6: expression diskstats('hd.', 'read_sectors', 500) expression2 diskstats('hd.', 'write_sectors', 500) length 21 direction 'E' update tack Foreground 'ffffff' Background '00000080' BarColor0 '8f8fff' BarColor1 'ff8f8f' } Widget Eth0 { class 'Text' expression (netdev('eth0', 'Rx_bytes', 500)+netdev('eth0', 'Tx_bytes', 500))/1024 prefix 'eth0' postfix ' ' width 10 precision 0 align 'R' update tick Foreground 'ffffff' Background 'FFFFFF00' } Widget Eth0Bar { class 'Bar' expression netdev('eth0', 'Rx_bytes', 500) expression2 netdev('eth0', 'Tx_bytes', 500) length 21 direction 'E' update tack Foreground 'ffffff' Background '00000080' BarColor0 '8f8fff' BarColor1 'ff8f8f' } Widget Uptime { class 'Text' expression uptime('%d days %H:%M:%S') width 20 align 'R' prefix 'Up ' update 1000 Background 'FFFFFF00' } Widget Bgnd { class 'Image' file 'bgnd.png' reload 0 update 0 inverted 0 visible 1 } Display 'st2205u' Layout mylayout { Row01.Col01 'OS' Row02.Col02 'CPU Row02.Col10 'RAM Row04.Col01 'Busy Row05.Col01 'BusyBar Row06.Col01 'Load' Row07.Col01 'LoadBar' Row08.Col01 'Disk' Row09.Col01 'DiskBar' Row10.Col01 'Eth0' Row11.Col01 'Eth0Bar' Row16.Col01 'Uptime' Layer 2 { X1.Y1 'Bgnd' } } Layout 'mylayout' Variables { tick 500 tack 200 minute 60000 }