Show HN: My hobby OS that runs Minecraft

https://news.ycombinator.com/rss Hits: 20
Summary

Minecraft in Astral Being able to play games on your homebrew operating system is a big milestone to strive for. It shows that the system has enough implemented for a graphical application to run and get input, that it is fast enough for a game to be playable and that it is stable enough for the game to be played. Usually, the game of choice is Doom, as it has the reputation of being ported to everything under the sun, as well as being an FPS game that can demonstrate all of the points above about your operating system. Astral currently has some working game ports, which include Doom and Quake. However, as the capabilities of the operating system grow, so will the complexity of the games that can be played. I have been meaning to add a new game port for a while now, and I eventually decided on a game I had played a lot when I was younger: Minecraft. The challenges of running Minecraft Minecraft is *not* an easy game to run. It is written in Java, so you need a working JVM. It uses OpenGL, so you also need a working OpenGL implementation. Additionally, it depends on many different Java libraries that you also have to port. Astral has had OpenJDK 17 and Mesa ported for a while now. The Mesa port works perfectly, but the OpenJDK port ended up bit-rotting and eventually stopped working due to a bug in mlibc. Choosing a version to run The first step of this process was choosing which Minecraft version would run in Astral and then figuring out the Java command used to start it. I needed something simple and with as few dependencies as possible, so I picked version Alpha 1.2.0. This version only has one dependency, LWJGL2, reducing porting time and making debugging easier later on. Getting the JVM to work again The next step was getting OpenJDK working in Astral again. As I mentioned earlier, it had bit-rotted and was now suffering from a segmentation fault when starting. The OpenJDK stack trace had given some important information: it was happening in libc.so after OpenJD...

First seen: 2025-11-20 19:05

Last seen: 2025-11-21 14:08