Live data from Hacker News

Minecraft Java is switching from OpenGL to Vulkan

gamingonlinux.com

121–130 of 177 posts

Re: Minecraft Java is switching from OpenGL to Vulkan

#121

Earlier quoted context omitted.

I'm glad someone else is still using a C720. I keep mine in a case with some SDR gear. One of my favorite computers i've owned.

It was a great machine. It was my daily driver until a few years ago. I ran xubuntu on it with the Mr Chromebook firmware for a loooong time until my most commonly used websites became so heavy browsing was impossible.

I got mine first year of college because my 5ish year old 15" mbp was just too much of a boat anchor. I got a launch model with the celeron, 4gb of ram, and no touch screen so the battery life would last all day and then some.

I installed Chrouton which let you switch between chromeOS and a full ubuntu chroot, which was the best of both worlds as you could do the optimized browsing on ChromeOS and development tasks on the chroot.

After it fell out of ChromeOS favor, I just installed arch on it and called it a day. It's my go-to conference laptop because it's still so conveniently small, light, and 12 years on the battery still gets 6 hours.

Re: Minecraft Java is switching from OpenGL to Vulkan

#122

Earlier quoted context omitted.

No, the game's Java version's official title post-Microsoft acquisition of Mojang is Minecraft: Java Edition.

They have renamed both product lines, Bedrock edition many times.

Specifically:

  Minecraft Pocket Edition for Xperia Play
  -> Minecraft: Pocket Edition
  -> [Minecraft: Windows 10 Edition, Minecraft: Gear VR Edition,
      Minecraft: Apple TV Edition, Minecraft: Fire TV Edition,
      Minecraft: Pocket Edition]
  -> Minecraft
  (It is colloquially "Minecraft: Bedrock Edition" when Mojang is
   distinguishing it from other versions. Note also that despite all
   being named "Minecraft", different platforms are separate
   licenses, but the Windows 10/11 license is bundled with Java Edition)

  RubyDung
  -> Cave Game
  -> Minecraft: Order of the Stone
  -> Minecraft
  -> Minecraft: Java Edition

  Minecraft: Xbox 360 Edition
  -> [Minecraft: Xbox One Edition, Minecraft: PlayStation 3 Edition,
      Minecraft: PlayStation 4 Edition, Minecraft: PlayStation Vita Edition,
      Minecraft: Wii U Edition, Minecraft: Nintendo Switch Edition]
  (This was the 4J Studios version, now deprecated as some platforms
   are unsupported and on some platforms it is superseded by Bedrock.
   It is sometimes referred to as "Console Edition" but this was
   never official.)

Re: Minecraft Java is switching from OpenGL to Vulkan

#123

Damn, this will break Minecraft on my original machine, an Acer C720 Chromebook modded to run Linux. The Intel HD4400 iGPU doesn’t support Vulcan! I always appreciated that MC would run on virtually any hardware, especially as a kid without access to anything nice.

It depends what features they use but under Mesa that chip does have some Vulkan support.

it looks like "in hardware" it has vulkan 1.0 support, but looking at https://mesamatrix.net the hasvk driver (which i think is the haswell/gen 7 and 8 driver) seems to have some support for more recent extensions

and of course all the previous minecraft versions will continue working on opengl :p

Re: Minecraft Java is switching from OpenGL to Vulkan

#124
post #43

> For the macOS side of things, they'll use a translation layer since Apple don't support Vulkan directly (they made their own API with Metal) Where does it say that? Why not use MoltenVK?

I think MoltenVK probably is the translation layer they're using.

it would be cool to use cosmickrisp instead at some point... in fact i saw someone run minecraft on macos using cosmickrisp -> zink to have modern opengl features that macos does not have

Re: Minecraft Java is switching from OpenGL to Vulkan

#125

Damn, this will break Minecraft on my original machine, an Acer C720 Chromebook modded to run Linux. The Intel HD4400 iGPU doesn’t support Vulcan! I always appreciated that MC would run on virtually any hardware, especially as a kid without access to anything nice.

Time for an upgrade buddy. I need my 32 chunk render distance when i play java, personally. A 10+ year old chromebook would not be cutting it - but it doesn't take much either if your simulation distance is low.

Re: Minecraft Java is switching from OpenGL to Vulkan

#126

I hope Vibrant Visuals comes to Minecraft Java Edition quickly, it's a shame you need mods to have shaders on Java.

> it's a shame you need mods to have shaders on Java

You don't. Ever since 1.17 you have been able to build GL shaders directly into resource packs. Resource packs don't require any complex loaders and don't pose a malware risk. To install them you can either drag-and-drop them as .zips directly into the resource pack menu, or a server/world can be configured to prompt the installation of a resource pack. These resource pack shaders are not quite as flexible as Aperture, Iris, or Optifine shaders, but they are fairly close in functionality.

I'm curious if they will carry over this functionality for Vulkan shaders embedded into resource packs. I suspect they may not, which is understandable given how it can be used to break the game's functionality much worse than an ordinary resource pack can (not full RCE, though)

Re: Minecraft Java is switching from OpenGL to Vulkan

#127
post #56
post #23

I wasn’t aware Java had Vulkan bindings. So this is JNI I’m guessing? This makes sense. I guess I’m a bit surprised they were still OpenGL anywhere. I never really got into Minecraft though, so I can’t pretend I know much about its current state. I didn’t even realize there was a non-Java version for desktops.

To elaborate on the other comment about the Foreign Function & Memory API: JNI is effectively dead/deprecated, and has been replaced by the aforementioned API. It is orders of magnitude more developer friendly to use. It handles memory much more cleanly. It's way easier to create bindings to talk to foreign functions (e.g. Vulkan). Probably the most underappreciated great feature in recent Java releases.

It will be a while before JNI itself is dead, because far too much stuff still relies on it. The unsafe helpers in the Java standard library will die first because they are fundamentally incompatible with Valhalla, but it's likely the simple cases will last a while as there are vast swaths of glue code that needs to be rewritten.

IIRC Minecraft is still using entirely JNI and no FFM yet. That will probably start to change in the near future, though. Some modders have already been replacing their own natives with FFM versions.

Re: Minecraft Java is switching from OpenGL to Vulkan

#128
post #83

I bet they will lose most of the mods, as I don't see many wanting to learn Vulkan only to port their mods. They better make use of Zink/Angle or similar approaches.

Most mods don't even touch the rendering system, they just supply models in json format. If you do need custom rendering, Minecraft has the Blaze3D api, and that should be mostly unchanged. There are relatively few mods like Sodium and Iris that make extensive use of direct opengl calls.

I wasn't aware of Blaze3D, thanks.

Re: Minecraft Java is switching from OpenGL to Vulkan

#130
post #54

Earlier quoted context omitted.

TBH Mojang should have the resources to do that on his own, Minecraft is the best selling game of all times btw.

I imagine it's far from the best-earning, though. It's a one-time purchase.

My kids have minecraft caps, tshirts, pants, pajamas, hoodies, lego, pencils, toys and probably other 100 things I do not remember right now

So no. It is not one time purchase.

Post reply on HN