Small progress update (HDMI output) (Patreon)
Content
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.