True 4K rendering of the GUI in LibreELEC?

  • Hi,

    Is it possible to force the GUI to render in true 4K in LibreELEC for x84 boxes ?

    For example, coreelec added that in CE-NO in guisettings.xml:

    <setting id="coreelec.amlogic.disableguiscaling">true</setting>

    On the Amlogic boxes it works but it is kinda slow because of the low end Mali GPU but on my AMD mini PC it would be fast if LibreELEC permits it.

  • 1080p GUI rendering with 4k upscaling is a feature specific to CE/amcodec/amlogic bsp kernel. Kodi on x86 doesn't have such features to begin with, so there is nothing to "force".

  • 1080p GUI rendering with 4k upscaling is a feature specific to CE/amcodec/amlogic bsp kernel. Kodi on x86 doesn't have such features to begin with, so there is nothing to "force".

    So, if I use 4K resolution in LibreELEC it is actually rendering in true 4K then?

  • On ARM SoC devices that support multiple output planes and where the GPU (2D/3D) is separate from DRM (rendering/compositing) the active planes are processed individually and then composited for HDMI output. There is normally a dedicated OSD plane, and on Amlogic hardware (at least the older generations that LE supports) the OSD plane is limited to 1080p resolution while video planes can handle 4K. The Amlogic vendor kernel does some internal hardware juju to scale the 1080p OSD plane to 4K at a later point in the display pipeline but the visual results of that forced scaling (scaling is always a lossy process) often result in visual artefacts and the output can be visually better when you leave the OSD plane at its native 1080p. I have zero code knowledge of what CE are doing but it sounds like they implemented some settings to fiddle with the kernel and stop the OSD scaling from happening. Other ARM SoC types, e.g. RPi, Rockchip, support 4K on all planes which must be better, right?

    The problem is that rendering the Kodi interface always requires scaling of 2D/3D elements (can be accelerated on the GPU) to be combined with bitmap elements; artwork in the skin, artwork from thumbs and scraping (cannot be accelerated, so must be scaled on-the-fly, on the CPU). And as most (all?) Kodi skins are currently designed for 720p or 1080p output, running the 'desktop' at 4K means most of the time you must scale a bunch of things from 720p/1080p to 4K and this has a significant compute impact on the HTPC device. Even if you have "4K native" skins, thumbs and artwork are still scaled, and still generate compute load.

    The TV also has its own scaling capabilities for handling SD/HD signals. The TV's capabilities are normally visually better, due to having fancier scaling algorithms, and scaling on the TV has zero compute impact on the HTPC. This means most of the time and even on more compute-capable x86_64 hardware; you have a better overall Kodi experience (fewer visual artifacts from scaling and snappier navigation) when you leave the Kodi GUI at 1080p, not 4K, and only switch to 4K output when playing video. Some users are obsessed with 4K settings though /shrug