With Plex banning people with large pirated libraries and their opt-out "watch reports" stuff, they're showing signs of enshittification. I setup Jellyfin as a alternative option for my library just in case. I even have a domain and HAProxy handling TLS offload for Jellyfin.
I'm a Plex Pass Lifetime subscriber, but I like Jellyfin a lot. Once they get the HTPC experience a bit more polished, I might fully move to it and retire Plex, but I'm hanging onto Plex for now.
For full screen web pages, I'm using Chromium and the --kiosk and --full-screen flags in the launch command. This removes the title bar and such and just loads the web site in full screen. I only use this and the AirMouse for Netflix and PBS. Everything else works with just the remote's arrow keys (Steam, Plex HTPC, Jellyfin, ES-DE, etc.).
I'm using this AirMouse from Gimbi. This plus AutoHotKey to remap a few buttons and the 4 programmable buttons at the bottom for TV and soundbar controls work for me pretty well. I mapped the ! button to Alt+F4, the search button to the super key, etc. The programmable buttons are TV Input, TV Select, and Soundbar Vol+ / Vol-.
I think the wallpaper was a built in one for the Cinnamon desktop, but I'll try and find it and link it here.
I'm about to start my adventure with Raspberry Pi powered TV box. I will try Plasma big screen - https://plasma-bigscreen.org/ It seems like a good place to start.
I started with Plasma Big Screen, but the browser is awful and the app selection is problematic. I ended up just going full DIY with Chromium running kiosk mode full screen apps, Plex HTPC, Steam Big Picture, etc. tied together with Flex Launcher.
I considered this, but ended up going HTPC instead. The Shield is just too old and now they're loading it up with more ads you can't get rid of. Screw that.
I bought one last year, and even though I was hesitant because of its age, it can handle all the content I throw at it (4k 10 bit hdr h265, etc). As for the the ads, I solved that by installing a third party launcher.
The only issue I have with this setup is that I haven't found a good replacement for YouTube yet. A revanced for android TV would be amazing.
Dont. They are notoriously bad at such things. Lack of Hardware acceleration mainly. These old Chips and problems with single-board-complications are just not worth it at such high prices.
An Intel N100 MiniPC will have much more compute with less complications.
I recently set up LineageOS on my rpi4 for this. With that setup, I think you'd be able to use the Android version of Moonlight. I haven't used Moonlight before though, so not sure how good of an experience that is on Android. Since the official images didn't support Android TV, I ended up using this version. Performance is a little slow in the menus (and very slow in the Twitch app, but that's also true on the fire stick). I'll probably give rpi5 a shot at some point in the near future to see if that offers better performance.
Bluetooth game controller works quite well (a little too well, the box notifies me when controllers are trying to sync), and works with apps like RetroArch and Jellyfin. I think it's supposed to support AirPlay or whatever the Android equivalent is too, but I haven't tried that. I also had to install gapps to sign into YouTube, but most other streaming apps I tried worked without it. Some of them require specific Android TV devices though, so a 3rd party app store or side loading may be needed for some of them.
I originally wanted to use Plasma Bigscreen with Waydroid, but I ran into the same problem of not being able to find an Android TV image. I did try building it myself, but that was taking too long so I eventually gave up.
Assuming it's a 4, you could probably use LibreELEC. There is a plugin for moonlight game streaming.
Kodi, a very popular and highly extensible Media Center which acts as the GUI of LibreELEC, can play just about any media.
Airplay seems to be supported as well.
There is a plugin for Netflix, however note that you will be limited to 720p since you can't use widevine levels above l3.
Look up LibreElec, super simple all in one image, kodi has a ton of plugins for everything you’d need. You’ll probably need to add some extra repos to get everything you want, but it’s all pretty easy to figure out with searches
Kodi is awesome, but it's not a solution for Netflix or Plex. I know there are plugins for them, but they're terrible. Kodi is best when it's playing local media and op wants Netflix and other streaming services working, too.
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.
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.
I have Raspberry Pi 4B set up as TV box and for my own media like Kodi or Jellyfin, barely handles 4K but works. And I like how I can sync files or remote control seamlessly because it's standard Linux not Android.
For mainstream streaming I really discourage form even trying, it's a mess. If you plan to run any type of DRM media you already are on the lost position and might as well buy cheap Android TV stick for ~30$, because there would be no freedom gain with RPi, just big annoyence.
TLDR:
Linux for own media.
Android for renting.
Raspberry Pi for Linux.
Cheap TV stick/box for Android.
If you want to be able to use "actual streaming services like Netflix", you're gonna be disappointed. Those use DRM that won't be available to your Pi. Most of them will at least limit the quality to a pretty pathetic level. Overall it's not going to be a satisfying experience. AFAIK it takes some major hackery to get around that limitation, making it a practically insurmountable obstacle.
Otherwise the rest are more than doable. I'd still recommend an x64 based mini pc though.
First had Kodi on a RPI, but I got fed up with Kodi, partly because there are too many moving parts and partly because there's no great way to watch YouTube.
Then found Flexlauncher, which has already been suggested by someone else. Slapped Debian on the RPI and then realized that getting smooth HD
YouTube video playback is impossible outside of Kodi, because of hardware (?) limitations.
At this point I decided that enough is enough and just got out the old laptop in the household no one uses anymore, same Debian + Flexlauncher combo with Stremio and Freetube. Set Debian to do auto login and start Flexlauncher automatically. Works great, but controlling with Keyboard only (and using the laptop trackpad when nothing works) gets a bit annoying. Looks like an airmouse is the way to go.
Sharing videos from NewPipe to Kodi worked pretty well. But I switched too, after years of tweaking & fiddeling and I now use just an old laptop with Mint and a controller. It's not as pretty and controller-friendly, but much more stable and I don't really need the movie collection features.
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.
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.