Hello everyone!
I would like to part ways with my Google Chromecast.
Fortunately, I had an extra Raspberry Pi 4B (4GB version) in my drawer, which I used to install LineageOS.
Afterwards, I installed F-Droid and a customized launcher to give it a more AndroidTV-like appearance.
Now, I have a couple of questions:
What can I use as an alternative to Google's screencasting?
Is it advisable to enable SSH with root access on the Raspberry Pi?
If there's any decent alternative to Google Cast, I'd love to know because I've never found one. You can use Kodi to receive links to Youtube videos and play them, and spotify hast their own built-in casting, but for everything else I've got nothing.
I'm currently working hard on something to fill this void! I've made HomeHook v2 as a web app and HomeCast as an mpv interface installed on my HTPC and some Pis I have around the house!
I still need to document the installation procedure but if you're interested in playing stuff from Jellyfin and YouTube, feel free to send me a message and I'll see if I can help out!
There's no reason to allow root to login to anything via ssh. Add a specific user to the Wheel group and that user can sudo whatever they need to do. Just make sure to disable password authentication and only allow certificates.
To answer the casting question, the Google cast API used to introduce a lot of breaking changes so many 3rd party apps had a lot of instant over the years.
You could build something yourself using Google SDKs or try to update an older framework that might be abandoned. Raspicast looks fairly recent but I think it's just the android app and it uses a deprecated RPi OS. RaspberryCast hasn't been updated since 2018.
It looks ripe for the development of you've got the time and dev chops, otherwise it's going to be super hacky and unreliable at best.
It's not exactly what you're looking for, and won't be as seamless, but you might be able to leverage scrcpy.
It uses adb (you may need a fullfat distro for this - lineage may not support it), and allows you to view and control your Android device from a computer. It can also handle audio, and can be used wirelessly. The one caveat is protected content will probably not show up in the mirror - e.g. if you cast your screen and try to stream Netflix, it will likely be unable to send the Netflix video over. The last time I tested, it depended on the specific app, and which APIs they used under the hood (at the time, YouTube worked, Netflix did not).
You might be referring to this? That's what I found from a quick search, at least.
If I understand correctly, this is a little different - from what I recall reading a few years ago, the speculation was that Netflix (and similar apps) rendered the content directly, bypassing the normal rendering stack. It would be the equivalent of, on a Linux system, bypassing the compositor (e.g. Mutter or KWin), and directly rendering the content (I believe SurfaceFlinger is the Android compositor). This means that when something like scrcpy uses the competitor API to capture the content, the content is literally not there, because it bypassed that system altogether.
By contrast, the secure flag just allows app developers to ask the OS to disallow screenshots, to prevent data leakage (e.g. of your banking details). It's all rendered in the standard way, though.
This may not be accurate - it's based on assumptions, and forum posts I read years ago, but it's the best explanation I have right now. If anyone knows better, please feel free to correct me.
Using this fairly regularly. Its decent but the wireless integration does seem to need USB reconnected occasionally before it works for me on GrapheneOS. Pretty stable otherwise occasional choppiness but most likely my network
don't know what this is in reference to, but if you're using a raspberry it can run python, so both of those (macast, jellyfin-mpv-shim or plex-mpv-shim) can run on it.
In that case I'm afraid I don't know any solution, hopefully you'll find something that fits your needs. If you needed to cast Youtube-videos and such, I would've shared my own bodged method that combines KDE Connect, MPV and a regex-enabled fork of "handlr".