sonyfxd

Warning: This is alpha software and interfaces directly with the hardware. It may cause your system to stop working. We are not responsible for any damage caused to your system from this software. There is no warranty whatsoever associated with it.

sonyfxd is a daemon that will answer the Fn and PPK buttons. Assuming you are running X, it will allow you to change the volume, mute the audio system, and change the brightness of the screen.

Updated to Version 0.1.2 (See ChangeLog)

What it does

sonyfxd runs in the background and listens to requests. When a request comes in, it executes the instruction found in the configuration file. It also has support for muting the volume, changing the volume, and changing the brightness. It allows you to do this by popping up an X window, where you can change the value. You can exit the window by pressing Enter to keep the current value or Escape to return to the original value. It will also automatically close after three seconds of inactivity.

Installation

Please read this section carefully, and follow it exactly. The software has little error checking built in and will likely crash if not everything is perfect.

  1. Make sure you have a complete development environment on your computer. You do not need to build it on your laptop, but you do need a recent kernel (and the kernel include files).
  2. Download, compile, and install the dotconf library. I am using this library to parse the configuration file - saved me a lot of time. If you are using an RPM based system, you can become root, download the file, and execute an rpm -ta dotconf.tar.gz (replace the filename with the correct name) to build RPM packages.
  3. Now make sure you have a kernel with the correct sonypi patches (see my Vaio 220 web page for more information). This will enable you to use all three of the PPK keys. You do not need the ACPI patches, but they may be helpful in the long run.
  4. You need to make sure the sonypi module is loaded at start up each boot. An easy way to do this (if you have Mandrake), is to add sonypi nojogdial=1 fnkeyinit=1 to /etc/modules. Note that the options used in that line are the ones you need to load in order to use all the keys.
  5. By default, /dev/sonypi is only writable by root. If you want non-root users to be able to use the software (you do want this), add (if you have devfs enabled) chmod 777 /dev/misc/sonypi or (if you don't have defs enabled) chmod 777 /dev/sonypi to /etc/rc.d/rc.local.
  6. Now we have to compile. Download the latest release, unpack the source (tar jxf sonyfxd-<version>.tar.bz2), and cd to the new directory (sonyfxd-<version>) You now have a choice - if you just want a background daemon to run that will let you lauch programs when the Sony keys are pressed, type in ./configure --without-x. If you want to be able to change volume, mute, and change the LCD brightness in X using sonyfxd, type in ./configure. Also, you can add --prefix=/usr to either of the two previous commands if you want the software to install into /usr/bin and /usr/share/sonyfxd. Otherwise, it will install into /usr/local/bin and /usr/local/share/sonyfxd.
  7. Now, type in make, and wait for the build process to complete. If no errors are reported, become the superuser (su), type in make install to install the program. If you ever want to uninstall the program, typing make uninstall should do the job.
  8. The last thing that has to be done is to create the configuration file. There is a sample in the package, which is called sample.conf. It has comments which will let you know what each option does. Once you have customized it to your needs, copy it to /etc/sonyfxd.conf (or to .sonyfxd.conf in your home directory).
  9. Finally, we need to start the daemon. The best way (I think) is to add a few lines into /etc/X11/Xsession. This file starts the window manager, and will start the sonyfxd process as the new user. I just added the following lines near the beggining of the file:
    if [ -f ~/.sonyfxd.conf ]; then
        /usr/bin/sonyfxd -C ~/.sonyfxd.conf &
    elif [ -f /etc/sonyfxd.conf ]; then
        /usr/bin/sonyfxd -C /etc/sonyfxd.conf &
    fi
    
    This will start the process up with either the user's preferences if they have them, or the global file if they do not.
  10. The daemon uses three files for background images. They are installed in /usr/local/share/sonyfxd or /usr/share/sonyfxd, depending on what options you gave the configure script. You can change those files - just keep the same size and file format (xpm). This is the same size as the backgrounds that Sony uses for the Windows versions. I am hoping Sony will allow me to distribute those backgrounds, but for now, I am just distributing very simple backgrounds.
Now, you're done. Test it out, and see if it works. Report any bugs you find, and if you want, help me out with coding it.

Command Line Options

sonyfxd accepts the following command line options:

-C <configfile>         Configuration File
-d                      Start in debug mode (do not fork into background)

Known Limitations

Back to the home page

SourceForge.net Logo

David Levitan <david@dlevitan.com>

Last Modified: 04/04/2002