Netflix on Waydroid
In the previous video I set up a Kubuntu media center with Kodi, Steam, and Retroarch, and tied it all together with Plasma Bigscreen. While doing that I found out I wasn't very happy with my options for the big streaming platforms. They kinda have third party Kodi add-ons, but the experience ranges from passable for Twitch to completely broken for Netflix.
Today I want to dive deeper in setting up Waydroid properly. First we need to switch our KDE setup over from X11 to Wayland. Then we need to install Waydroid, and register it for Google Play certification. Then we need to hunt down TV APKs from APKMirror for a TV launcher and TV apps like YouTube. And finally we need to set up Widevine DRM and install Netflix.
Wayland
By default Kubuntu runs on X11, which is slowly being phased out in favor of Wayland but in my experience remains the more reliable option. But the fact of the matter is that Waydroid only works on Wayland so we need to switch. To do this we'll need to open Konsole and run sudo apt install plasma-workspace-wayland and enter our password. Then we can log out and select the "Plasma (Wayland)" or "Plasma Bigscreen" options instead of the X11 options. As before we can change the default session in System Settings.
Waydroid
To install Waydroid we simply follow their installation instructions. First we add the official repository. This will ask for your password, but in my case the prompt was obscured by the download. Once we have the repository we can run the usual sudo apt install waydroid.
Now we can start Waydroid from the launcher. The first time you start it it'll initialize the Android installation. Make sure to select "GAPPS" which we will need for Play Protect certification and DRM. After it has finished downloading you can press Done and Android will start, but you'll get a notification that "this device isn't Play Protect certified".
Play Protect certification
To get our installation certified, you need to follow the steps in the Waydroid documentation. First we run sudo waydroid shell to open a shell so you can run commands inside the Android container. Then we need to copy this long command to extract the Android ID from your installation. And finally we need to copy that ID to the linked page.
This would be a good moment to make a cup of tea or hot chocolate, because it'll take a while for your Android installation to actually get certified.
TV Launcher
The stock Android launcher is kinda designed for touch screens, so isn't great as a Media Center. The problem is that Waydroid isn't announcing itself as a TV, so if you search in Google Play you won't see any TV apps. So we'll have to hunt down the APKs on sites like APKMirror.
In theory could pretend to be a TV using the Aurora Store spoof manager, but it currently crashes on Waydroid. So that is something to keep an eye on in the future.
One popular TV launcher is the Projectivy Launcher, so if you open a browser and search for "Projectivy Launcher APK", we'll find the APKMirror link. This site is a bit difficult to navigate with all the versions and ads, but what we're looking for is the latest version of the universal APK.
So download that, and then click install and then open. On first launch it will show a welcome screen and ask for a few permissions. After that we'll want to open Android settings, go to "Apps & notifications", "Defaults apps", and set the "Home app" to Projectivy Launcher.
Youtube for TV
For other apps we basically need to repeat the previous steps to hunt down the TV APK from APKMirror.
So we type "youtube for tv apk" in google and head over to APKMirror, select the latest version, and find the variant for your device. For our media center that's going to be x86, but if you're doing this on a Raspberry Pi or Linux phone, you'll probably want arm64-v8a. Then once again click download, install, and open.
Widevine DRM
Basically all of the paid video streaming platforms require DRM to access their content, and this tends to be a big problem for systems that are not certified by Google. Fortunately some smart people figured out how to extract a few proprietary components from from ChromeOS and Windows Subsystem for Android.
So to enable Widevine DRM as well as ARM emulation, we can just follow the instructions on the waydroid_script Github. First we install lzip, and then we copy the interactive usage command. In my case I also had to install python-venv, and then rerun the commands from there.
Once the script starts, we'll want to select "Install", and the select Widevine for DRM, and libhoudini for ARM emulation. Feel free to select anything else that sounds enticing.
Once installation completes, open Firefox and go to bitmovin.com/demos/drm/ to make sure that Widevine is supported. Note that the stock Android browser does not support DRM at all.
Note that this only gets you L3 support which limits the video resolution. To watch HD videos you need L1, which is only possible on officially certified hardware and software as far as I know.
Netflix
Unfortunately DRM is an ongoing battle between the streaming companies and developers of Android ROMs, so it's possible that the current approach stops working at some point.
At first I tried to install the Netflix TV APK, but it would give me the dreaded "not compatible" error. Then I just installed the phone version from Google Play and it worked like a charm.
It does mean I can only watch 720p video, and to use it from the couch I should maybe get a Bluetooth trackpad, but at the moment it seems to be the best option available besides just using the web interface.
Conclusion
So to sum it up, we managed to install Waydroid, install some TV apps, set up Widevine DRM, and install the official Netflix app, which allows us to watch Netflix on our media center at 720p.
More articles


