Full Version: New Raspberry Pi 4
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Wasn't expecting it, but am very happy to see it.
I've got one on order so have no idea yet on what changes if any are needed to the builds... I'll provide any updates as soon as I can.
First impressions of the Pi4 are mixed.. as a standard SBC its very nice, fast and smooth.


it seems to currently have no hardware GPU drivers and is currently using Mesa libs with emulation which is a disaster for us doing graphics.
At this point it seems to be a total bust, as it can't run any of the standard raspbian demo's without major changes (basically running as a standard linux machine) which very quickly throws up the limits of emulated mesa libs.

I am surprised by this, and hope its just me doing something wrong, but if indeed it has no hardware gpu support, we'll havet to put it in the drawer of shame for a while until they sort it out.
Ok so big update, the Pi4 does have GPU drivers but the way to use it is totally different to other Raspberrys and is now basically the same as other Linux SBCs using mesa drivers with libs and includes located in /usr/lib and /usr/include rather than opt/vc/lib opt/vc/include for the old broadcom drivers which do not work on Pi4

I've listed the set up elsewhere, I will also have to convert the sample projects to work with the new set up needed. It does mean that Pi4 needs a totally different configuration to function...this is the 1st time Raspberry has not been fully backward complient.

As always if you need help getting your pi set up, let me know.Ive worked out most of the kinks now.

If you are using Buster on Pi 0-3+ its all fine, continue as you were doing, there maybe changes coming as the new drivers mature, but for now we're still using Broadcoms IV drivers on the older systems
I have had a little time to play with the Pi4 this week, going to try to do some coding this weekend to remove dependance on X11 and use variable size renderbuffers...This has an impact on performance as I currently can't set the render buffer to the more SBC friendly half 1080p size, but I'll work on it. Running full screen the Pi4 is working pefectly with mesa drivers, but only 25-30fps full screen (60+ half screen res though) and I can't wait to develop some OpenGLES3.0 tests. I'm pretty sure 3.1 will come along sometime soon.

But one thing is clear... it is a hot system, and it can overheat and throttle which kills performance. I put on a small standard heatsink and it did ok with that, but with heavy game testing it does still end up overheating. So I added a small low rev 5v mini fan to the case to blow air over the heatsink and other board componants and now the system stays pretty steady under stress at 55deg, well below the 80deg throttle point. I am not really a big fan of ermmm, fans, but this is quiet and since it does dramaticlly help its good to have

Don't put it in the rather small official case unless you cut a hole for a fan to go in. That case is just a sauna when it starts up and it throttles back very quickly. I put mine in a perspex sandwich type case, but might buy another 1G unit to fit in the case as a test system for overheat tests.

A few interesting things I discovered too, was that it runs CPU sysbench tests for CPU and Memory quite a bit faster than the XU4, (using 4 cores), thats impressive.

I tried to do I/Oo tests but they were very slow to set up, and besides, unless I was using identical SD cards it would not really be a fair test.
Nice! Sounds like you are having fun with the RasPi 4.

I had seen something where there is a USB-C issue with the RasPi 4. Have you run into this?
It is nice, it is very nice indeed, It does have a few problems though but those will be mostly overcome or dealt with. Its graphics are quite different, so I have to make a lot of new code asap to help new book readers as the old graphic setup wont work which is irritating, but not the worst options. As long as the readers come here we'll have work arounds and new code to use.

We have to get rid of X11 somehow, so I'm busy getting my head around other options but find them a bit confusing, however it should help boost performance of the graphics. The 4GB memory, really does free up a lot of things and makes a lot more things viable.

The extra speed of the CPU is blistering, but you don't really get much more out of the GPU at the moment, that will come when proper ES3.0 coding is introduced, but running ES2.0 on a full screen framebuffer its much slower than the setup I use on a 3B+, and thats partly becuase of X11, so sooner I can dump it the better.

When I get the chance to use instancing and some other ES3.0 optiisations Im pretty sure the the Pi4 is more than capable of running at full res even with X11 though, so I can see multiple configurations being a thing in future demos.

I've not had any issues with the USB, I read that its a bit fussy, but I'm only using it for power with a fairly heavy 4A USB B powerunit, using a B->C adapter . Its not given me any issues, aside from the heat which the fan totally removes. A few other USB B units I tried also were fine though I only tried 3A or over.

I'd say that given there are a few errors like the USBC and the Drivers for the GPU are 1st gen, its really not a massive problem for the huge kick in performance this promises. The heat is clearly a concern, I don't think there's a huge amount they can do to drop that, they did something with the usb/net?? that helped but its still a branding iron of a system, so expect to see some better case designs and try to get one that has internall heat sinks/fans to really get the best out of it.

It really is a big leap forward from the older Raspberries and I have to doff my cap to the Raspberry people for this. In spite of some compatability issues, its an awesome little board.
I have one of these in bound so I'm hoping to give it a go and benefit from your postings.
its pretty awesome, just needs different graphic systems.
I was able to get the OpenGL ES 3.0 book examples to work on the RasPi 4:

First, install the mesa libs:
sudo apt-get update
sudo apt-get -y install mesa-utils

Then, download the code from Dan Ginsburg's github:

git clone

Then cd into the downloaded code
cd opengles3-book/

I found I had to set the following Environment variables to get the code to build:
set OPENGLES3_LIBRARY="/opt/vc/include/GLES3"
set EGL_LIBRARY="/opt/vc/include/EGL"

Then build the code:
cmake .

From here you can run one of the examples:
cd Chapter_2/Hello_Triangle/

Another cool item to test the Shader capability of the RasPi 4 is to down load and run ShaderToy from the following:

There are 100 shader examples that you can run through by pressing the "Esc" key.

Okay, one more.  Due to a conversation I had on another forum regarding a new BeagleBoard AI board, I went ahead and installed Quake 3 on the RasPi 4 following the instructions from the link below.  It seems to run pretty smooth on this board and I am quite impressed.
Thats very cool. I have been more focused on trying to produce a proper ES2.0 render system like broadcom dispmanx, which has not allowed me yet to mess with the too much with OpenGLES3 stuff.. but I did try a few things out when I first got it and on VisualGDB its just a case of pointing to the correct folders to get access to all ES3.x stuff. I did a few instance reneders of a terrain and was very pleased with the results.
I think a new book covering the 4 as a unique board might be worth a try. If only I can find the time.

I've seen a few people running Doom3 on the RPi4 and it is bloody impressive, it shows just how much more powerful this beast is compared to its baby brothers. It has pushed the Raspberry up to the top ranks of performance SBC's whereas before it was a middle of the road unit with great support and reliability but nothing to write home about in terms of perfomance compared to Odroids. I am excited to see the developments that improvements to the drivers will bring over the coming year.
Pages: 1 2