retropie and waveshare 32b?
-
@glennlake So the unit needs to be one pin to the left?
-
@rog585 No, the pins must be lined up straight. But what I did by mistake is, I plugged in the screen to the Pi off by a pin and nothing worked.
-
ahhh i have just done that and the pi didn't boot up. I'm going to re image another sd card with retropi and try again. Thanks for all you guidance, really appreciate your time.
-
@rog585 OK sounds good. I would make sure your RetroPie boots and works fine before I try the Pitft screen. Divide and conquer troubleshooting.
-
Still no luck, I have tried it again and updated the retropie image before i ran the adafruit script. Can any one help?
-
@rog585 I copied this from the Adafruit site. Sometime you can miss something on the webpage. http://pastebin.com/whMCbDAb I had a thought. Could the screen be bad?
-
Will give it another go, the screen is good. It works with the image given from waveshare. Just when i do anything with it without the waveshare image it is just a white screen.
-
If you have a 3.5 inch waveshare screen use the below code, it works and now i have a mini screen working with Retropie
git clone https://github.com/swkim01/waveshare-dtoverlays.git
sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/
Note! If you're running the latest Retropie with linux 4.4 kernel or newer (check in terminal uname -a), use the following instead;
git clone https://github.com/swkim01/waveshare-dtoverlays.git
sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/waveshare35a.dtbo
now edit your config.txt
sudo nano /boot/config.txt
and add these two lines to the very bottom;
dtparam=spi=on
dtoverlay=waveshare35a
ctrl+x then y then entersudo reboot
again quit ES drop to command line, check the existence of your new tft display by typing;
ls /dev/fb*
you should see dev/fb0 /dev/fb1
/dev/fb1 is your tftif you don't see /dev/fb1 you've messed up and need to start over
if all is good, now we get retropie output to your tft;sudo apt-get install cmake
git clone https://github.com/tasanakorn/rpi-fbcp
cd rpi-fbcp/
mkdir build
cd build/
cmake ..
make
sudo install fbcp /usr/local/bin/fbcp
now to launch fbcp automatically we need to add;
sudo nano /etc/rc.local
Before, the final “exit 0” line, add the following:
/usr/local/bin/fbcp &
ctrl+x then y then entersudo reboot
-
@senkun do you know how to increase the frames per second to make it run smoother?
-
@rog585 Glad to see you got your screen working. I got burned using the Waveshare drivers when I first started to setup my screen and so I didn't recommend that. I don't know about their setup for but for the Adafruit setup you will find in the /boot/config.txt this line " dtoverlay=pitft35r,rotate=90,speed=64000000,fps=30". The "fps" is for the frames per second. I can't say the same is in your setup but it's worth a look. If you change it just be sure to backup your settings first now that it's working.
-
@glennlake its the same, as you suggested. its sooo jumpy though i have tried different speeds and fps but not great. This i will turn it into a digital photo frame for work. Have sine bought a 3.2 screen as the feedback was better. Thanks for all your help.
-
lol did you type all that or did you just cut and paste all that from my guide right on top?
-
@rog585 said in retropie and waveshare 32b?:
@senkun do you know how to increase the frames per second to make it run smoother?
Nope. Limitation of bandwidth on SPI. 3.5" and 4" screens will have tearing and lag, they are 480x320 compared to the 3.2" screen with 320x240. So they're struggling to push double the pixels. If you need a larger screen for gaming, most people just go composite or HDMI. There are a lot of cheap nobrand composite 4.3" screens you can try, or use the 5" or 7" HDMI screens from waveshare.
Using the guide I wrote above, second post on this thread, you can get waveshare 3.2", 3.5" and 4" TFT screens working.
If you're using their 3.5" or 4" screens, substitute these lines:
git clone https://github.com/swkim01/waveshare-dtoverlays.git
sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/
But if your linux kernel is 4.4 or newer, use this instead:
sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/waveshare35a.dtbo
-
@senkun said in retropie and waveshare 32b?:
Nope. Limitation of bandwidth on SPI. 3.5" and 4" screens will have tearing and lag
Can't you increase the speed of SPI bus to (somewhat) work around this?
-
hello guys,
first of all I wanna thank to all that helped me alot to set up wareshare 3.5 inch LCD to my Rpi for Retropie. senkun's explanation is quite good.
but Ive a problem, frame rate is so bad to play games, and really annoying after struggling to set the LCD up.I ve the latest Retropie 4.0.2 and Waveshare 3.5 inch LCD. tried to setup the speed and set it to 20000000, cuz when its more than it, I got invalid colors. (Pls do not set the speed lower than xx million, if yes, you need to wait a lot to boot - I made it 5 and to solve it quickly re installed retropie) and fps=60, its still annoying and have late response.
Do you have any solution or suggestions how to work it faster? thanks in advance.
-
hello again,
after many times research, I couldnt find a way to speed up my 3,5 inch waveshare LCD, instead I bought 3,2 inch same brand. it works awesome, I tried it with Gameboy Advance and Neo Geo roms its just perfect. and the thing that make me feel great is playing Quake 3 on my lit LCD w/o any problems.
I dont know if I do the calculation right but, 3,5 has double pixels , and 3,2 is 46~48mhz, 3,5 16~18mhz. so I can say that 3,2 is faster 6 x than 3,5.
:):)thanks everyone.
-
@senkun EVEN I'M FACING WITH A LAGGED GAMEPLAY EVEN ON NES ROMS. I'M USING A WAVESHARE 32B 3.2 LCD SCREEN AND IT HAS BEEN CONFIGURED AS PER THE INSTRUCTIONS SHOWN HERE. BUT I'M AT A LOSS AS TO HOW TO TWEAK THE FPS. INFO ON THAT PART WOULD BE HIGHLY GRATIFIED.
-
hi Bikash,
I m using 3.2 waveshare and it works fine, I will share the codes or whole config file with you , once Im at home.
-
All works up until I run the "make" command and then I got a whole load of errors popup.
[100%] Building C object CMakeFiles/fbcp.dir/main.c.o
/home/osmc/rpi-fbcp/main.c:8:22: fatal error: bcm_host.h: No such file or directory
#include <bcm_host.h>
^
compilation terminated.
CMakeFiles/fbcp.dir/build.make:54: recipe for target 'CMakeFiles/fbcp.dir/main.c.o' failed
make[2]: *** [CMakeFiles/fbcp.dir/main.c.o] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/fbcp.dir/all' failed
make[1]: *** [CMakeFiles/fbcp.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2
osmc@osmc:~/rpi-fbcp/build$ sudo nano /boot/config.txt
osmc@osmc:~/rpi-fbcp/build$ make
[100%] Building C object CMakeFiles/fbcp.dir/main.c.o
/home/osmc/rpi-fbcp/main.c:8:22: fatal error: bcm_host.h: No such file or directory
#include <bcm_host.h>
^
compilation terminated.
CMakeFiles/fbcp.dir/build.make:54: recipe for target 'CMakeFiles/fbcp.dir/main.c.o' failed
make[2]: *** [CMakeFiles/fbcp.dir/main.c.o] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/fbcp.dir/all' failed
make[1]: *** [CMakeFiles/fbcp.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2Any ideas what is going wrong?
-
@senkun Thanks for your post, it was simple and plain worked. For some reason though, retropie has just suddenly stopped outputting to the screen - I haven't updated anything or changed anything, I did scrape some games. Could that have done it??? I tried to redo all the steps but since I already have everything installed and have already edited the config files as directed, I can't figure out what else to do. Any ideas?
For more options and information see
http://www.raspberrypi.org/documentation/configuration/config-txt.md
Some settings may impact device functionality. See link above for details
uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
uncomment this if your display has a black border of unused pixels visible
and your display can output without overscan
disable_overscan=1
uncomment the following to adjust overscan. Use positive numbers if console
goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16uncomment to force a console size. By default it will be display's size minus
overscan.
#framebuffer_width=1280
#framebuffer_height=720uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1uncomment to force a HDMI mode rather than DVI. This can make audio work in
DMT (computer monitor) modes
#hdmi_drive=2
uncomment to increase signal to HDMI, if you have interference, blanking, or
no display
#config_hdmi_boost=4
#framebuffer_width=1280
#framebuffer_height=720uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1uncomment to force a HDMI mode rather than DVI. This can make audio work in
DMT (computer monitor) modes
#hdmi_drive=2
uncomment to increase signal to HDMI, if you have interference, blanking, or
no display
#config_hdmi_boost=4
uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
dtparam=spi=onUncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
Additional overlays and parameters are documented /boot/overlays/README
Enable audio (loads snd_bcm2835)
dtparam=audio=on
gpu_mem_256=128
gpu_mem_512=256uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
dtparam=spi=onUncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
Additional overlays and parameters are documented /boot/overlays/README
Enable audio (loads snd_bcm2835)
dtparam=audio=on
gpu_mem_256=128
gpu_mem_512=256
gpu_mem_1024=256
#overscan_scale=1dtparam=spi=on
dtoverlay=waveshare32b
display_rotate=2
pi@retropie:~ $ ls /dev/fb*
/dev/fb0 /dev/fb1
#!/bin/sh -e
rc.local
This script is executed at the end of each multiuser runlevel.
Make sure that the script will "exit 0" on success or any other
value on error.
In order to enable or disable this script just change the execution
bits.
By default this script does nothing.
Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
/usr/local/bin/fbcp &
exit 0
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.