If Chris is in agreement and the concept of theme sharing is popular, we could have a sticky post with themes available for download. If you are not sure where your themes are stored, you will find them in C: Users User Name Documents AlienFX Themes. May I suggest you give a short description of what we can expect from each theme proposed. Alienware Windows Theme consists of 20+ Hi-Res Wallpapers, custom icons and sound clips. Feel the power of Alienware systems on your desktop with this Theme.
Control AlienFX lighting on Alienware Aurora computers running Linux
CAVEAT
This code is essentially a quick hack, with numerous stylisticinconsistances and other issues. The '#define's are legacy code - thecommand IDs could certainly be an enum, etc. Variable names are alsoinconsistent in places, the Command function could be split up, morechipset commands could be implemented; the list goes on. My objective wassolely to get uptime(1) to be reflected in my case colors, which limitedthe project's thoroughness. Despite this, I hope someone else will find ituseful.
INTRO
This software, alienfx(1) and alienfx-uptime(1), are utilities forcontrolling the AlienWare AlienFX LED case lighting system as seen on theAurora line, generally sold by Dell, from the linux command line. Supportstatus:
Aurora (non-ALX): worksAurora ALX: some testingArea51: untestedAllpowerfull: untested (and I'm skeptical of the the spelling)
I don't have the lighting info for any but the Aurora non-ALX version tested.I especially don't know any details about the Aurora ALX AlienFX chipset.Code diffs to update them the lighting descriptions are appreciated.If you email me anything about this software, please prefix 'alienfx:' tothe subject line.
It is not from, nor supported by, AlienWare in any way. AlienWare doesn'teven provide protocol documentation, so be aware that everything done herehas been constructed via reverse engineering or guesswork.
The AlienFX subsystem appears to the host computer as a USB-connected device,and takes simple commands, a subset of which are implement by this program.Instructions are also provided here for setting up the device withappropriate permissions and a pathname under Ubuntu Linux.
COMPILATION
This alienfx program relies on a number of packages, of which only thelibusb package generally ends up being tricky to install. The key linefrom the source to be aware of is:
#include <libusb-1.0/libusb.h>
which refers to the default layout of the following Ubuntu/Debian packages:
libusb-1.0-0 2:1.0.1-1 userspace USB programming librarylibusb-1.0-0-dev 2:1.0.1-1 userspace USB programming library development
So, on Ubuntu, the following should install the specific version needed:
apt-get install libusb-1.0-0-dev
To begin setup for compilation:
./configure
Optionally, specify the target directory area with --prefix=/usr/localor whatever is desired.
FINDING THE DEVICE
As root:
lsusb -v
...should return a chunk containing text resembling that below. Noteparticularly the idVender 0x187c which is AlienWare, and the idProduct 0x0513GS Desktop which identifies the Aurora version of the AlienFX lighting.
The idVendor and idProduct are used in the next step of the process.
INSTALLATION
In Linux with UDEV, you might want to allow users to access the AlienFX deviceby adding a file /etc/udev/rules.d/alienfx.rules with:
The above example allows access to the Aurora AlienFX for anyone in group'adm', and provides an extra symlink in /dev/alienfx (which this packagedoesn't use). Modify the ids as needed for different AlienFX hardware.OWNER can be used too, but a system group makes sense if the LEDs are goingto be active even without a user logged in.
For testing, you can dig up the devpath with:
(I'd actually used --attr-match=idProduct=0513 instead of the idVendor)
And then exercise the new file's content by sticking the result in placeof the $devpath in the following command,
Or if you're just lazy, copy and paste this combo:
If it works, you'll see correct permissions and ownership on whatever yoursystem has instead of /dev/bus/usb/007/002 (or whatever), and can see theactual path by looking at the /dev/alienfx symbolic link. Or, briefly:
$ ls -lL /dev/alienfxcrw-rw---- 1 root adm 189, 769 2010-11-01 17:33 /dev/alienfx
This code only implements direct access, rather than a sweet little daemonor something to field multiple connected clients or something.
It's horribly annoying that changing the color incurs something like atwo-second delay. This kind of hardware choice makes it impossible to dosmooth/fast crossfades, interesting flickers, and so on in a truly dynamicway. Sad. There's some question ask to whether 256 levels of r, g, and bare actually supported or just quantized to every 16 or so. There's nodocumentation online for the protocol either, so it's difficult todetermin whether the apparent misfeatures are actually hardware limitations.
USE
The alienfx-uptime effect is quite nice. :-)
Good luck!
NOTES ABOUT THE PACKAGING
The following files were actually pulled in from a larger build system:
- GNUmakecore.in
- config.h.in
- configure
- configure.ac
There are included in the repository in the hopes they'll make it easy tobuild alienfx without too much effort, but replacing the GNUmakefile outrightwith a simpler approach would also work.
The normal product of 'make dist' is generally available at the URL below, andincludes updating files from the surrounding build system:
THANKS
Some of the materials leading to this project were drawn from
- Benjamin Thaut - http://3d.benjamin-thaut.de/
- The AlienFXLite project
- Stefan Saraev - who threw my code on github before I did, added m11x,and noted a timing issue.
04.26.2012 , 11:43 AM | #1 | |
In anticipation for the release of SWTOR, and my eagerness to play and enjoy it, my wife purchased me a brand new PC as an early Christmas gift - an Alienware Aurora ATX. With this new system was a feature Alienware developed called AlienFX through which you can not only change the colors displayed by your system and some of the peripherals (like the TactX Keyboard and mouse), but also have the system itself change them when certain programs are run. Another feature of the alienFX is the ability for game developers to actually program their products to interact with a system's lighting through an API. Currently the list of games that do this is fairly short, but EVE and City of Heroes have both integrated it into their games and I am hoping this is something the developers of SWTOR would be interested into doing as well! One thing I would love to see it do is have the system flash gold when a character achieves a level. Unfortunately there is no way for an owner of a system with AlienFX to make this happen, it is reliant solely on developers to do so. My current placation for this is to have my default theme set to morph my system lights slowly between long sets red and blue, my mouse lights set to green, and the top keyboard zone set to blue and bottom zone (keys) set to red - whereas when I'm not playing I manually have to set it back to my non-SWTOR preferred theme of system-wide green with purple alienhead, mouse set to red, and keyboard set to top orange/bottom blue. Please consider at least looking into what the API integration entails, and hopefully it will be something fairly simple and low in time consumption so that it may be used. Thank you. |