Most Android devices with HDMI out only display the user interface at HD/1080p/1920x1080 even when configured in Android settings to display at a higher resolution such as 4K/2160p/3840x2160.
This is usually done for performance and compatibility reasons.
The following display components will not render above 1920x1080.
- Images
- Web pages
- OpenGL applications
TargetR's Standard Android player will play videos at the resolution configured in Android settings on most modern devices. Images, web pages and OpenGL applications will be limited to 1920x1080 and upscaled.
TargetR's SignageNode player uses OpenGL for compositing images, videos and web pages and so the final output is typically limited to 1920x1080. - SignageNode 2025-04-26 includes a special ExoPlayer setting to draw video directly to the 4K output. All other components will be limited to 1920x1080.
Additional problems may be caused by applications that query the window size. The window size is reported as 1920x1080 even when the display is set to 3840x2160. This can affect the automatic selection of videos when there are both 3840x2160 and 1920x1080 in an item in the stacks admin interface. (1920x1080 will be selected unless disabled)
There is a window manager command to change the resolution as outlined below. Unfortunately, many devices still render at 1920x1080 internally then perform an upscale to 3840x2160 resulting in no quality improvement.
Android TV boxes known to support a resolution higher than 1920x1080:
- Nvidia Shield
- Khadas Edge2
Change window manager resolution/size
- Access the Android shell (instructions below)
Run the following commands in the Android shell:
wm size 3840x2160 wm density 480- Verify that the Android desktop now displays at a higher resolution.
It is important to confirm this results in an increase in quality. In most cases this will not increase the detail and may decrease performance.
Nvidia Shields Spring 2026 update appears to have broken 4K UI rendering. Everything is rendered at 1080p then upscaled (badly) to 4K even when the display mode is correctly set at 4K as above.
A possible workaround is to Enter Developer options and enable Show all supported modes in custom display modes and reboot. The Android UI and SignageNode will then render at native 4K.
Connecting to the Android shell
- Enable developer tools:
- Open Settings.
- Click About.
- Click Build 10 times.
- Enable debugging:
- Open Settings.
- Click Developer options.
- Click USB debugging to enable and/or Network debugging to enable.
Connecting over USB
- Connect a USB cable to the device (port usually labelled OTG).
- Open a command prompt / terminal window.
- Navigate to the location where the Android platform tools are installed.
Execute the following command:
adb shell- Approve the debugging request that appears on the Android device.
Connecting over network
- Open a command prompt / terminal window.
- Navigate to the location where the Android platform tools are installed.
Execute the following commands replacing the IP address with that of the device. (Can be found in System, About, Status).
adb connect 192.168.2.188:5555 adb shell- Approve the debugging request that appears on the Android device.
More useful Android shell commands
View information about what Android is displaying including rendering resolutions:
dumpsys SurfaceFlingerView a live view of the logs:
logcatInstall DS Loader (exit android shell first):
Download ds-loader.apk to the local PC then issue the following command:
adb install ds-loader.apkUninstalling DS Loader:
adb uninstall net.targetr.stacks.central
Comments
0 comments
Please sign in to leave a comment.