-
Notifications
You must be signed in to change notification settings - Fork 4
Support 4:3 aspect ratio with FRUIT_JAM_OS_4x3
environment variable
#44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a PR merged into Circuitpython (adafruit/circuitpython#10534) which increased the number of displays that will work at 700x400. Have you tried running with the "absolute newest" firmware by any chance? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's great to support 640x480 better with the layout, but we can do it using the existing display environment config vars instead of introducing a new one for the OS.
For what it's worth Google AI seems to think 720x400 will work on your monitor, but who knows 🤷. I did have the same problem on the monitor I was using, the "Absolute Newest" version from this page https://circuitpython.org/board/adafruit_fruit_jam/ got it working |
I don't think I'd trust Google AI on that one 😆. I have an MSI MAG401QR ultrawide monitor that works well, but I think there's some appeal to getting the Fruit Jam working with older monitors. Although there's likely a better work around, I can imagine someone running it into composite/VGA adapter to output to an old CRT. While the widescreen aspect ratio would likely work, a standard aspect ratio might look clearer and less squashed on the x axis. |
It turns out I actually have a Dell 1908FP 4:3 monitor and when I run 10.0.0-beta 2 I get exactly the screen you've posted, however with the "Absolute Newest" firmware, Fruit Jam OS runs fine. I'm not suggesting that this PR isn't helpful, just that you may have more options than you think. |
Oh wow, I didn't realize how recent that update was. I'll give it a try! I'm sure I'll find this out for myself soon, but how does it handle the aspect ratio? Does it stretch the image or does it add black borders to the top and bottom?
Being the starting point for most users of the Fruit Jam, I think it's important to make it versatile. Thank you for your review/comments! |
It adds the Black boarders (letter box) at the top and bottom. |
For some reason, entering Breakout and then pressing ctrl-c to exit results in the following error:
supervisor.runtime.display is apparently returning "None" after the reload. |
I've tested on an old DELL monitor using both 10.0.0-beta 2 and 10.0.0-beta.2-3-gf86bf4c085 (absolute newest) at both 640x480 and 720x400. As expected 720x400 doesn't work with 10.0.0-beta.2 but the PR looks good to me. |
I did switch over to absolute newest and got the same result. Even still, I prefer to run it in 640x480 because it removes the borders and I think it scales better (don't quote me on this). I've also tested the lower resolutions. They all still work with the UI and this particular monitor. The only remaining issue is that the help text is doubled in size and draws over the first item, but I don't think there's anything we can do about that without introducing a special half size font (not worth it, imo). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! This is a great improvement over the prior hardcoded display behavior.
I tested all 4 displays sizes 720x400, 640x480, 360x200, and 320x240 and all run properly now.
As noted in other comments the smallest sizes 360x200, and 320x240 do result in the upper left help text overlapping on top of the first icon. I'll probably tinker further with the layout and see if we can fit that help text in a single row along the bottom.
720x400 isn't really the default. It is only used if the monitor reports supporting it. Could you run this test code to show what the monitor reports supporting? https://learn.adafruit.com/using-dvi-video-in-circuitpython/monitor-display-capabilities |
The absolute newest version of the core fixes the problem on this monitor. I'm not sure of the exact PR to reference. Here's the output of that program if you're still interested:
|
The particular monitor I've been using with the Fruit Jam (an old Dell 1907FPt 4:3 monitor) doesn't support the default aspect ratio of Fruit Jam OS (720x400, 1.8:1).
I've introduced support for 4:3 aspect ratio (640x480) by adding an environment variable,
FRUIT_JAM_OS_4x3
, and some additional changes to positioning. I believe an environment variable is the best way to approach so that it is easier for users to maintain their device's settings between updates.