I want to try to set up a Raspberry Pi I have as a smart TV box and I was hoping I could find some advice.
My main requirements are:
- can run Moonlight
- can be controlled from a Bluetooth game controller (that should also work in Moonlight)
What would be nice:
- can run VLC or Plex or something
- can support AirPlay
- can be used for some actual streaming services like Netflix
Any suggestions?
https://dietpi.com can be configured for Kodi. Youll be limited to 1080p H264 for streaming, as long as your Plex server can transcode to that format you should be OK.
It’ll probs support any xinput-compatible pad, too.
Not sure about moonlight support on Pi/Linux but again you’ll be limited by the decode.
- Assuming you have a Pi4B, by the way.
I tried what you are describing: Using a Pi4 and loading lineageOS (KonstaKANG) on it. Before that I tried libreELEC with Kodi or something like that… Internet via WLAN. Both setups suck. Everything is slow, input with my cableless keyboard/touchpad is laggy and I am not using the TV because of it… Watching jellyfin on my smartphone is more convenient.
But I am new to all this stuff, so maybe I missed some ways to optimize this setup. Next time I will just take a long HDMI cable and connect the TV with my main PC.
Pi5 with standard OS, Firefox with an adblocker, and VLC for local files works AMAZINGLY. I was shocked, as I’m running it off’a SD card, and my other Pi is running an SSD.
I did that for years, using LibreElec with Kodi, but moved instead few months ago to “just” minidlna on the RPi, headless, then VLC on the video projector, streaming straight for the RPi.
- No SBC that I know of can handle 4k 120Hz HDR output, so getting the most of moonlight is not possible.
- Low latency decode requires some work to get running
- AV1 encode/decode has even more latency, do you will be running higher bitrate h264, which in turn means wired network connection is recommended.
- Streaming services limit 4k and/or HDR access on a lot of content to locked devices. E.g. Netflix only guarantees 720p sdr when watching in a browser - how much more you get depends on the deal with the copyright holder.
Tl;dr; a long, active fiber HDMI cable + USB over IP might be cheaper, better and easier. That’s what I ended up buying despite the cable length being 60m (200ft).
4k 120Hz HDR is what current gen consoles can output right now and what is becoming common even on mid-range TVs (quality of HDR aside). I’d expect you’d want most of that experience or future-proof solution that would allow that when you get a new TV.
But you also need a tv that’s powerful enough my monitor isn’t even that powerful.
There are many multimedia solutions for ARM (e.g. libreelec, kodi, plex, jellyfin etc etc), however, these work best for non-big-streaming sites. The moment you’re after a really good youtube experience, or netflix/disney+/etc, then things start break down for various reasons.
Personally, I’d just install the default Raspbian OS (maybe even just DietPi), making sure that their Firefox or Chromium supports drm websites, and then I’d connect the Pi to the TV, and then I’d use a keyboard + touchpad, like this one: https://www.amazon.com/Logitech-Wireless-Keyboard-Touchpad-PC-connected/dp/B014EUQOGK/ This allows you to use the machine exactly the way you need it to, without bad surprises and incompatibilities. Not the way you want it to, but more like the way you need it to.
Also, please note that if you’re having a Pi with only 1 GB of RAM, it won’t be enough for what you’re having in mind. I have a 3B+ with 1 GB of RAM, and my Emby server (music only!) constantly needs more than 1 GB of RAM, resulting in the Pi to swap, which means that it wears out the microSD a lot.
Finally, if all else fails get an AppleTV, or a Chromecast with AndroidTV, or a Roku if you’re in the US, but I think the desktop/browser solution can be workable. Not pretty, but most workable for DRM streaming services.