Getting minecraft to run on recent versions of java

So I finally broke down and got a new 1 TB WD Black NVME drive to upgrade my old Ubuntu 18.04 system running on 3 1 TB WD blue HDDs in a raid to and installed Debian 11/bullseye/testing ( which also required switching to booting in EFI mode because apparently the BIOS emulation doesn’t support NVME ). Unfortunately, it seems to only have openjdk 11 and 17 available. I believe I was still running openjdk 8 under Ubuntu 18.04 to get minecraft to run. I understand you are now running was it Debian or Ubuntu Greg? Any idea how to get minecraft to work with these not so ancient versions of openjdk?

2 Likes

I apt-get installed Oracle Java 8 before Oracle decided to remove the Java 8 Packages from it entirely. I think you can still run Java 8 Stuff in OpenJDK, but I am not sure how to. @OvermindDL1 knows a lot more about that than me. ^^

1 Like

Ohh Poop… I hope I can figure out how to get minecraft to run with a modern version of openjdk or I’m going to have to be out.

2 Likes

I recommend asdf, It’s a manager to manage multiple different versions of many different programming related tools, java of which being one, It makes it extremely easy. You can go through the instructions and do everything yourself if you want to, or you can just run these commands (should be able to just copy paste them, these are typed from memory on my phone so hopefully accurate, lol):

sudo apt install curl git # Install asdf dependencies
git clone https://github.com/asdf-vm/asdf.git $HOME/.asdf --branch v0.8.0 # Acquire asdf
source $HOME/.asdf/asdf.sh # Register asdf into your current shell session

At this point you have asdf, It’s recommended to add both of these lines into your .bashrc or equivalent file

source $HOME/.asdf/asdf.sh
source $HOME/.asdf/completions/asdf.bash

That way it will be in your Shell sessions with completions. Next you want to install Java, 1.8 specifically, so first you need the Java asdf plugin:

asdf plugin add java

If you’re curious you can list all installable Java versions with:

asdf list all java

But in this case you just want:

asdf install java adoptopenjdk-8.0.292+10

There are other varieties and builds of Java 1.8 as well, like Zulu or j9 or so forth, but that’s the bug standard JDK you would normally get anywhere.

Now at this point you can set it default system wide for your user with:

asdf global java adoptopenjdk-8.0.292+10

Or you can do it just in a specific directory tree by going to that directory tree and running:

asdf local java adoptopenjdk-8.0.292+10

Or if you just want to have something use it directly, like MultiMC you can point to a specific Java installation, Well it will be installed somewhere in your $HOME/.asdf/installs/java then in the directory for whichever Java version that you want it to use, it’s a standard Java directory, so you access it like any other Java directory.

There are other ways as well, but environment managers like asdf are so crazy useful. It has a huge list of official plugins that you can see with asdf plugin list all, or you can install third party plugins via a direct git repository. It’s also all entirely self-contained so if you just want it gone you can just delete $HOME/.asdf

2 Likes

@psusi Just pinging you to see if you figured out everything. ^^

1 Like

Nope… not yet… I’ve been playing with this cool tiling wayland window manager called sway.

2 Likes

So I mounted the old system root and bind mounted all of the right system paths ( /dev, /sys, /proc, /tmp, /run, /var/run ) into it and chroot in, I’m able to just run minecraft under the old openjdk-8 in the Ubuntu 18.04 filesystem. Yay! Oh, I also had to copy /etc/resolv.conf into the chroot so it could resolve hostnames, and had a little trouble getting pulseaudio to work instead of forking its own instance with no output sinks until I realized that when I ran su - psusi to switch to my normal user inside the chroot, it cleared the XDG_RUNTIME_DIR environment variable which was needed to point pulseaudio to the existing server socket.

Also I’m really liking this Sway window manager.

2 Likes

Uhh, that sounds like a really convoluted way of installing Java 8 for Minecraft, are you sure that was necessary? XD

1 Like

Yeah asdf is so very much easier, lol.

1 Like

Well that’s the thing… I didn’t have to install it. It was already installed in my old system, so I just ran it from there… but under the kernel of the new system instead of rebooting into Ubuntu. Every time I’ve upgraded over the last 6 or 8 years I just installed the new system into a new logical volume and kept the old one around just in case. I just figured rather than try to copy the minecraft files from the old system to the new one and install all the dependencies, it was easier to just to run it where it already was.

2 Likes

So something odd that I have run into is that if I put the minecraft window on its own sway workspace, the swaybar and title bar take up a little bit of space at the top of the screen. If I have sway full screen the window, those go away and minecraft gets a little more space for its client area, but for some reason, it decides to make all of the UI elements a bit larger. When it does this, and I open a chest, the chest inventory window takes up so much vertical space, that there isn’t room for NEI to show its search dialog at the bottom of the screen, so I can’t search the chest. Any idea how to beat minecraft into submission here?

2 Likes

Did you set Minecrafts UI Scale properly in the Options?

1 Like

I didn’t see anything that sounded like that in the options.

2 Likes

In the Graphics Settings lol

1 Like

Ahh there it is… funny that auto ends up making it even larger than the largest manual setting.

2 Likes

Yeah java doesn’t need some weird installation, it’s actually pretty decent that as long as all it’s file are in a directory tree in the right paths then it all ‘just works’. :slight_smile:

If you’re still running it in a chroot then that would likely be why, it can’t access your main user theme information.

That’s just Minecraft’s normal scaling, can change that in options (from Auto to whatever you want, I personally use small, which is too small for most people but I like it, lol, I change it to the next one up when streaming though so people can see things).

Yep, it’s a weird integer scaling multiplier based on window size, it can definitely get larger than the largest prebuilt config, lol.

1 Like