ASUS G1/G2/G50/G70/G71 OLED Daemon ================================== http://asusg50oled.sf.net/ Requirements: ------------- ASUS G50/G70/G71 OLED device: This command should print a line such: $ lsusb | grep 0b05:175b Bus 004 Device 002: ID 0b05:175b ASUSTek Computer, Inc. ASUS G1/G2 is also supported (0b05:1726) Copy config.properties.G1 over config.properties, the default layout is for G50 so it won't fit nicely on the smaller display. Java 1.6: On Ubuntu: $ sudo apt-get install sun-java6-bin ttf-mscorefonts-installer Make sure the following command returns a similar output: (any 1.6 or higher version will work) $ java -version java version "1.6.0_07" Java(TM) SE Runtime Environment (build 1.6.0_07-b06) Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode) asus_oled: Kernel <=2.6.28: http://lapsus.berlios.de/asus_oled.html Please download the latest from SVN, only that version will work with G50/G70/G71, and it's also better for G1/G2! $ svn co svn://svn.berlios.de/lapsus/asus_oled/trunk asus_oled Kernel >=2.6.29 Make sure CONFIG_ASUS_OLED is enabled, you have the sources in the kernel tree. The previous option is also available instead. Usage: ------ First try running "start.sh". The "Republic of gamers" text should be replaced by system monitoring. If the screen is unchanged, make sure that you loaded asus_oled: # modprobe asus_oled If it still doesn't work you should also check if you did load it before loading usbhid module. The following commands are required only for kernel version up to 2.6.27. If you run a newer kernel ("uname -a") then don't bother executing this and skip to the next section. For reference, Ubuntu 9.04 comes with 2.6.28 that doesn't need this trick. # rmmod usbhid; modprobe asus_oled; modprobe usbhid To make usbhid ignore the OLED device permanently you can add options usbhid quirks=0x0b05:0x175b:0x0004 to /etc/modprobe.d/usbhid then # depmod -ae # update-initramfs -u Also check out "leds.log" for error messages if it still doesn't work properly. Automatic start at boot: ------------------------ If everything is ok you can go to "utils" and run "install.sh" from there. This script installs the ACPI handlers for G50 that - start / stop the daemon from the leftmost blue button; - pause the daemon when the lid is closed; - (non-oled related) turn on / off the blue light around the touchpad from the "Run" blue button. It will also make the application start automatically at boot time. Notifications: -------------- You can use the notify.sh with any number of string parameters to print any text on the OLED display for 15 seconds. For Kopete instant messenger you can go to Settings -> Configure Notifications -> An incoming message has been received and clicking on Advanced you can put something like this under "Execute a program": /opt/asusg50oled/utils/notify_kopete.sh %s For Thunderbird you can install Mailbox Alert addon from https://addons.mozilla.org/en-US/thunderbird/addon/2610 then restart TB and, selecting the folder on which you want the notifications, go to Tools -> Mailbox Alert Preferences and use for example this string: /opt/asusg50oled/utils/notify.sh %sender %subject You probably want to go as high as possible in the folders hierarchy and check "Alert for child folders", but you still have to do the same for each account you want to get notifications for. Amarok and Kaffeine ------------------- These KDE applications can be queried by DCOP (KDE3 Amarok and Kaffeine) or DBUS (KDE4 Amarok). If the following commands work fine for you then by default you should see what they are currently playing. $ dcop --all-users amarok player title $ dcop --all-users kaffeine KaffeineIface title For Amarok 2 (KDE4): $ qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.GetMetadata In the default configuration only if none of these applications is running/playing you will get the system load and cpu usage. Text layout and configuration: ------------------------------ Please see the comments in config.properties, in principle you can re-arrange all the components on the screen, enable or disable individual sensors or create new modules to display something completely new. New modules: ------------ New monitoring modules can be added to the application by implementing the leds.Module interface. Take a look at the existing modules to get an idea of how to write a new one. All source files are included in the leds.jar archive. Or you can get the entire SVN with: $ svn co https://asusg50oled.svn.sourceforge.net/svnroot/asusg50oled/trunk asusg50oled to also get the Makefile used to compile the project. When you have the new module compiled make sure you modify the start.sh so that your module is in the CLASSPATH of the application then change config.properties and add the module to the list and restart the application. License: -------- This piece of software is licensed under LGPL. The developer doesn't assume any responsibilities regarding the code. Use it if you like it and feel free to change it to your needs. I'd like to get a copy of the changes in this case, but it's not a requirement :) Contact: -------- If you have problems with the daemon please drop me an email at: Costin Grigoras Enjoy, .costin