Boblight, Wylight -> Ambilight
For a long time the ambilight feature was on our list. We always believed the WyLight is capable to be used as a responsive ambilight, but we actually never did it for real.
Two weeks ago, was the right time to try it. So I did a quick search on google for 'linux ambilight' and I instantly found boblight
From the first moment it made a good impression. No hidden download, the code compiled without issues and the config files are easy to navigate.
Within minutes the boblight daemon is prepared:
svn checkout http://boblight.googlecode.com/svn/trunk/ boblight-read-only cd boblight-read-only/ ./configure make sudo make install
See the original docu at https://code.google.com/p/boblight/wiki/Compiling
Boblight supports different types of target devices.
We used the 'popen' type. For such devices, the boblight daemon is configured to run an executable and send RGB float values to the standard input of the created process.
This interface made it very easy to write such an executable which reads three floats from stdin, convert them to WyLight rgb values and push them to the WyLight.
You find an example boblight.conf in our GitHub Repository
For a first test all you have to do is change the 'output' line according to your own setup:
output /home/WyLight/boblight/bobwylight.bin 192.168.101.38
To create the bobwylight.bin:
# clone the WyLight repository git clone firstname.lastname@example.org:polybassa/WyLight.git cd WyLight/ # build the WyLight control library make library # build the bobwylight wrapper executable cd boblight/ make
That's it! Your WyLight just became an ambilight!
Test it yourself and run:
boblight-constant FF0000 boblight-constant 00FF00 boblight-constant 0000FF
Now, you can use 'boblight-X11' to enable your ambilight
See 'boblight-X11 -help' for details
boblight-X11 -help Usage: boblight-X11 [OPTION] options: -p priority, from 0 to 255, default is 128 -s address:[port], set the address and optional port to connect to -o add libboblight option, syntax: [light:]option=value -l list libboblight options -i set the interval in seconds, default is 0.1 prefix the value with v to wait for a number of vertical blanks instead -u set the number of pixels/rows to use default is 64 for xrender and 16 for xgetimage -x use XGetImage instead of XRender -d debug mode -f fork -y set the sync mode, default is on, valid options are "on" and "off"