GamePi20 - LCD once again... RetroPie 4.8 and Pi Zero 2 W
-
If You have problems with LCD not working with Your Gamepi20 that's the place to get some help from.
I bought this game hat a while ago with Pi Zero WH. Unfortunately there was no way that this things could work toghether. I tried preconfigured images from Recalbox 7.1.1 and Retropie with 4.4 or 4.7.1. LCD wasn't turning on. Tried to upload clean RetroPie and Recalbox images and add the drivers manualy. No luck there, with ReptroPie system hanged during compliing the drivers. Then have replaced the unit with the new one, because I thought it was broken and... the same story happened.
Second step was to buy a Pi Zero 2. Tried to install clean images and manual adding the LCD fbcp-9341 driver - still no luck. Then I used precomplied from Waveshare 4.8 RetroPie .IMG file and bingo! The small screen started to work.
But there were problems:
- the HDMI screen was upside down;
- the LCD screen goes black first 120 seconds, then every 60 seconds, the backlight control sometimes was reacting to pressing buttons but not every time, whch ended up with a black screen during the gameplay.
So to solve this problems with RetroPie 4.8 I did the following:
-
Downloaded Waveshare fbcp drivers from:
https://files.waveshare.com/upload/1/18/Waveshare_fbcp.zip -
Extracted it and then edited 'waveshare-2inch' file from 'shell' catalogue, first deleted section which controlls installing the driver only in raspbian system, and then modified backlight control from 'on' to 'off'. Finaly got that:
if [ -d "/home/pi/Waveshare_fbcp/build" ]; then sudo rm -rf /home/pi/Waveshare_fbcp/build fi mkdir /home/pi/Waveshare_fbcp/build sudo apt update sudo apt install cmake -y sudo apt install unzip -y sudo cp /home/pi/Waveshare_fbcp/shell/boot/32/waveshare-2inch.txt /boot/config.txt sudo cp /home/pi/Waveshare_fbcp/shell/etc/rc.local /etc/rc.local cd /home/pi/Waveshare_fbcp/build sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_2INCH_LCD=ON -DBACKLIGHT_CONTROL=OFF -DSTATISTICS=0 .. sudo make -j if [ -x "/usr/local/bin/fbcp" ]; then sudo rm -rf /usr/local/bin/fbcp fi sudo cp ./fbcp /usr/local/bin/fbcp echo "The system is configured." echo "The system will restart." sudo reboot fi
- I've made WiFi connection, entered network neighborhood (\\retropie) and copied whole Waveshare_fcbp folder with modified shell script to the 'splashscreens' share:
- Then You go to RetroPie configuration screen and choose File Manager, copy whole thing to the 'home\pi' directory of Your RetroPie:
- Exit file manager, exit emulation station to the terminal, compile the drivers:
cd Waveshare_fbcp/ sudo chmod +x ./shell/* sudo ./shell/waveshare-2inch
- The LCD screen will blink and... it's all ok. No faulty screen blanking, no HDMI upside down:
- Last thing to do is to make a proper config.txt. Because Waveshare script makes it's own config file You need to add at least a line to make inbuild speaker to work. Enter the terminal:
cd .. cd .. cd boot sudo nano config.txt
Add:
audio_pwm_mode=2 dtoverlay=audremap,pins_18_19
Close the file with CTRL+X, press Y, confirm the filename and reboot.
And that's it. This fairytale has a happy end. Everything works in a way it should from the very beginning. You can edit config.txt file in a way You want to. Add memory size, add lower arm_freq if You want to save some battery, uncomment unnecessary lines, it's all up to You.
I hope this will help a lot of people, the only obstacle here is to solder a GPIO into Pi Zero 2 board.
Best of luck mates.
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.