Minecraft Running on Asahi Linux with Open Source GPU Drivers
social.treehouse.systems
social.treehouse.systems
This doesn't yet work out of the box but the next few months will be very exciting.
I think the quote you're thinking of was a reference to modern OpenGL and Vulkan support, not accelerated graphics in general. Older OpenGL is a lot easier to implement, and sufficient for an accelerated desktop and games like Minecraft.
Marcan and Alyssa have been saying for a while that we were on track to get GPU acceleration in the near-ish future.
And I don't think that few applications use it. Anything modern tries to. The rest are planning to move to it.
Basically, it's the way forward, not OpenGL.
Even amongst your list, I don’t see mass adoption of the applications today that don’t also have a GL backend.
Blender alone will be a gargantuan uplift to get to Vulkan because so much of the ecosystem is coded agains GL directly.
Meaning by the time it will be more usable, Vulkan will be more used as well.
And as above, if you implement Vulkan - you get OpenGL through Zink. If you implement OpenGL - you still have to implement Vulkan. So with limited resources, the first option looks way more effective.
They’re looking at it as a time to viable product perspective and a ROI.
These are often at odds within engineering , and it makes sense for them to pick their way because they already have a lot of the GL stuff done and it’s a faster route to a viable product.
Again, going for vulkan would mean they’d have to spend significantly more time up front.
You seem to be maximizing for not trying to do work (e.g implementing both Vulkan and OpenGL), but in many cases it’s better to get something stable and workable out.
Basically, don’t let perfect be the enemy of good.
So as a fun experiment, it can be interesting. As something practical - doesn't seem so until all pieces are in place.
This is about trying to get something daily drivable for most people in the most efficient way possible, and sometimes efficiency does mean implementing part of the tech stack twice if the first time unblocks you on other things.
Love to see there are people still doing that stuff today, especially since this stuff is probably more complex than then.
I believe it's guys + girls specifically for this project
edit: it might just be girls? Asahi Lina and Alyssa Rosenzweig?
Extremely impressive work by all involved!
If so, it’s pretty cool that you still get 6 hours even with that handicap. I’m excited to see how it looks once the GPU works well.
It's a system wide tuning of voltage frequency plus idle times for all sorts of micro-controllers, plus who knows what else.
In its own way, it's extremely, extremely difficult.
The driver complexity argument is shattered, and the blog posts suggest it's better - confirming fearless concurrency and no memory management issues! So weird that this seems to be the very first Rust written driver.
I should probably also note that there's something of a conflict in this area surrounding the other edition of Minecraft, Bedrock Edition, which is written in C++ and therefore difficult to decompile and mod. Bedrock Edition is much more closed than Java edition in a number of ways, such as including a store built into the launcher for buying maps, texture packs and skins whereas these would need to retrieved externally (usually for free) on Java edition. However, Bedrock Edition does have a first party modding api, a more feature rich internal scripting system with the concept of "behavior packs" [3], and has led to the development of a number of tools used by mod authors for both editions, such as Blockbench [4]. Ultimately Java Edition and its community have the legacy of Notch and Mojang with a long history of community contribution while Bedrock Edition was only developed after the Microsoft acquisition and is much more in Microsoft's style.
EDIT: Turns out the Bedrock Edition modding api was discontinued earlier this year [5].
[0]https://minecraft.fandom.com/wiki/Obfuscation_map [1]https://wiki.vg/Category:Minecraft_Classic [2]https://www.minetest.net/ [3]https://learn.microsoft.com/en-us/minecraft/creator/document... [4]https://www.blockbench.net/ [5]https://www.minecraft.net/en-us/creator/article/removing-the...
Embrace, extend, extinguish. Any day now they will announce the eventual deprecation of the original Java-based Minecraft.
1. Community oldtimers and loyalists really like Java.
2. Bedrock has no Linux port.
3. Java is the lead version - new features are added to it first and then backported to Bedrock.
While #1 and #2 could be written off as "costs of doing business", the latter is a significant problem. The current creative process that Microsoft and Mojang has adopted is that Mojang implements new features and versions in Java first, and then another team in Washington reimplements them in C++ for Bedrock. Deprecating Java means making everyone at Mojang switch development tools and languages and adopt an entirely different codebase. It would be just as disruptive for Mojang as it would be for modders.
Unfortunately sifting through the last few years of Minecraft.net articles and Minecraft Live footage to find sources isn't a great use of my time right now, but I'm sure it's out there. Bedrock was shifted to the same version numbering system as Java in the last year iirc and they've been releasing snapshots and betas with the same content on the same day for all of the 1.19.3/1.20 snapshots so far and I think the 1.19.0 ones as well.
[0] https://mobile.twitter.com/kingbdogz/status/1509482290304659...
I'm told from long time minecraft players that it doesn't suffer the same data corruption issues as minecraft.
The idea in minetest is that you need to add mods for the stuff you want
[0] https://web.archive.org/web/20100301103851/http://www.minecr...
- no alternative DE's, WM's or the ability to compute without either one. (both are in my submission history with 0 solutions, i've asked.)
- no customization (top car can't go away, bottom bar can't slide out like powerpc mac)
- no involvement in the bootloader
- no upgrading hardware without 'tricking' the OS
- no alternative drivers/firmware options
the list goes on, and like I said, just as quirky as linux so most of us just 'make do' with MacOS as 'good enough' on what is probably the most performant and efficient laptop I've ever owned. I never knew how much fan noise, vibration, and hot fingers negatively impacted me until I put hands on my old laptop.
And, of course, I can modify any of the tools I use. The whole stack is open source.
Mesa is 27 years old.
The graphics driver of a system spans from a talking to the hardware to exposing a graphics API such as OpenGL or Vulkan for applications to use. Splitting up the graphics driver into separate components and calling each component a driver is different from what I mean when I am referring to a driver.
Make It Work, Make It Right, Make It Fast. I personally didn't expect Asahi would get this far on steps #1 and #2 nearly as quickly as they have. It's bloody impressive.
That said, I've played many games at <30 fps and low resolution in the past, due to not being able to buy the latest & greatest hardware - it's perfectly playable, even if not an ideal experience.
Of course, it's different here - the hardware is more than capable. But do you expect them to jump from nothing to smooth 60 fps full resolution with nothing in between? Maybe a post like this will motivate more people to join development, as opposed to waiting until it's perfect.
My dude, the first 50 years of gaming struggled to reach 24 fps, 24fps is the framerate of the film industry we've only recently had access to 4k60fps in the last few years.