Tft screen wrapping around(?) in EmulationStation menu
-
Hello! I recently decided to make a handheld retro gaming console, so I got myself a 1.3inch tft screen(st7789) off of aliexpress and I've used mipi-dbi-spi with the wavesku19650 driver. During the EmulationStation loading screen, the screen works just fine but when it gets to the menu, I get a weird effect(photo below). Sometimes the menu freezes and I am unable to navigate it. I tried running a game from the command line using runcommand and the screen only worked correctly when I ran the command without EmulationStation launching. I also previously tested the screen with my pi5 with the same driver and settings and it worked just fine. I found a similar post but there was no answer there either. I am pretty new to most of these so apologies if I got something wrong.
Pi Model or other hardware: Pi Zero 2w
Power Supply used: Battery(Tested with an adapter as well)
RetroPie Version Used: 4.8.9
Built From: github, manual installation
Config:
dtoverlay=mipi-dbi-spi,speed=32000000
dtparam=compatible=wavesku19650\0panel-mipi-dbi-spi
dtparam=write-only,cpol,cpha
dtparam=width=240,height=240
dtparam=reset-gpio=22,dc-gpio=27,backlight-gpio=23
dtparam=fps=60 -
Built From: github, manual installation
Are you using the latest RaspiOS for installation ? When you tested on the Pi5 did you use the same image/OS and the same ES theme ?
-
@mitu The RaspiOS and Kernel versions are the latest for both the Pi's. Although the RetroPie version for the Pi5 is 4.8.8. I believe I installed RetroPie the same way on the Pi5. I am not sure the ES themes make a difference but I did manage to test another ES theme on the Zero2 and the effect doesn't seem to change.
-
There's nothing special about ES - it's just a regular SDL2 application and it's not setting any video related parameters when it starts - the only difference in the Pi version is the GPU drivers, which are a bit different.
Is the text console properly displayed, without any underscan ? Any other applications that use KMS/DRM are working fine ?
What's the output of running the following command ?
/opt/retropie/supplementary/kmsxx/kmsprint-rp
-
This is the output:
Connector 0 (31) SPI-1 (connected) Encoder 0 (35) NONE Encoder map: 35 to 34 Mode: 0 crtc 34 240x240 @ 60Hz (60.00) n/a (3.46 Mhz, preferred, driver) Mode: 0 connector 35 240x240 @ 60Hz (60.00) n/a (3.46 Mhz, preferred, driver)
The text console seems to be properly diplayed. I can even run games with runcommand and I don't get that error.
-
The resolution is detected ok, so there's no issue here. No idea why just ES doesn't show up properly.
One thing you can try, can you run ES and specify the resolution manually:emulationstation --resolution 240 240
-
This reminds me of the GPU reset malfunction issue with the RPi 3 and RPi Zero 2. I think only Buster is not affected by this.
https://github.com/raspberrypi/linux/issues/5780 -
Thank you both for the help! The workaround on the github page seems to have resolved the issue.
-
It would be very helpful if you could tell us the steps to add the workaround.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.