Android TV – 4K resolution of remote session

Android TV – 4K resolution of remote session

0 vote

avatar

Hello,

After a few days of using your app via Samsung DeX (in 4K) I tried the same on Android TV (Chromecast 4) I briefly checked few months back.

On Android TV, the UI of the system and all applications is rendered at maximum 1080p, and there are no devices I know of (not even adt3) that make use of Android 12's 4K UI. If I manually enforce 4K in any RDP client, the effect is always the same – blurry, unusable image.

So far, I haven't found any way to bypass it – from ADB, wm size and dpi modification changed the UI dimensions and scaling, but not the real resolution. While some sysinfo apps reported 4K resolution then, there was no improvement: everything still looked like it was forcibly downscaled to 1080p and then upscaled back to 4K.

VoD or game streaming applications (like GFN) probably use some special mode to display real 4K content, while I found no RDP client that can do the same (MS, Parallels, yours, a few others). Have you explored this problem already?

For 1080p, RDM works just fine at first glance – thank you!

All Comments (4)

avatar

Hi,

So 4k worked on Samsung Dex and not on your Android TV?

Best Regards,

Nicolas Dufour

avatar

Yes, but my question is only about Android TV.

DeX supports native 4K desktop UI. Whatever app is on the screen it's rendered in up to 4K, so fullscreen RDP session will be 4K by default. Simple.

Let's say that Android TV dongle like my Chromecast 4 is set to output 4K 60Hz SDR (RGB/4:4:4). The monitor or TV sees exactly these input parameters from Chromecast's GPU. However, the Android TV UI and applications all think they're in 1080p and are rendered as such. RDP session by default is displayed in 1080p "window". If I set remote resolution to 4K, then RDP client receives 4K AVC stream, decodes it, downscales to 1080p "window" available, and then the GPU upscales everything again to 4K.
This limitation is probably very deep, maybe on hardware level. You can decode 4K stream, but cannot render 4K, even in 2D.

However, as I mentioned, VoD or cloud gaming apps CAN force the Android TV to display native 4K video stream in fullscreen. This is probably a special mode completely bypassing the application UI. For example, Netflix homepage where you're browsing videos is definitely low-res, blurry 1080p, but when you start watching a movie, it's playing in 4K. I'm not sure about the resolution of UI overlay.

In theory, RDP clients could probably do the same, AVC stream is AVC stream regardless if it's a game from Nvidia servers or your PC desktop. But none of the clients I tested, even Microsoft's, are using that special mode I mentioned.

I hope it's clear now, and your UI developers would understand what I mean.

I am currently using RDM on DeX, but it also means I have to connect my phone to the monitor. Android TV dongle with your amazing app is 10-15x cheaper than Samsung flagship and can stay plugged in all the time. The only problem is that bloody UI rendering.

avatar

Thank you for the information.

We will create a feature request to investigate the 4K resolution.

However, we currently do not have a timeline for when we will be able to investigate this feature.

Best Regards,

Nicolas Dufour

avatar

Thank you. Then could you please move the thread to Feature Requests?

I finally found some hints:

https://developer.android.com/reference/android/view/Display.Mode
public int getPhysicalHeight ()
Returns the physical height of the display in pixels when configured in this mode's resolution.
Note that due to application UI scaling, the number of pixels made available to applications when the mode is active (as reported by Display#getHeight() may differ from the mode's actual resolution (as reported by this function).
For example, applications running on a 4K display may have their UI laid out and rendered in 1080p and then scaled up. Applications can take advantage of the extra resolution by rendering content through a SurfaceView using full size buffers.

https://stackoverflow.com/questions/61170081/surfaceview-canvas-rendering-at-1080p-on-4k-android-tv

https://www.reddit.com/r/androiddev/comments/g2tkez/4k_surfaceview_on_android_tv/