Linux: Logitech G15 with Ubuntu 9.04 Jaunty
This is another of those things that used to be quite difficult but due to the ongoing diligence of the coders is now awesomely easy. Let’s begin.
First of all use the ubuntu repository to get g15daemon and g15composer. These are the programs that actually control the lcd at the lowest level:
So once these scripts start up you should see a giant clock on your lcd screen – success at mark one. The buttons also work: the circle on the left does nothing yet (it does, but nothing useful yet). The first button changes between 12 and 24 hour, thesecond changes options on the screen. The third changes the visible screen and the fourth does nothing. From here you can also get the audacious plugin to use these programs directly:
Then start audacious and go ctrl + P, then plugins -> visualization and click G15daemon Visualization Plugin. This screen is pretty cool so if a clock and audacious spectrum is enough for you, I would stop here. If you want more we will move on to LCDproc. I found it easier here to get the main program from the ubuntu repositories:
This will get the program and install everything inthe right places, unfortunately however it doesn’t seem to like installing the g15 driver when it does it. To get this we will download the source and build the driver, and then copy it to the normal place that the lcdproc drivers live. First we will install some more supporting programs:
Also for reference everything above I found on this blog. Below however I will deviate a bit to make it a bit easier. We’ll get the source the same as normal:
sudo aptitude source lcdproc
tar -xvzf lcdproc*
Now we have the source in a folder call lcdproc-0.5.x – for me this is 0.5.2 so I’ll use that from here in. Note you may need to change the tar line above to point to the file you downloaded. Now on to compiling:
./configure –enable-drivers=g15
make
This will tell the source to specifically build the g15 driver along with the server. Now we’ll just set up the lcdproc file and check the paths. Stay in this folder but execute:
This is the config file for the server that connects to the low level G15 hardware. From here clients connect to this and send it what to display. So firstly, in the [server] section, go down and find
Change this to
Skip down to the section that is talking about serverscreen and uncomment the line that says
This will stop the server information (that you will see in just a second) from fighting with the proper screens that you want to see. Finally skip down to a line that looks something like
(etc. – this is what mine says). Copy this to gedit or whatever and hit ctrl-X and save. You can edit the rest of that file if you want it is very well documented; just remember to back it up first.
So now we will copy the driver we compiled to this directory. For me this was of course done with
From where I was, or to use the full paths:
Yours may be slightly different for different lcdproc versions / different configurations of where lcdproc is looking for drivers. Now everything is set up we can restart the lcd daemon with the new settings:
If everything worked out you should now see a screen that says “LCDproc Server” across the top and Clients / Screens down the side. This meens the server is successfully talking to the g15 daemon, which is successfully talking to the lcd. But this is more boring than the last thing it was doing you may say. But of course, we have set up the server but not a client to connect to it and tell it what to do. Run
as any user and you will see … the time. Then it will switch to some nice system stats, and continue to cycle through random screens and the lcdproc server screen. Now the left and right square buttons move more quickly between screens. The large circle button changes between the default g15composer program and the new lcdproc daemon client program. Note also: this last little bit I got from reading between the lines of http://linuxgazette.net/issue77/taneja.html.
You’ll probably want to kill it for a sec so you can configure it and restart it:
From here it is up to you as to what you want displayed on the screen. I think it is generally easier to have only one screen active at once, switching between them is kinda distracting. The easiest way to set screens to on or off seems to be to edit the default configuration file:
The file seems well commented and fairly easy to follow. If you set all the screens to off then you can also switch them back on manually using eg
for the cpu screen. When using this screen you may want to set foreground=true in lcdproc.conf to make it easier to test the different screens. You can see a full list of these commands for lcdproc by typing
Alternatively a lot of programs can access LCDProc directly – a major one is xbmc (post more in the comments – what do you want to use the lcd for?). That is about it though. So
FIN
Tags: G15, g15composer, g15daemon, keyboard, LCD, LCDd, lcdproc, Linux, Ubuntu
September 28th, 2009 at 9:01 pm
cool beans!
January 26th, 2010 at 5:33 am
This is why open source is the way to go. XBMC is a fine example of that
January 29th, 2010 at 5:27 am
Love your guide, tried it out for Ubuntu 9.10, but it did not seem to work.
cd ~/Downloads/
sudo aptitude source lcdproc
tar -xvzf lcdproc*
At this point, the sudo aptitude source lcdproc returned an error. Also, in Audacious, the checkbox for the g15 box keeps unchecking itself everytime I close the program.
January 30th, 2010 at 9:22 am
I’m glad you like the guide. Can you post the error for me?
The point of aptitude source is simply to download the source from repositories so that you can build the package with your specifications. In this guide we use it because the binary package for lcdproc doesn’t include the G15 drivers. So what can we try first?
1. I’m guessing your error would simply be cannot find the package. You can try sudo aptitude update (on the off chance it will turn up), or add another repository that might have it https://help.ubuntu.com/community/Repositories/Ubuntu#Adding%20Ubuntu%20Software%20Repositories.
2. For some strange reason you may not have the universe repository enabled where lcdproc lives (check out the same link).
3. Worst comes to worst you can download the source directly from sourceforge http://sourceforge.net/projects/lcdproc/.
Note if you take this route I wrote this guide to work with lcdproc 0.5.2. It should work with 0.5.3, but if you get errors try to roll back what you’ve done and try again with the lower version.