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  boblight-read-only
cd boblight-read-only/
sudo make install

See the original docu at

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

To create the bobwylight.bin:

# clone the WyLight repository
git clone
cd WyLight/

# build the WyLight control library
make library

# build the bobwylight wrapper executable
cd boblight/

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]


  -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"
comments powered by Disqus