redoXiD 4 Posted yesterday at 06:17 PM Posted yesterday at 06:17 PM (edited) Server: Emby Server 4.11.1.0 beta (Docker (LSIO), Unraid) Client: Emby for Android 3.5.55 Device: TCL 65Q8C, Google TV/Android 14 Display: - Panel/output: 3840x2160 - UI framebuffer: 1920x1080 (vendor size override, not changeable without root) - Density: 320 -> devicePixelRatio 2.0, so the web client lays out at 960x540 CSS px Problem: The Emby client requests images at a smaller pixel size than the size it actually draws them at. Every image is therefore upscaled once by the WebView, before the compositor upscales the whole 1080p UI to 4K. The result is visibly softer/unsharper artwork with less details than other clients on the same device like Plex or Plezy with similar artwork sizes. Measurements: Rendered sizes were measured from screenshots via `adb exec-out screencap`, which returns a 1920x1080 image, so these are framebuffer pixels and directly comparable to the requested sizes. Movie poster (Primary): requested maxWidth=216 & maxHeight=324, rendered ~256x383 -> ~18.5% upscale Horizontal thumb: requested maxWidth=366 & maxHeight=206, rendered ~406x228 -> ~11% upscale Server log excerpt (full log attached): GET /emby/Items/690908/Images/Primary?maxHeight=324&maxWidth=216&tag=...&quality=90 UserAgent: Mozilla/5.0 (Linux; Android 14; Smart TV Pro Build/UTT2.250416.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.202 Mobile Safari/537.36 embyserver (5).txt What I would expect: The requested size should be at least the element's rendered size in CSS px multiplied by devicePixelRatio, i.e. >= 256x383 for the poster and >= 406x228 for the thumb on this device. Some further observations: The shortfall differs per card type (~18.5% vs ~11%), so it doesn't look like a single devicePixelRatio miscalculation All image types seem to be affected including actor images and possibly also logos The same server and library on my phone and tablet (higher DPR) requests appropriately larger images and looks correct, so this is TV-layout specific rather than a server, source-artwork or cache issue. Source posters are 1000x1500 or larger. Plex and Plezy on the same TV render noticeably sharper artwork, which is consistent with them requesting at the rendered size. UI still renders at 1080p but the images have a lot more detail. The only way of requesting higher resolution images natively seems to be setting Settings>General>Image size to something like "Larger", though unfortunately this also changes the grid size. For testing purposes I set up a Caddy reverse proxy which modifies the incoming image requests and sets maxHeight/maxWidth=800 and configured the Emby app to use it. The result is much sharper images which show a lot more detail than the default resolution images. This is especially noticeable on thumbs/posters with small text (like the "Cyberpunk Edgerunners" title or "Shrinking" actor names). Default: Modified: Default: Modified: A fix would be very much appreciated! Related reports (possibly the same root cause): Edited yesterday at 06:22 PM by redoXiD
Luke 43138 Posted yesterday at 07:15 PM Posted yesterday at 07:15 PM Hi, that's interesting. I wonder if the pixel ratio reported by the webview is incorrect.
Luke 43138 Posted 1 hour ago Posted 1 hour ago Anyway can you please try our sideload build and see if that changes anything: Thanks.
redoXiD 4 Posted 40 minutes ago Author Posted 40 minutes ago Tried that, I installed Emby for Android 3.5.61 and deleted the cache, unfortunately there was no improvement in image quality.
Luke 43138 Posted 26 minutes ago Posted 26 minutes ago Are the image requests different? It is getting the pixel ratio from a different place now when calculating the requested image size.
redoXiD 4 Posted 17 minutes ago Author Posted 17 minutes ago No, the requested resolution is still the same (216*324 for posters and 366*x for thumbs): 2026-09-22 21:20:09.941 Debug ImageService-0HNOORPPEQRL6:00000021: http/1.1 GET http://host2:8097/emby/Items/690867/Images/Primary?maxHeight=324&maxWidth=216&tag=c5a9586f2422d60eceb2bfe2de00e357_639076069772534269&quality=90. Source Ip: host3, UserAgent: Mozilla/5.0 (Linux; Android 14; Smart TV Pro Build/UTT2.250416.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.202 Mobile Safari/537.36 2026-09-22 21:19:52.919 Debug ImageService-0HNOORPPEQRL1:00000004: http/1.1 GET http://host2:8097/emby/Items/705163/Images/Thumb?maxWidth=366&tag=94cb6e4f5fc08c03ab2eeccb0003966d_639076120162012614&quality=90. Source Ip: host3, UserAgent: Mozilla/5.0 (Linux; Android 14; Smart TV Pro Build/UTT2.250416.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.202 Mobile Safari/537.36
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now