MikeGawi / ePiframe

ePiframe is an e-Paper (or HDMI, Composite display) Raspberry Pi Photo Frame with Google Photos and more
GNU General Public License v3.0
66 stars 12 forks source link

HDMI Screen with wrong resolution (horizontal black bars) #79

Open guaycuru opened 1 year ago

guaycuru commented 1 year ago

I'm using a 7 inch 1024x600 HDMI screen with my Raspberry Pi and for some reason whenever a photo is displayed there are horizontal black bars in the top and bottom of the screen, and the background color (which I set to white) is shown in the left and right because the photo doesn't fill the screen. It seems to me that ePiframe might be using the wrong resolution (hence the horizontal black bars). Is there any way to debug and/or fix this issue? I could not find any open issue that mentions this, nor a config option related to resolution.

Here's how I set width and height in the config:

image_width=1024
image_height=600
MikeGawi commented 1 year ago

Thank you for raising this issue!

First thing:

Here's how I set width and height in the config:

image_width=1024
image_height=600

These are the right settings to set the resolution of your photo, so you can try to play with them to check if this will help - please share the results.

If you're using HDMI display then FBI (Framebuffer imageviewer) is used to show the photo and the command is used here in ePiframe code. With the FBI documentation you can try to tweak it to get the best results (first try to remove -a flag).

One thing: does this black frame also appears when displaying some other sources?

If nothing will help then please share the photo of the frame with this bug displayed and I'll try to reproduce it and find a solution.

guaycuru commented 1 year ago

The black frame does not display when viewing the Raspberry OS Desktop. It's correctly displayed in full screen with no black bars.

It appears that FBI thinks my display's resolution is actually 1024x768, which I confirmed by listing fb modes with fbset and changing my ePiframe settings to:

image_width=1024
image_height=768

Which made the picture to be displayed in full screen with no black bars.

That's weird because Raspberry Pi OS screen resolution settings correctly displays 1024x600.

So I'm not sure if this is actually an ePiframe issue or a FBI issue.

Do you know of any way to force FBI's resolution?

MikeGawi commented 1 year ago

Please check this solution: https://stackoverflow.com/questions/34904763/linux-framebuffer-set-resolution-correctly

If you find something needed on ePiframe side (i.e. add device name configuration to control FBI parameters, etc.) let me know, I will add it.

There's also something called FIM (FBI Improved) but I was never able to compile it on RasPi. It has more options available (resolution) as seen in documentation.

Please let me know about the results and thanks for checking that.

If that will work then I can implement some fbset resolution force to ePiframe.

MikeGawi commented 10 months ago

@guaycuru - please provide feedback if the problem still persists