Raspberry Pi 3 with Kodi, Netflix, Spotify Connect, Hyperion and RetroArch

I’m currently using an old Mac Mini from 2009 as my media center. I’ve updated it recently with more RAM and an SSD but it has its problems with Bluetooth, regardless my used bluetooth card or USB adapter. Before this setup I’ve used a Raspberry Pi 3 with LibreElec which I’ve now reactivated successfully.

I’m using the Mac Mini for hearing Spotify, watching Netflix and Sky Go Connect, SNES Emulator with Xbox 360 and PS3 Gamepads and of course Kodi as media center in combination with Hyperion on a Raspberry Pi 1 as Ambilight clone. I’ve had to replace all this functionality with the Pi 3, but luckily it is possible!

I’ve started with LibreElec (8.0.2 stable) and installed it on the Pi 3. I had to copy the necessary Kodi files for setting the used sources and mysql database, so that I get my existing library and its viewing status.

Hyperion was easy to install via HyperionRemote. I only had to enable guest control for external resources in Kodi, so that Hyperion could properly shut down the backlight while the main menu is being displayed.

The SNES emulator can be used on LibreElec using the Kodi add-on Gamestarter. Just follow the GitHub instructions.

My Xbox 360 Gamepads where installed without problems. I just had to connect them via the USB adapter and pair them with the adapter. They are usable in Kodi as well as in Gamestarter without further configuration. I think that PS3 gamepads will probably behave similar.

The Bluetooth Mac Keyboard and Trackpad can also be paired with the Pi 3 via LibreElecs system settings. This allows a better search since you don’t need to use the onscreen Keyboard.

For Spotify I’ve just wanted the Pi 3 to appear as a Spotify connect speaker. The mobile apps and my other machines in the network are a better solution to select the music I want to hear, so I just wanted the Pi 3 to appear as a target. The Librespot provides this cool feature and also enables you to add easily Spotify connect to other rooms in your house with just a Raspberry Pi. Just search in the add-on for Librespot and install it. After a restart its active. Spotify connect is available immediately and stops automatically once a movie is started. It will be available again once the movie is really stopped (being paused is insufficient). Connecting to Librespot is really fast and works even better than with my Heos speakers!

Netflix is a completely different beast. Netflix is relying on a library called WideVine which handles the DRM. Google created a version for Chrome on ARM devices and some LibreElec and Kodi developers found a great way to integrate all this into the next version of LibreElec 9 and Kodi 18. So you need to update to  LibreElec 9 alpha. Copy the downloaded update file for Raspberry Pi 2 and 3 and put it into the update folder of your Pi 3. Now just restart and you’ll get the new version. However, be sure to make a backup of your library, just in case anything doesn’t work as expected!

You’ll now need the WideVine libs, you can install them with this command on your Pi:

You’ll now only need the plugin.video.netflix add-on. Once it is started you’ll be asked for your Netflix credentials. If you enter everything correctly you’ll have all the options of Netflix displayed as nice library entries in Kodi. Really comfortable if you ask me! It even works directly with the Hyperion Ambilight which is a cool feature. I was able to use 720p without problems, 1080p is too much for the Pi 3 to decode only in software.

Now with LibreElec 9 you’ll have problems starting RetroArch via Gamestarter. Luckily there’s a version for LibreElec 9 which you can just install and update your existing add-on.

 

Congratulations! You’ve got now a Rasperry Pi 3 with Kodi 19, Hyperion Ambilight, RetroArch Emulator, Xbox 360 Gamepad support and Spotify Connect. Only thing not working is Sky Go Connect Ticket, due to a missing browser and probably DRM related issues. But since I’m just using it for 3 months to see Game Of Thrones I can workaround this with connecting my MacBook to the TV.

Migrate from OpenElec to OSMC

I recently upgraded my ambilight clone from 50 to 104 LEDs and I’ve also updated my OpenElec installation on my Raspberry Pi B+ to 6.0.0. However, the hyperiond wasn’t able to communicate properly with Kodi so that no ambilight information was send to the LEDs: The LEDs would always be black, if I want to watch something on the Raspberry Pi.

I’ve opened an issue on github but I didn’t get  a useable response so far. The configuration and installation worked fine when I’ve connected with the iOS app or from the command line.

