Home Artists Posts Import Register

Content

Hello everyone!

Life's busy (like always), and the hiatus is still very much going on (sadly), however, last Tuesday I managed to get a day off (after a lot of haggling with my boss) which I (mostly) spent trying to figure out what was wrong with the HDMI output on our GPD Win & Pocket Android build.

As it turns out, we actually have two issues to tackle here.

The first issue was that Android, by default, always attempts to run on the external monitor's preferred resolution, which wouldn't be a big deal for most people, however, if you are running a > 1080p monitor like I am, it very much becomes one as the chipset inside the Win / Pocket doesn't support outputting resolutions exceeding 1080p.

Thus, I had to put a resolution limiter in place that ensures the system picks a suitable external resolution that doesn't exceed its own supported maximum.

Sadly, right after this issue had been ironed out, I quickly came to realize another fix was needed, as the image that smiled back at me from my monitor was rotated 90° clockwise...

This issue stems from the fact that the internal monitor is, technically, a 720x1280 resolution screen, mounted 90° counter-clockwise, and Android simply mirrors whatever it sees on the built-in monitor's framebuffer to the external one.

Thus, it tries to blit a 720x1280 frame into a 1280x720 pixel HDMI framebuffer... essentially letter-boxing a 90° clockwise rotated image of the internal monitor.

My initial plan was to extend the gralloc code to just rotate the buffer before blitting the image (I ran out of time before I could finish that code), however I can't shakre this feeling that there has to be a better way to do this... (If anyone knows a better one, feel free to get in touch!)

Either way, it's time for me to get back to my regular dayjob.

I'll keep you all posted on any progress that is being made.

Files

Comments

Anonymous

Would it be possible to add in a way to rotate the screen like with the gyro but in this case it's just a screen rotation button. This would allow you to fix the screen rotation issue on hdmi out and also give us the option to be able to hold the win or pocket like a book for reading Kindle or any other eReader app

blackseraph

Yes, that is possible and probably also the way I will go about this in the future, however, you need to differentiate between physical and logical rotation. The issue we have with the HDMI output is because the physical rotation differs between the two displays we are running (the internal rotated portrait panel and the external non-rotated landscape panel).