retropie and waveshare 32b?
-
@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 -
@rog585 what was causing that there white screen of yours? I've followed them there instructions multiple times from fresh installs of the RetroPie and I still be getting that there white screen. If you don't mind throwing me a slice of knowledge, I'd sure appreciate it. Thanks kindly.
-
@senkun
Hi!
Is it possible to get the Waveshare 32b working on a B+?
A seller on amazon said it was possible, but he only sends images to costumers.
Regards -
I've made a video of the Waveshare 3.5" running with these settings here:
I'll be following this up soon with a 3.2" screen for comparison to see which is most suitable for Retropie.
If you find this useful please take a moment to subscribe to my channel for more similar content.
-
@RetroManCave
Just watched your vid and subbed. What are your video settings? Mine still looks terrible. I have the 3.2in screen. -
I just used the guide to setup my waveshare32b display and it worked like a charm! Thanks again for the guide. After the initial happiness, I also saw some flaws which I corrected. Perhaps others can benefit from them.
After getting the display to work there were borders around the screen and there was lagging between input and the screen. Borders are killing on a small screen like this, and can easily be fixed by setting extra parameters in the /boot/config.txt.
So this is what I added to the end of the file:
hdmi_force_hotplug=1 hdmi_cvt=320 240 20 1 0 0 0 hdmi_group=2 hdmi_mode=87
The hdmi_cvt parameter can be edited if you have another display. Values stand for:
hdmi_cvt=<width> <height> <framerate> <aspect> <margins> <interlace> <rb>
width width in pixels
height height in pixels
framerate framerate in Hz
aspect aspect ratio 1=4:3, 2=14:9, 3=16:9, 4=5:4, 5=16:10, 6=15:9
margins 0=margins disabled, 1=margins enabled
interlace 0=progressive, 1=interlaced
rb 0=normal, 1=reduced blankingThe lag in the screen was because of the SPI speed, which by default is not very high. You can manually set it to an higher rate in the same /boot/config.txt.
Normally you would write this line:
dtoverlay=waveshare32b
To add SPI speed, just add parameters to the end of this line. This would lead to the following completed line:
dtoverlay=waveshare32b,speed=42000000,fps=20
Setting the speed to 42000000 is the advised maximum speed, but I've seen people using 60000000. If you use an extender-cable or something like this, perhaps you have to lower this to 16000000 to make it stable. This will influence the speed of the screen and I advise to not use cables between your screen and the raspberry PI for optimal results.
The FPS of 20 is the same as what I set in the hdmi_cvt parameter. This is important to keep the same value.
Happy gaming.
-
so I have a problem with your guide, I want to install tactile switch buttons but guide your disables retrogame from adafruit is there a solution to that?
-
@wenamba what version of retropie do you use ? i have tried this set up on both 4.1 and 4.3 and with no joy just an expensive white touch for my raspberry pi
i have tried all above for 2 days now and not getting anywhere
ls /dev/fb* sometimes i will get /dev/fb1 or /dev/fb0 but nothing on my screen.
i have tried installing the driver that came with the cd into the pi root with winscp and still no joy.
i have tried installing just the normal setup that comes on the cd to test the screen and it works fine., just finding now impossible to get it working with retropie will try another week and if no joy will sell the screen on ebay to some fool
-
@senkun i bought the waveshare 4 inch hdmi display, and the above method isn't working with it.
please help me out! -
3.5 still works!!!!!! great job!!!!!!
-
@flashmaster hey flashmaster i solved it you need to go on https://github.com/mholgatem/GPIOnext follow his instruction install it and when you install it go to bash gpionext then configure and then choose keyboard just select random buttons and go back in with you retropie and go to configure and voila it will be recognised if you need further informations just reply
-
@tonaytan so guys I made a guide maybe someone wants to look into that because GPIOnext needs some commands that need to be added https://retropie.org.uk/forum/topic/12176/pigrrl-button-installation-need-advise
-
@tonaytan hi tonaytan Can you share your image file? I tried to set a week but only got a black screen
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.