Today I’ve tried to use OSMC as surrogate for OpenElec and I’m really impressed: it worked almost out of the box with my old configuration. So I want to share what’s necessary to migrate from OpenElec to OSMC:

  1. Create a backup from your OpenElec .kodi folder. You’ll find this folder on OpenElec in /storage/.kodi
  2. Backup your hyperion.config.json or create a new one with HyperCon according to your setup
  3. Install OSMC on a SD card
  4. Boot from this SD card and follow the initial configuration screen
  5. Connect via SSH to OSMC. default user/password are osmc/osmc.
  6. Install hyperion according to nadnerb’s instructions. The spi part is important, since OSMC has SPI disabled by default. You’ll also want to remove the lirc line since this blocks the pins necessary for the default installation of WS2801 LEDs.
  7. Copy your hyperion.config.json to /etc. Be sure that you’ve changed the path to your effects folder from /storage/hyperion/effects to /usr/hyperion/effects
  8. Copy your .kodi folder to OSMC’s /home/osmc folder and overwrite any file
  9. Reboot and enjoy your known settings 🙂

Update OpenElec 4.2.1 to 5.0.0 on a Raspberry Pi

XBMC is no more, it was replaced by KODI. The OpenElec team updated its media center distribution to version 5.0.0 which includes KODI. So it was time to update my RaspberryPi and its really easy:

  1. Backup your current installation with the OpenElec Backup tool.
  2. Move your backup to a secure location. You can access the backup tar file via SMB from the backup share.
  3. Download the 5.0.0 release image for Raspberry Pi.
  4. Place the tar file in the update share of your OpenElec installation.
  5. Reboot your Raspberry Pi.
  6. It should be rebooting a few times.

After these steps you should be greeted with the new KODI logo.


Kodi start screen

And you’re done, its really easy as a Pi 😉

Use OpenElec on Raspberry Pi with Hyperion

I recently updated my Raspberry Pi in the living room. I used Rasbmc as an easy to use XBMC distribution. However, there will be no update for Rasbmc once XBMC is replaced by KODI. You are then forced to use OSMC. As I also use Hyperion as server for my WS2801 LED stripes behind the TV I’m not sure if Hyperion will work with OSMC. Therefore, it was time to look for an alternative.

This is where OpenElec comes into play. Its a Linux distribution optimised for use with XBMC and is not that easily customizable if you want your Rasbperry to serve other purposes as well. But that’s not my concern, as I just intend to use it as XBMC client.

There is already a nice tutorial available on the OpenElec Github page. However, I had some serious issues with Hyperion and I want it to document, should I ever reinstall again.

Hyperion tries to connect to the XBMC JSON RPC api to get information about the current status of XBMC. This includes the information for active screensavers or just idling in the main menu. If I just use the instructions from the Github page, I was not able to deactivate my background lights while I was in the XBMC main menu. I’ve found two issues in the Github Project but only one was really helpful:

You have to activate and deactivate the Remote and local control of XBMC, only then is Hyperion able to connect to XBMC and only then it will get the right status information. Now it finally obeys the configuration and disable the background lights when its in the main menu.

 

PS: Don’t let yourself be fooled by the colors from the attached picture. The white balance picked it wrong up and it was also to a time where I did not calibrated colors for Hyperion 🙂 It looks much better in reality 😉

Rasbmc – falsche Zeitzoneneinstellung

Seit einiger Zeit besitze ich ein Raspberry Pi. Dieser kleine Computer ist sehr günstig (etwa 30 Euro) und kann als XBMC eingerichtet werden. Dabei habe ich mich für die Rasbmc Distribution entschieden, da diese sehr einfach (ein Befehl auf der Konsole) installiert werden kann.

 

Bereits bei der Ersteinrichtung wird man nach der aktuellen Zeitzone gefragt. Hier habe ich natürlich für Deutschland Berlin als Stadt und Europa als Region ausgewählt. Leider zeigt mir mein XBMC aber die Uhrzeit immer um zwei Stunden nach hinten versetzt an. Wenn also jetzt 21:47 ist, dann zeigte XBMC 19:47 an.

 

Eine kurze Google Recherche ergab dann, dass man den Assistenten zur Einrichtung der Zeitzone erneut aufrufen kann. Dazu tippt man

sudo dpkg-reconfigure tzdata

ein. Der Assistent führt einen dann durch die Konfiguration und sieht dann in etwa so aus:

Rasbmc - Geographic Area Raspbmc - Region

Doch das reichte noch nicht aus, um auch wirklich die richtige Uhrzeit anzuzeigen. Man muss in den Darstellungsoptionen des XBMC ebenfalls die Region und den Ort auswählen. Ich hatte eigentlich erwartet, das diese Einstellung übernommen wird, aber dem ist leider nicht so. Die richtigen Einstellungen für Deutschland sieht man auf dem Screenshot:

Raspbmc - Time Settings