Welcome, Guest
You have to register before you can post on our site.



Search Forums

(Advanced Search)

Forum Statistics
» Members: 82
» Latest member: shay
» Forum threads: 223
» Forum posts: 889

Full Statistics

Online Users
There are currently 41 online users.
» 0 Member(s) | 41 Guest(s)

Latest Threads
Forum: Other SBC's
Last Post: Brian Beuken
Yesterday, 12:43 PM
» Replies: 0
» Views: 6
Forum: Assets, Tools, Libraries and other useful things
Last Post: Brian Beuken
12-01-2020, 01:29 AM
» Replies: 3
» Views: 2,743
Display res..at last
Forum: Other SBC's
Last Post: Brian Beuken
11-30-2020, 10:25 AM
» Replies: 1
» Views: 1,956
INSERT COIN Pleasure Dome...
Forum: General Chat
Last Post: jomoengineer
11-29-2020, 11:13 PM
» Replies: 0
» Views: 25
New tinkerboard on the wa...
Forum: Other SBC's
Last Post: jomoengineer
11-29-2020, 10:45 PM
» Replies: 1
» Views: 88
Dear Imgui
Forum: Assets, Tools, Libraries and other useful things
Last Post: Brian Beuken
11-28-2020, 06:13 PM
» Replies: 7
» Views: 4,378
Forum: Assets, Tools, Libraries and other useful things
Last Post: Brian Beuken
11-27-2020, 11:35 PM
» Replies: 0
» Views: 16
Forum: Assets, Tools, Libraries and other useful things
Last Post: Brian Beuken
11-26-2020, 09:07 AM
» Replies: 1
» Views: 19
GLMark2 Scores
Forum: Assets, Tools, Libraries and other useful things
Last Post: Brian Beuken
11-18-2020, 02:24 PM
» Replies: 9
» Views: 4,398
And another one to buy :D
Forum: Raspberry Pi questions
Last Post: Brian Beuken
11-07-2020, 02:05 PM
» Replies: 2
» Views: 231

Posted by: Brian Beuken - Yesterday, 12:43 PM - Forum: Other SBC's - No Replies

bugger... oh well I got it from a proper supplier, so sending a return request.

[Image: image.png]

Print this item

  INSERT COIN Pleasure Dome Watch Party 11/29
Posted by: jomoengineer - 11-29-2020, 11:13 PM - Forum: General Chat - No Replies

I realize this is a bit last minute, but there will be an INSERT COIN Pleasure Dome Watch Party via the Alamo Drafthouse On-Demand Virtual Theater experience. INSERT  COIN Pleasure Dome Watch Part

INSERT COIN is a documentary about the Chicago's Midway Games from the Arcade days where games such as Robotron,2084, Mortal Kombat, and NBA Jam.  The doc was create by filmmaker Joshua Tsui and the Watch party is hosted by Polyon.

More Info:

Print this item

Posted by: Brian Beuken - 11-27-2020, 11:35 PM - Forum: Assets, Tools, Libraries and other useful things - No Replies

I still like to use free and functional libs even if a little old so long as they still serve their funtion I'm happy. So while looking into doing a network project, I reviewed what some of my students did a while back producing Battlehips. Its a great game and cross platform. One of the most complete examples of cross platform work I've ever had from 1st years.

And they used RakNet for networking. A nice lib I have used many times in the past, which was originally free or low cost for indie developers when I was coding in anger. Its since been bought out by Oculus as they wanted to develop networking libs, which in turn meant it was bought out by Facebook.

And Facebook did something nice, they made it freely available to all via a git hub so we can all use it.

As its not been touched for a long time there are a couple of quite minor issues with it, mainly because modern compilers don't like a particular line in ReplayManager3.cpp which needs to be edited so that line 141 where it says  == false is changed to == nullptr

There's a few steps to this, in a console on your SBC enter

sudo apt-get install cmake -y
git clone https://github.com/facebookarchive/RakNet.git /home/pi/RakNet
cmake .

