Music Visualizer for Squeezelite (libvisual/ProjectM)

screenshot 1 screenshot 1 screenshot 1


This package provides a number of visualizations for squeezelite (~20 different ones, some with multiple modes and/or presets (e.g. projectM includes ~280 presets)). It's based on libvisual and projectM).



  • download the binary package
  • untar to / (tar -C / -xzf sqlvis-bin-x.y.z.tar.gz), which will create /opt/libvisual-0.5/...
  • install the prerequisites (see below)
  • edit /opt/libvisual-0.5/etc/se-mac.conf and adjust the MAC adress to the one squeezelite is bound to (check in the LMS web interface, or start squeezelite with -v -d all=info)


squeezelite must run on the same computer with visualization enabled (the -v flag).

This package includes a program called lv-tool to display the visualizations:

  • Execute /opt/libvisual-0.5/bin/lv-tool -h to see all option
  • Execute /opt/libvisual-0.5/bin/lv-tool --plugin-help to see which visualizations are available.

Example: /opt/libvisual-0.5/bin/lv-tool -i squeezelite -a projectM -D 1200x800

Hint: You can cycle through the different visualizers using the mouse buttons / wheel. ESC exits.


The following packages have to be installed:

  • libSDL 1.2
  • Open GL (Mesa)
  • ALSA
  • liborc (Oil Runtime Compiler)
  • expat
  • libpng 1.6
  • projectM (optional but recommended; should be installed in /usr), which will in turn depend on:
    • freetype
    • ftgl
    • glew

As these are fairly common packages, they should be available from your distribution's package management.


If you want to run this on another platform than 64bit x86 Linux, you'll have to build it yourself. Most likely, only *nix based OSes (Linux, BSD) will work. Windows certainly will not.

If you know cmake, building is fairly straightforward:

  • make sure you have all libraries, headers and build tools available
  • build and install the libvisual package into /opt/libvisual-0.5
  • for the next step, pkg config needs to be configured to include the installed libvisual (adjust path if necessary): export PKG_CONFIG_PATH=/opt/libvisual/lib64/pkgconfig
  • build and install the libvisual-plugins package into /opt/libvisual-0.5


This is an quick hack based on an unreleased version of an unstable library. That being said, it has run flawlessly on my setup for hours without crashing.

Credits / technical background

Basically, this is the current master branch of libvisual on github (pre 0.5, which hasn't been released). I wrote an input plugin for squeezeelite, and ported the projectM plugin to this version.


Use the discussion thread in the LMS Forum.