This is a tutorial on how to build Clementine on the Raspberry Pi. I used a Raspberry Pi 3 and the Raspian OS.
Note: Building Clementine on the Pi 1 takes a lot of time, around 8 hours. Compiling on the Raspberry Pi 2 or 3 is significantly faster.
What you need
- A Raspberry Pi obviously (Pi 2 or 3 recommended)
- At least a 8GB flash card (16GB recommended)
- Raspbian. Other distros might work as well.
Install prebuild version on Raspberry Pi
Install Clementine runtime dependencies
Raspbian doesn't have all necessary dependencies installed by default, so we have to do this now.
sudo apt-get install libcrypto++ libechonest2.1 libgpod4 liblastfm1 libprotobuf9 libqjson0 libqt4-opengl libqt4-sql gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio
Install
Download the precompiled version 1.3.1 from the GitHub releases:
wget https://github.com/clementine-player/Clementine/releases/download/1.3.1/clementine_1.3.1.jessie_armhf.deb
sudo dpkg -i clementine_1.3.1.jessie_armhf.deb
Setting up Clementine
Start Clementine with ./clementine
. The first start takes quite long as Clementine has to setup the database. After you see the main window, you should disable moodbar generation and glowing. They take too many resources you need for playback.
Now you can add your music to your library and listen to it!
Note: Clementine is quite slow on the Raspberry Pi 1, so be patient when using it. Clementine Remote works very well on the Raspberry Pi. Perfomance on the Raspberry Pi 2 or 3 should be much better.
Spotify
Download and libspotify 12.1.103 beta from here
wget https://developer.spotify.com/download/libspotify/libspotify-12.1.103-Linux-armv6-bcm2708hardfp-release.tar.gz
tar -xf libspotify-12.1.103-Linux-armv6-bcm2708hardfp-release.tar.gz
cd libspotify-12.1.103-Linux-armv6-bcm2708hardfp-release/
sudo make install
Download the clementine-spotifyblob
compiled for armhf
from here and paste it to .config/Clementine/spotifyblob/version16-32bit/blob
(blob
is the filename)
mkdir -p .config/Clementine/spotifyblob/version16-32bit/
cp clementine-spotifyblob-armhf .config/Clementine/spotifyblob/version16-32bit/blob
Compile on Raspberry Pi
Dependencies
The same as on any linux distro:
sudo apt-get install liblastfm-dev libtag1-dev gettext libboost-dev \
libboost-serialization-dev libqt4-dev qt4-dev-tools libqt4-opengl-dev \
cmake libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libglew1.5-dev libqjson-dev libgpod-dev libplist-dev \
libusbmuxd-dev libmtp-dev libcdio-dev \
protobuf-compiler libprotobuf-dev libcrypto++-dev \
libfftw3-dev libsparsehash-dev libsqlite3-dev libpulse-dev \
libqtwebkit-dev libechonest-dev libchromaprint-dev libqca2-dev
Get the source
We will compile the stable 1.3.1 release. If you want to compile the master branch, don't execute git checkout release-1.3
.
git clone https://github.com/clementine-player/Clementine.git && cd Clementine
git checkout release-1.3
cd bin
Preparing the build enviroment
If you still use an old Raspberry Pi 1 with 512MB ram, you have to enable swap to compile Clementine:
sudo dd if=/dev/zero of=swapfile bs=1M count=512
sudo mkswap swapfile
sudo swapon swapfile
Compile
cmake ..
make -j4
After compiling
A swap file on a flash memory is not healty, so we remove the created swap file after compiling.
sudo swapoff swapfile
sudo rm swapfile