now open up a text editor on your system and do theedit to ReplayManager3,  oh and this is important, if you are using a 64bit OS you do also need to comment out line 24 of FileList.cpp, or it won't build on Arch64

once you've made and saved the edits go back to your console and do this
make install

And its built, you'll get a few warnings but it wil be ok, if your system throws out an error though, we might be stuck, let me know. Next move the lib into a more useful space on your system using these console commands

sudo mv Lib/LibStatic/libRakNetLibStatic.a /usr/local/lib
sudo mv include/raknet /usr/local/include/

Done.. you can keep the source and build files if you want but they don't get used, you've sent the important files to your system, and can be incorporated into your project

You can remove with this command.

rm -rf /home/pi/RakNet

Print this item

Posted by: Brian Beuken - 11-25-2020, 08:25 PM - Forum: Assets, Tools, Libraries and other useful things - Replies (1)

This will be covered in some demos I am doing but its useful for older code too. Full2D Text display can be a bit tricky on C++ GPU projects but there's a nice library that lets us do quite a lot, to install the libs you do need to build it so here are the steps

sudo apt-get install libfreetype6 libfreetype6-dev -y

cd /home/pi
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.6.3.tar.gz
tar -xvzf freetype-2.6.3.tar.gz
cd freetype-2.6.3
sudo make install
you could make a script for this if you want. I covered how to use this in Lesson 10 of the MagiPi tuts.

Print this item

  New tinkerboard on the way
Posted by: Brian Beuken - 11-22-2020, 04:34 PM - Forum: Other SBC's - Replies (1)


hmmm I really like the Tinkerboard, its a very solid, well made and impressive bit of kit... and about 10 people own one.. user forums are empty and Asus don't even list it in their main website you have to search for it. Its a tumbleweed system if ever I saw one.

Its surprising that Asus even want to bring out a new one, but I guess they feel it will work and thats nice to see. Though you can't even find any content on this new board on their website.. The support just doesn't match the technical skill they have in making them.

But we'll see, all the RK3399 boards I use so far are excellent  graphic system and have great performance for most thigns. This may be too.. Not going to rush out to buy one but will have a tinker (geddit?) at some pont.

Print this item

  And another one to buy :D
Posted by: Brian Beuken - 11-02-2020, 09:32 AM - Forum: Raspberry Pi questions - Replies (2)

I like this idea very much


Having it as a complete system makes it almost plug and play, that will certainly encourage a few technophobes. Its also overclocked to 1.8Ghz thats quite a boost, I hope the cooling is up to it.. I'll have to buy one to test... (for research purposes of course)

I do think they've missed a trick by keeping the micro HDMI ports, they should have gone full size, but at least a cable is supplied.

I'm rather hoping they do a pro version with 8GB and a mech keyboard with full sized HDMI for under 150, that will be something to see..taking us right back to the 80's home computer days.

Print this item

  oooh Dynamic allocation of GPU
Posted by: Brian Beuken - 09-21-2020, 04:01 PM - Forum: Raspberry Pi questions - No Replies

Now this is interesting, I was asking about the >512MB bug on the Pi4, that causes it to be unstable, and it turns out it may well be becuase I've totallly misunderstood the purpose of the GPU allocation of GPU on Pi4 as indeed have many others


Unlike the Pi3 and before, the Pi4 allocates its memory dynamcally as it needs it..which is wonderful.. the config allocation is really only to set up how much memory you give to the camera, codecs and other things... so that setting  can actually be quite low.. I thought that like the Pi3 it was giving the GPU a memory pool to work from, its not the case.

When running the GPU should grab what it needs from the overall memory shared with the CPU In theory up to 1GB which is as much as the GPU can actually address, though in practice it crashes over 800mb. Which kinda explains why >512 crashes, if you give the internal systems 512 as soon as you start to do anything yourself thats remotely graphical, you're pushing up near that 800mb total, where bad things happen....though why bad things should ever happen is a mystery to me.

so.. thats quite interesting but not at all a well explained process...
Set your GPU memory quite low on a Pi 4 and you actually are giving your GPU more of that 1GB address (800mb in reality) to play with....very counter intuative.

Print this item

  I think I'm getting better now
Posted by: Brian Beuken - 09-20-2020, 12:38 PM - Forum: Other SBC's - Replies (2)

I suspect my desire to own every SBC has finally been sated. The Pi4, is the last one I bought though I did get a 2Gb and a 4Gb, I don't quite seen the need for an 8G for what I do.
ie, GPU based games development. The 2Gb I am testing as a passive cooled system to see how far I can push it.. though its a nice metal case cooler so pretty effective.

I've taken a little bit of time in the last weeks to review many of my older SBC's and find it sad so few have progressed in their OS's or their Drivers.. Even the mighty Odroid's are lagging behind, the XU4 and C2's still being the onlys one to have anything like proper support for the GPU, and XU4 still, outperforms the new RPi 4's.  But their later boards just don't seem to have the support yet.

Orange and Banana keep chucking out boards every few months but no support other than the admirable efforts of Armbian. But for Armbian, GPU support is not a priority. the kickstarter based Friets are painfully underwhelming, FriendlyArm's little boards are a delight but support is mixed, though I do like my little neo4, and the newer Odroids, as I say, just don't cut it. The last 2 or 3 units like the N2,I have bought have been remarkably powerful boards on paper,  but no GPU support to really make them stand above the crowd or their XU4 sibling. The Vim's... sigh.... so much potential...

So for me the journey is pretty much done, I'm not seeking any more boards for a while unless I am assured they have GPU support as standard, I don't build my own OS's. I'm going to focus only on my Nvidia Jetson, which blows every board away on GPU power, and Raspberry Pi4  for general everyday use. Though its OpenGL 3.1 and 3.2 support isn't there yet, I'm prettty sure will  be in time.

Im putting together some new tutorials for these systems, to fully demonstrate OpenGL3.0+ and hopefully I'll start to show the results in a few months.

Print this item

  ODROID-N2+ Announced
Posted by: jomoengineer - 07-22-2020, 06:29 PM - Forum: Other SBC's - Replies (1)

Looks like ODROID has updated their N2 line to N2+ with some nice updates.

Due to a revised silicon design by Amlogic S922X SoC, the new board will get a 22% speed increase with the 4 Cortex-A73 cores from 1.9GHz to 2.2GHz. Also, the new N2+ now has an on board CR2032 battery holder where the previous version required a pig-tail RTC battery. Plus, the newer N2+ should retain the same price of the previous N2: 2Gb model - $63 US, 4Gb Model $79 US.

There are a couple of examples listed on the ODROID YouTube channel show casing the N2+ running The Dolphin Emulator with Android 64-bit and the Vulkan driver as well as an Ubuntu 20.04 example.

The ODROID N2+ is listed as preorder with boards shipping around July 26th, 2020.




Print this item

  Error on running triangle: Received a SIGABRT: Aborted
Posted by: Lawro - 07-17-2020, 07:54 AM - Forum: Help my code won't work?? - Replies (3)

Edit: I've removed the attached zip file and sent it you you via e-mail instead as I wasn't sure if you'd be happy for the code to be hanging around on the forum.

Good day to you Brian,

Thanks for the great book - I'm a recent CS convert from a different discipline (audio) in games, and quite like the idea of SBCs, so your book is a perfect start!

I'm having a bit of trouble running the code for the first example, and was wondering if you might be able to help? The first error message I get is a thrown exception:

Received a SIGABRT: Aborted

The line in question is the following:

assert(state->surface != EGL_NO_SURFACE);

The VisualStudio (I'm running 2019, and a Pi 3 B+) output is this:

&"warning: GDB: Failed to set controlling terminal: Operation not permitted\n"
GameProject1: GameProject1.cpp:229: void init_ogl(Target_State*, int, int): Assertion `state->surface != EGL_NO_SURFACE' failed.

I'm guessing this is going to be some pointer-related issue, though for the life of me I can't track it down.

I'd appreciate it if you could have a look at some point - I've attached my code in a zip file.

Print this item