Show HN: My hobby OS that runs Minecraft
5 days ago
- #Minecraft
- #Game Porting
- #Homebrew OS
- Playing games on a homebrew OS like Astral is a significant milestone, demonstrating system stability, speed, and functionality.
- Astral already supports game ports like Doom and Quake, with plans to expand to more complex games like Minecraft.
- Porting Minecraft to Astral presents challenges, including the need for a working JVM, OpenGL implementation, and Java libraries.
- OpenJDK 17 and Mesa have been ported to Astral, though OpenJDK faced issues due to a bug in mlibc.
- Minecraft Alpha 1.2.0 was chosen for its simplicity and minimal dependencies, requiring only LWJGL2.
- Fixing OpenJDK involved resolving a segmentation fault caused by mlibc's handling of sscanf(3) with large specifiers.
- Porting LWJGL2 was complex, primarily due to Apache Ant's build system being unfriendly to cross-compilation.
- Debugging Minecraft involved resolving symbol issues, shared object promotion bugs, and implementing missing functionalities like FIONREAD.
- Successfully running Minecraft on Astral marks a first for hobbyist OSes, showcasing the feasibility and inspiring future projects.
- Future plans for Astral include improving self-hosting, stability, usability, and reviving ports like Wine and WebKitGTK.