Minecraft, pockets & editions

Minecraft is not Minecraft Pocket Edition.

My son’s now into Minecraft. I set up a Docker-based server for him, & discovered that he was running Minecraft Windows 10 Edition. This uses the same API as Minecraft Pocket Edition, which is not the same as Notch‘s standard Java-based Minecraft. For this reason, my first attempt at running a server worked only on my son’s PC when he remembered to run the Java-based game.

So I ran a Minecraft PE server. This was wonderfully easy but for actually starting the damn thing in a forked process. After multiple permutations of setsid, & and parentheses, this was the only command that actually forked successfully on Amazon’s default CentOs:


XMG P304 Linux Development Setup

I wanted to keep up to date with the latest git, so:

I need Java for Android development & similar:

And for native development:

I downloaded Android Studio & put it ~/apps.

On first run, Android Studio wants Kernel Module Virtual Machine (KVM) extensions installed to allow hardware-accelerated emulators. This link provided info on how to do it.

To manage the VMs:

To do web frontend development, I tend to use Brackets.

Git config!

Every time, I forget to setup my git config. This article has the information I used.

Get my projects from Dropbox

I get my private projects like this:

And done!

Enabling Bumblebee on an XMG P304

Note that this article is more accurate & useful. Read that instead.

Optimus uses the integrated graphics controller to render to a surface when the discrete graphics card is not in operation. When discrete graphics is in operation, it renders to the surface hosted by integrated graphics.

There’s a good and detailed explanation of this here.

To find the integrated graphics on the PCI bus:

To find the discrete graphics on the PCI bus:

This is needed for the next step.

Install Bumblebee

Note that when the bumblebee installer runs, it only finds the discrete graphics card, not the VGA integrated graphics:

Update & upgrade afterwards.

Install a recent Proprietary Nvidia Driver

Tell Bumblebee where the integrated graphics is

As mentioned above, Bumblebee needs to know where the integrated VGA card is as well as the discrete 3D card.

Distressingly, it needs to know this information in the correct order. VGA must be specified first, then 3D:

After a reboot, you should be able to use optirun to run using discrete graphics. You’ll know it’s running discrete graphics because it’ll run at crazy fps, and the fan will sound like a vacuum cleaner!

To try out your new blitzbox, you can try this:

This should produce something like:

You could then turn on the graphics card to run this test again on faster hardware by doing:

On my box, glmark2 is actually showing a lower performance for the Nvidia card:

I probably need a more up to date driver, but at least the correct hardware is in use!

The above was wrong because the GPU bridge wasn’t in operation

Install the VirtualGL bridge.

Enable vsync

Some tearing while using the intel graphics can be fixed using information from this page: https://wiki.archlinux.org/index.php/Intel_graphics#Tear-free_video.