New Screenly ose can't handle high resolution photos

I had to install Raspberry Pi OS and Screenly OSE fresh on a Pi 3 and after restoring my backup I noticed it can’t handle high resolutions. I’m not sure of the exact number, but I know it can do 1920x1080, but can’t do 5180x2880.

I’m not crazy familiar with Raspberry Pi OS and not sure if this is a limitation of Screenly, maybe something needs configuring in the OS to do this? I figured it would just scale it down when outputting to the monitor (which is detected as 1920x1080).

If there’s a solution to this it would be very helpful, as it would be tedious to have to downsize every image we upload beforehand to a resolution the Pi can handle.

I’m also assuming something changed with Pi OS or Screenly, because on this exact same Pi, the previous OSE installation (I believe it was native and not docker) could handle all of this fine.

Any help is greatly appreciated, thanks! :slight_smile:

I was looking into this as well because others also mention how they would like the image to simply resize itself to full screen but with aspect ratio remaining the same.

As far as I know, the problem is you would need to compile Qt browser and have the QImage load scaled or something like that hard-coded into that part of the code which is what opens up the images to view them.

Currently, the Qt browser does not seem to do anything to images except just open them.
I might be wrong since I dont know C, but I am basing this on the code I read.

Reference:
screenly-ose/webview/src at 97a0abd18a62a42574d97bdca8b18174e2e56067 · Screenly/screenly-ose (github.com)

1 Like

Did something change with the switch from native to docker? I believe that the software downsizing the image should be proper behavior, as you should be able to just upload the image and have it work.

I’m familiar with programming, but not enough in C or Linux projects to be able to just jump in, though I could possibly help if I read more into it. :slight_smile:

Should we post this as an Issue on the GitHub page (if not already)?

Did something change with the switch from native to docker?

Yes, too many things to list, but the main thing here is that the old screenly OSE used a browser called UZBL that was obsolete, prone to constant memory leaks, and deprecated, thus the new screenly OSE uses QtWebview, which you can build to function just like chrome and firefox but more specifically for embedded devices since you strip out all unnecessary features and build it only for one purpose.

This topic has been brought up before on github issues a few times, but it is not as simple to fix and requires recompiling the QtWebview because adding one line of code will require the whole application to be created again.
Research QtWebEngine and scaling of images when loading, you will see what I mean.

Yayyy :joy: so my best bet is just resizing before uploading, huh?

For images, it is indeed.
Some users have just uploaded a slideshow or online slide deck of images and just used the URL as the asset, thus the loading of images can be manipulated via HTML rather than directly by the browser.

UPDATE: I was able to solve this issue by changing PowerPoint’s export DPI to a lower value so the images aren’t exporting with such high dimensions. Hopefully this helps anybody else if they also use PowerPoint for making the slides and it’s too high-resolution: