Skip to content
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

Geekcreit screen all white #139

Closed
xmaayy opened this issue Apr 2, 2020 · 8 comments
Closed

Geekcreit screen all white #139

xmaayy opened this issue Apr 2, 2020 · 8 comments

Comments

@xmaayy
Copy link

xmaayy commented Apr 2, 2020

Description

This it the screen

The board has no real markings for its maker but this is their pin definition
image
Seems like it would be similar to #40. They also use the same driver download site as the other 3 pin screen issue git clone https://github.com/goodtft/LCD-show.git.

Steps taken

Tried using -DKEDEI_V63_MPI3501=ON and -DSPI_BUS_CLOCK_DIVISOR=30 (all the way to 100) and it sometimes flickered (guessing that was the CLS) but nothing after that. Always a white screen.

@juj
Copy link
Owner

juj commented Apr 3, 2020

Very hard to say, I'm afraid. Nothing stands out on the web page.

If trying out the different build drivers and options does not help, it may be that the only option is to reverse engineer the bus.

@xmaayy
Copy link
Author

xmaayy commented Apr 3, 2020

Darn. The odd part is I install the drivers and the touchscreen works (I can move the mouse around with it), but it just stays white. So I can tell its communicating with at least one part of the screen properly.

Think its a dud?

@juj
Copy link
Owner

juj commented Apr 3, 2020

Do you mean that the display stays white even with the goodtft LCD-show drivers? (since fbcp-ili9341 does not have touch support, except in #76 branch) If so, then the display may be faulty, try contacting manufacturer for support?

@RafhaanShah
Copy link

RafhaanShah commented Apr 4, 2020

I have the same one (http://www.lcdwiki.com/3.5inch_RPi_Display) works fine with goodtft drivers but just getting a white screen with fbcp-ili9341. Any ideas?

Using -DKEDEI_V63_MPI3501=ON: white screen, ctrl-c would not stop the process until I pressed it 5 times.

Using -DTONTEC_MZ61581=ON: screen turned grey, and ctrl-c stopped it properly and the screen went back to white.

Using -DWAVESHARE35B_ILI9486=ON: screen turned black, ctrl-c stopped it but the screen stayed black. Tried -DSPI_BUS_CLOCK_DIVISOR from 40 to 80.
Also tried -DUSE_DMA_TRANSFERS=OFF which caused it to not quit properly again.

Output of uname -a

Linux raspberrypi 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l GNU/Linux

@briwa
Copy link

briwa commented May 6, 2020

First off, thank you for this project @juj. I was following this guide for my 3.5 inch screen and was not satisfied with the FPS and yours gave me hope and it was definitely an improvement. Thank you again.

From that link you'll probably see that we might have a similar looking TFT screen (I got mine from this link (wiki that they provide). I got mine working using:

-DWAVESHARE35B_ILI9486=ON

because at first both simply looked pretty similar (although in retrospect it wasn't exactly the case). It's also because I thought both used ILI9486 driver and both are HATs so maybe they have exactly the same pins assignments. Turns out, it works!

I also used:

 -DSPI_BUS_CLOCK_DIVISOR=16

Anything below that wasn't really working for me. I was thinking if I should go to 20 but seems like 16 works fine. For an additional information, I'm on RPi 3B running Retropie 4.14.

Here's a little demo:
sonic

Heavier games like PSX sure drops the FPS but at this point I'm already satisfied with it, since it's better than the alternative.

Not sure if it applies to any of your situation. I'm just excited that I managed to get it working and just hoped that this could help anyone. Cheers

@juj
Copy link
Owner

juj commented May 6, 2020

That's pretty cool! Something that I found on the ILI9486 that I tested was that since it is so much more bus constrained compared to ILI9341, it created tricky framerate "bounces" when in static scenes it would work 60fps, but when there is a lot of action, framerate would quickly tank. Something I found interesting for that was to set TARGET_FRAME_RATE to 30 instead of 60.

That would reduce the overall frame rate, but in sudden action scenes, frame rate fluctuations would be smoother, so in some games it was a bit more pleasing visually. Might be worth a shot..

@briwa
Copy link

briwa commented May 7, 2020

@juj I tried your suggestion, and while it's not producing perfect 60fps, it does help not having that sudden bounces! Thank you again, I really appreciate your work.

@juj juj closed this as completed Dec 8, 2020
@zeekoe
Copy link

zeekoe commented Feb 3, 2022

For future reference, I also have this display and needed to disable DMA for it to display something:

cmake -DSPI_BUS_CLOCK_DIVISOR=30 -DWAVESHARE35B_ILI9486=ON -DUSE_DMA_TRANSFERS=OFF ..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants