Apologies for ghosting this topic. Was severely ill for a couple of weeks and then the TV came and I was testing things.
TLDR: Google TV OS running on the TV has a certain limitation that is a deal breaker to me. Will get a new STB and if it is Android/Google TV based I will use the same connectivity scheme I detail below. If one is knowledgeable my approach is fairly straight forward to replicate.
I skimmed the posts since the last time I posted and would like to address a couple of things before I go into my finding and my setup.
- The OS of the TV is Google TV.
- A TV running Google TV OS is slightly worse for privacy than a STB running android or Google TV because of ACR (Automatic Content Recognition). Other than that they are pretty much identical in my opinion. In my case I expect telemetry and spying goes to both Google and TCL. Getting an nVidia shield means telemetry and spying goes to Google and nVidia. The connectivity approach I implemented bypasses most if not all of those concerns.
How the TV is connected:
- Ethernet is plugged in to a VPN gateway which has no access to my network.
- Wi-Fi is connected to a network that is isolated in its own subnet without Internet access.
- I have a socks5 proxy server listening on my OpenWRT router providing access to the rest of my network and the Internet at large.
- I use SocksTun to provide apps access to the proxy server.
Initial setup:
- Disabled the microphone that is built in to the panel using the switch on the bottom.
- Updated the set to the latest firmware using a manual update with a USB.
- Created a new Google account for use solely with the TV with fake information.
- Connected the TV with the VPN gateway and signed in with Google. This is required to be able to install apps.
- Did not pair the remote with the TV so the remote mic is useless even if accidentally pressing the talk button.
- Went in permissions and disabled mic access to all apps.
- Downloaded a browser app from Google Play to download and install Obtainium.
- Uninstalled the previously mentioned browser app.
- Used Obtainium to install SocksTun.
- Disconnected the Ethernet cable and connected to the Wi-Fi network.
- Used SocksTun to connect Obtainium to the proxy server.
- Using Obtainium I installed the following apps:
- Used TV Bro to download and install Kodi.
- Used SocksTun to connect all these apps except FLauncher to the proxy server.
- Remapped the buttons on the remote to my liking but the most important one is that I remapped the push-to-talk button to do nothing globally. Even though the remote is not paired this is an option should one choose to pair it. Before remapping it a toast notification would appear saying I had to pair the remote in order to be able to use voice actions. After remapping that notification doesn’t appear.
My initial thinking to use the Kodi proxy connection does not work because that proxy applies only to Kodi itself and not any plugins one may have installed. Luckily SocksTun works great for this.
I have not connected the TV using the Ethernet cable once since then. So all in all the TV was connected to the Internet with unfettered access using the VPN gateway for about 5 minutes. I am monitoring the TCL releases on Telegram and will connect it when an OTA release is announced so I can update it.
Now only the apps I allow via SocksTun can access my network and the Internet.
This setup works with the following limitations:
- AFR (Automatic Frame Rate) does not work for apps, only via HDMI. This is the main deal breaker for me because the OS is locked at 60Hz and 3:2 pulldown on large screens gives me a headache after about 20 minutes.
- This also means that the resolution is locked at 3840x2180p and the app playing the media has to handle upscaling in software when viewing lower res content. I tested this playing 1080p content from HDMI and hardware does a much better job upscaling than software.
- Some apps UI/UX is not great on the TV. Obtainium is terrible but workable with a keyboard. I ended up exporting the list of apps from my phone and importing it on the TV using a samba share I access with Material Files. Updating apps is a breaze. KeyMapper is also an offender to a lesser extent but after initial setup one will rarely open it. Tubular is also not great and it requires some getting used to but is functional. Not a terrible trade-off overall.
- Some annoying popups here and there. Mainly the “Wi-Fi has no Internet access” every time the TV is turned on.
- KeyMapper has to be re-enabled every time the TV is restarted.
Everything else works as expected. Google/TCL don’t get my data and Kodi/Jellyin apps are able to connect to my Jellyfin instance. Most play all HDR formats. There was a toggle in Kodi that even made it work with FEL or MEL (not sure which as I didn’t care enough to research further but it was probably MEL).
Considering I can’t even watch an episode longer than 20 minutes, let alone a movie, without getting a headache I will be buying a STB and should it be Android/Google TV based I will configure it exactly the same way as I’ve detailed above. If CoreELEC is an option I will go with that route. It will all come down to availability and price.
For the time being I’ve gone back to using LibreELEC on my raspberry pi 4. It lacks DoVi and HDR10+ compatibility which is why I’ll be getting a new STB. The TV will remain connected as it currently is so it can receive OTA updates in the future and Tubular as an afterthought until I settle on which STB to get and see what my options are.
Edit: Forgot to mention that the TV is still not calibrated because the service is mostly unavailable in my country. One guy quoted me 600 Euros which I’m not willing to shell out. If I manage to calibrate it professionally using 20-point calibration I’ll probably keep the connectivity as it stands. If not I’ll likely disconnect it entirely and use 2-point calibration by eye-balling it.