Kodi Vs Android TV

Kodi has been known as the ultimate open source TV media manager for years but in some ways it has not adapted to the smart phone era as well as newer closed source software for smart TVs. It could continue to be developed to progress further beyond the Xbox era but it seems that programmers in the FOSS community are more likely to focus on PC and smart phone software.

Android TV has apps that should be able to do anything that Kodi can do and more but most Android TV devices are dependent on closed source Google Play services. More recently, degoogled Android alternatives have resolved the hardware issues that held them back. You can now run Android or Android TV on the Raspberry Pi 5 (or Pi 4 with some limitations) using a FOSS LineageOS Android ROM and it should work perfectly with HDMI, audio, WiFi, Bluetooth, and the TV remote control. I think it is now time to retire Kodi and focus on further developing FOSS Android apps for use with Android TV.

Kodi Limitations

I primarily use Kodi to cast media from Jellyfin but I have been frustrated that I can't cast other content from my phone in a convenient way. On a smart TV you can use ChromeCast or AirPlay to cast to the TV and if you want to watch YouTube, the builtin app integrates into the smart phone app nicely. If you want to watch a YouTube video on Kodi the main solution is to use a UPnP app to send the url to Kodi's YouTube app. When you do this, you can't view the comments and description on your phone and other convenient features from the official YouTube apps are also lost. There are lots of Kodi apps to stream other online content but the experience is generally slow and frustrating (I have not used paid services that are supposedly better). Opening links within these apps locks the UI while content slowly tries to load and you can't browse it in advance on your phone. Anyone watching TV with you has to see you struggle through browsing on the TV screen and it seems to always crash at some point.

In my experience, the only thing that works well on Kodi with a phone app is Jellyfin. It also did not recognize the TV's remote on my Pi 4 with LibreElec so I purchased a FLIRC USB and mainly used a remote app on my phone.

For the situation above where I want to cast YouTube to the TV, there are several ways to do it with Android TV. One FOSS solution is to install FCast Receiver on Android TV and cast videos with the Greyjay app on the an Android phone. For videos on less popular websites you can always use a web browser with tabs shared between the phone and TV.

Android TV on Pi 4

I have been using a Pi 4 but plan to upgrade to a Pi 5 due to a few known issues with this OS on the Pi 4. You should visit https://konstakang.com/ for download links and a detailed installation guide. I have not seen any issues reported for running Android 14 on a Pi 5 so I would recommend using it if possible. If you are using a Pi 4 here are the steps that I took after installation:

  • Use Android 13 (LineageOS 20)
    • Version 14 for the Pi 4 will not allow audio through HDMI (only through USB) and it will not recognize the TV's remote, it may be usable work if you can accept this
  • Use a Bluetooth remote control app on the phone to control the TV more easily
  • Change the audio to the HDMI port (you have to do this on the Pi 5 also)
    • Settings > System > Raspberry Pi settings > Audio device
  • Activate developer options and then disable USB audio
    • Settings > System > About > OS Build 7x
    • Settings > System > Developer Options > Disable USB audio (near bottom)
  • If the audio stops working or anything else is not working reboot the device and it should work again
  • If it starts the sleep mode, you will need to reboot to fix the audio

These inconveniences definitely justify the cost buy a Pi 5 but an occasional reboot is still better that the issues I have had with Kodi.