Virtual display orientation issue

I’m having an issue trying to get my display to the orientation I want.

This is an ST7788 with
ST7789.SetDataAccessControl(true, false, true, false);

Drawing offscreen

And the same display with:
ST7789.SetDataAccessControl(true, true, false, false);

Works fine.

Is this a display limitation or could I be misconfiguring something?

Do you have any other screen to test? There are few kind of screen size, is it 240x240, or 128x128, 128x80. The driver does work only with 240x240.

if you want 6 as picture below, try:

SetDataAccessControl(false, true, true, false);


And look to me, cut off size is 1/3 of screen, seem screen is 160x128?

The display is definitely 240x240. This is a custom board with a SC2060, but I had the same issue with a prototype using a FEZ Bit using this board: Adafruit 1.54 240x240 Wide Angle TFT LCD Display with MicroSD [ST7789 with EYESPI Connector] : ID 3787 : $17.50 : Adafruit Industries, Unique & fun DIY electronics and kits

And this is the display from the initial post: 1.54 inch TFT LCD Display IPS Panel Screen 240x240 for Smart Watch

The screen is oriented sideways, with the ribbon cable to the right, so I think I would actually be looking for picture 5 from that chart.

Hi, this driver is simple with single file: ST7789.cs

You can uninstall the nuget and add this single file to your project if you want to change the source.

I see one example they use “Mode = SpiMode.Mode2” for this screen. Try to change Mode3 to Mode2 to see.

It definitely looks like something missing from the driver, and looking online it seems people have had this same problem with other platforms so it’s documented. I don’t have time right now to track the issue down, but when I do I’ll post back here.

1 Like

I bet it is a minor configuration change. Like Dat said, just pull in the one file and then compare it to the driver provided by the display manufacturer.