OSMC is, in short, Linux bundled with Kodi. It’s designed specifically for the Raspberry Pi, but can also run on some other embedded systems (ymmv).
- Raspberry Pi
- SD Card (16GB+)
First, you need a Raspberry Pi to run it on. I got the latest Pi 3 Model B+. If you want to use the Pi Zero, it may struggle with HD video. You may also need a keyboard if you can’t get the Yatze or Kore apps to work.
You can get the images for OSMC here. There are utilities for automatically creating the SD card if you use Windows or Mac, but I’ve been unable to get the Linux tools to work. Instead, select “Disk Images” and click the most recent one under “Raspberry Pi 2 / 3 / 3+”. From the command-line, you can burn this to an SD card with the following command
gzip -dc OSMC_TGT_rbp2_20xxxxxx.img.gz | sudo dd of=/dev/sde
/dev/sde is the path to your SD card device. You can view all your devices with the
Pop the SD in your Pi, connect a monitor, and power it on. You’ll see a loading screen as OSMC reformats the card and expands itself to make use of the extra space. Then you’ll see a prompt for your language of choice.
At this point, let’s set up the smartphone app to act as a remote control.
Alternatively, you can connect a USB keyboard if you encounter problems with the apps, and proceed with setup that way. If you use a keyboard, skip ahead.
Smartphone Remote Apps
OSMC makes Bluetooth remotes similar to the ones used by Apple TV. If you would like to donate to the project, purchasing one of these from their website is a great way to do so. Alternatively, there’s an app for that.
There’s two common remote apps: Kore, an official app built by the team behind Kodi, and Yatse, a third party alternative. I would recommend Yatse, but will cover setup for both.
Kore is the official remote for Kodi apps. It’s also the easiest to set up. Simply select “Add Media Center” on the bottom of the app and hit next.
You should be presented with a list of all Kodi servers on the network. If you can’t see yours, verify your Pi is on the same WiFi network as your phone.
Select your device and hit finish. That’s it! You’re done!
The setup for Yatse isn’t quite the “keep clicking ok” install that Kore has, owing to how feature full Yatse is. However, it’s still pretty straight forward.
From the initial screen, select “Add Host…”. Now you should see a list of all connected media, of which there should be one: your phone. Add a new one and select Kodi, then select your device from the list. Now you’re ready to use the app.
If you can’t see your device, verify your Pi is on the same WiFi network as your phone.
Yatse allows for keyboard input, which is one huge advantage a smartphone has over a Apple TV-esque remote. An advantage that Kore fails to exploit.
There’s also a lot of in-depth features I didn’t explore, like custom HTTP requests and controlling Plex servers.
Yatse has a paid app for $3.59, which enables sharing media from your phone to OSMC. While it’s not good enough to recommend over Chromecast, it’s a must if you want to use OSMC. In any app, you can share the video to Yatse (either to play immediately or add to a queue). It’s not as smooth as the Chromecast button, and it doesn’t work for all apps (even the ones Yatse “supports”), but it does exist.
There’s a rumour that OSMC supports Airplay, but I can’t get it to work. And that’s the default used by Android’s Plex app, so casting media from Plex is impossible
Lastly, Yatse has a Wake-on-LAN feature. Or so I’m told. Neither my router nor any of my switches support it, and my TV’s CEC function is broken anyways, so bleh.
Now that you can control OSMC, back to the setup. Select your language and timezone.
Next, you’ll be prompted for your device’s hostname. This will change how it appears when you try to pair future remotes with it, but existing remotes will continue working. If you choose to personalize it, this is where Yatse’s keyboard feature comes in handy.
The next prompt relates to SSH. This is enabled by default, but you can choose to disable it if you wish. See Secure SSH for more details on this topic.
There’s some terms and conditions for you to not read, and now we can begin installing add-ons.
The first thing about this interface is that it’s very unintuitive to navigate. To install new apps, you have to go to Settings > Add-on Browser > Install from Repository.
Most of the interesting ones are under Video Add-Ons. Here you will find apps like Plex, YouTube, Twitch, and Jupiter Broadcasting (shoutout to one of my favorite podcasts, Linux Action News). Netflix, Hulu, and HBO are not an option, which is a deal breaker for a lot of people.
If you try to install any of these apps, you may get an installation error about “dependencies not met”, although this seems to have been fixed in more recent versions of OSMC. To fix this, you have to install the Log Viewer for Kodi app. Which you can find in Program Add-Ons.
If you left SSH turned on during setup, you’ll want to secure that. The default login is
SSH into the Pi using the address shown in your remote app. You can change your password with
And to most, that’s secure enough. But for the advanced users, there’s also you can require public key authentication. There’s a good tutorial here.
Anything you would want to do with Kodi is done through an Add-On, and the excessive clicks to use those gets tedious. The interface is geared towards local media. But if you’re going to set up a true media server, it would be more practical to use Plex, and access that from a Chromecast or Fire TV.
Despite Yatse’s best efforts, the functionality to cast media to from your phone is limited, which causes you to rely on the remote to navigate to the necessary add-ons. This means OSMC is most analogous to the Fire TV, but less intuitive. Plus, Kodi itself is an app for the Fire TV. So if there’s any functionality to OSMC that you like, you can get all that plus official apps on the Fire TV.