Panda3D Compiled and Installed on ‘Klystron’

I have just completed a project, by which I downloaded, compiled and installed the 3D-game / 3D-application development software named Panda3D, on the powerful Linux laptop I name ‘Klystron’. That laptop is not to be confused with the less-powerful Web-server I name ‘Phoenix’.

This game-development kit started out years ago as a much-simpler project from Carnegie-Mellon University, which at the time I called a toy. But as it stands today, the level of sophistication and power available through Panda3D has grown tremendously. It is no longer a toy by any means, and is also one of the few game-dev platforms I know of, that can be scripted directly in Python.

One of the new features that make it interesting, is the ability to use Bullet Physics, especially since the simpler ODE (Open Dynamics Engine), game-physics engine, is broken on some platforms.

Another new feature is the support for a browser plug-in, that will allow games etc. to be deployed as Web-content, as long as the browser has the run-time plug-in installed. The actual embedded applet will then take the form of a ‘.p3d’ File.

One aspect of compiling this software that takes some getting used to, is that its python-based make-commands accept an ‘–everything’ parameter, which essentially tells the make-script to find all the relevant dependencies on the local computer, and then to configure the version of Panda3D we are compiling, to link only to the dependencies which were found, thereby either including some features or leaving them out.

I found that my only way to process that information, was to run the make command a first time as a dummy-run, and then to interrupt it. At the top of its build-log, it will show the power-user which libraries / dependencies it did not find, as if the intention was not to include those. After having interrupted this first run, I next went through my package-manager and installed all the packages named, which I felt might add some value to my build of Panda3D.

And so, after I checked out the GIT version of the software to a folder named ‘~/Programs/panda3d’ , and after ‘cd’ -ing to that directory, I felt that the following recipes were of use to me:

Continue reading Panda3D Compiled and Installed on ‘Klystron’

IRISNotes Digital Pen

There exist so-called Digital Pens, which will record what they are writing electronically, while writing on paper. These pens belong to two categories:

  1. The kind that require special paper.
  2. The kind that require a receiver be attached to the top of the sheet, which senses the positions of the pen during writing, but which do not require special paper.

The is a digital pen of the second kind, of which I happen to own one.

In general, I do not find this type of pen very useful, because the need does not arise often, to be writing on paper, yet to be digitizing what is written anyway. However, I have this pen, and have in the past installed Windows software to download its writings onto my PC.

I felt that it would be a challenge to get this relic to work again, while using Linux software to download its data. For that purpose, it was helpful to note, that the hardware is of the ‘‘ variety, regardless of how it was branded. And then it was easy to find a special, Linux, software-project, the aim of which was to do exactly that.

This software only comes in binary form, packaged for Ubuntu. Using Debian, we do not have a mechanism for PPAs. And so the only way for me to get it running, was to custom-compile it, which I easily did.

Aside from custom-compiling, I needed to create the following file:

 


/etc/udev/rules.d/50-hidraw.rules :

ACTION=="add", KERNEL=="hidraw*", MODE="0666"


 

I should note that my version of pen is first-generation. I cannot guarantee that any of this will work with an or an -type pen. I just happened to own a pen which was collecting dust, with the idle thought of wanting to reactivate it.

The version of this pen which I have, has two modes of operation: USB-mode and Bluetooth-mode. The BT-mode has always been rather pointless, because it would need an active wireless connection while I was writing. It was originally meant to work with Android and iOS devices, but lacked in performance.

The ability to download pages of writing that are saved in the receiver-module, has always been limited to working in USB-mode.

And so I am happy to announce, that my project was a success, and that I am able to use the command-line tool to convert captured data to SVG (image) files.

The ability to do OCR on the writing has always required Windows or OS/X, and under Linux, whatever ability we want, to convert the SVG drawings to text, must be supplied by the user or not at all. I am not that far along with it yet.

Continue reading IRISNotes Digital Pen

NoMachine NX

When people connect to their VPN, this could simply allow them to access shared files. But alternatively, this could also mean that they wish to create a virtual session, on the remote desktop of one of their servers. The latter exists under the terms VNC, RDP, XRDP, and several others.

On my main Linux server named ‘Phoenix’, I have the XRDP service installed, which is the Linux equivalent of RDP. But one main drawback of this method, of remotely accessing a desktop, is the fact that XRDP does not allow file-sharing, specifically in the version of this protocol that runs out-of-the-box from the package manager. I have read that certain custom-compiled versions support this, but do recall that this service is a mess to custom-compile, and to set up in such a way that it runs reliably. So I stick to the packaged version for now, and do not obtain file-sharing.

There exists a closed-source application named , which we could use to bridge this gap. But while their paid software subscriptions are very expensive (from my perspective), their Free software version has some big disadvantages.

First of all, even their Free version can be run in client or in server mode. I think that this is terrific. But in server mode – which affords access to the local machine desktop from elsewhere – there is no built-in support for SSH protocol. There is only the unencrypted NX protocol, for which their service listens.

Secondly, not every computer is strong enough to run in server mode. On the computer ‘Phoenix’ I have a fragile X-server, and this service has actually crashed my X-server. Not only that, but allowing this service to run on reboot, consistently prevents my X-server from starting. It gets its hooks into the session so early on boot, that the X-server crashes, before the user is even asked for a graphical log-in.

On the plus side, there are ways of solving both problems.

Continue reading NoMachine NX

Atomic Game Engine Recompiled on Laptop

In This Earlier Posting, I wrote that I had installed a custom-compiled version of the Atomic Game Engine on my Linux laptop named ‘Klystron’.

Well today I recompiled all that, specifically so that I would be able to export any hypothetical games I might want to design with that, to Android, thus testing it thoroughly with my newly-added Android NDK.

I finally have the capability to take games that are written in JavaScript, and to export those either to Linux, to WebGL, or to Android.

Yay!

Dirk