VMWare Player Dev Kit

After a days of messing around with VMWare + several Linux distros I’ve finally got it working - so I thought I’d share…

I tried Debian 10.3, Ubuntu 18.04 and Ubuntu 20.04 and used VMWare Player to create a Linux VM of each.

In the VM I downloaded fpcupdate and installed it. Tried a IDE rebuild + everything worked fine.

I then downloaded and installed CGE packages and the IDE rebuild failed horribly.

Finally, this morning, I hit on the solution - the VM was missing OpenGL!

In a terminal simply install QT5 dev + other libs with…

sudo apt-get install libpng-dev zlib1g-dev libopenal-dev libfreetype6-dev libvorbis-dev libqt5opengl5-dev

The IDE now re-compiles perfectly and I have a VM that renders my test project at about half-speed (which is fine by me)

It should now be possible to install Android stuff and get that working in the VM as well (I’ll be trying that in the next day or so)

The end result is a freely distributable disk image (I chose Ubu20) you can load into a VMWare Player and be up and running in minutes…

The same process probably works for other solutions e.g. VirtualBox

Now - I wonder if I can get everything running on my Raspberry Pi or Jetson Nano (ARM-64)?

Well, it sort of works on a Raspberry Pi 4 w 4G

First attempt noted issues…

fpcupdeluxe didn’t like the aarch64 even though I downloaded the aarch64 version so I installed the Distro version (Laz 2.0.6 + fpc 3.0.4) - that had some component problem but I ignored it (can’t remember which one)

Installed CGE packages + ran my test project

The Pi only supports GLES - but what do you expect for 50 eurodollars?

6-8 fps - but at least it worked…

I’ll try a lightweight desktop, that may help.

You can also use Docker to get a ready virtual system with CGE, and various tools (FPC cross-compilers, Android SDK etc.) ready to go. See https://github.com/castle-engine/castle-engine/wiki/Docker , https://hub.docker.com/r/kambi/castle-engine-cloud-builds-tools/ .

As for Raspberry Pi - yes, CGE works great on Raspberry Pi 4 :slight_smile: You can use the regular installation of Raspberry Pi and just do apt-get install fpc to get FPC, and everything should go smoothly. I have all applications ARM (32-bit), I didn’t try whether it is possible to set Aarch64 (i.e. ARM 64-bit) there. I have there OpenGL, not only OpenGLES:

OpenGL information (detected by view3dscene):

--------
Version:
  Version string: 2.1 Mesa 19.3.2
  Version parsed: major: 2, minor: 1, release exists: False, release: 0, vendor-specific information: "Mesa 19.3.2"
  Vendor-specific version parsed: major: 19, minor: 3, release: 2
  Vendor: Broadcom
  Vendor type: Unknown

  Renderer: V3D 4.2
  Fglrx (ATI on Linux): False
  Mesa: True

Oh and see https://castle-engine.io/manual_optimization.php about optimization. It contains various hints how to squeeze more speed from CGE :slight_smile: