Welcome to ThreatenGL!
ThreatenGL is a Minecraft mod that takes a stand against the outdated OpenGL version 3.2, threatening Minecraft to use the more modern version 4.6. This mod aims to explore the effects of this change.
Minecraft: "please... anything but that!" 😰
ThreatenGL: "opengl version 4.6, or else!" 😡🔪
ThreatenGL is about testing the effects of changing the OpenGL version, and potentially enhancing your experience. By threatening Minecraft to switch to OpenGL 4.6, this mod aims to investigate how OpenGL version changes affect the functioning of your GPU. Users have reported smoother gameplay and better frame rates, especially on newer devices.
For a more detailed description of what this does, please visit the GitHub repository. (Mod developers, please read this to understand the mod in-depth!)
ThreatenGL works its magic by tinkering with Minecraft's internals. By injecting some code into the game's graphics setup process, it convinces Minecraft to opt for OpenGL 4.6 instead of the old 3.2. This simple tweak has the potential to make a difference in how the game performs, as some GPU manufacturers like to use different, specific profiles for different OpenGL versions in their drivers. (I have no idea why they do that, but I'm guessing its for compatibility)
Installing this mod is as simple as putting it inside the mods
directory of Minecraft.
Since 1.3.2-beta.1, ThreatenGL no longer requires any more additional libraries!
Installing versions before 1.3.2-beta.1 (Not recommended)
Please note that 1.3.1-beta.1 is completely broken on all platforms, do NOT use that version.If you really want to install an earlier version for some reason, there will be some dependencies:
- If you are using Quilt, you will have to install the Quilted Fabric API (QFAPI).
- If you are using Forge, you will have to install the Architectury API for Forge.
Fabric and NeoForge have always worked without any additional dependencies.
This mod will NOT do anything if your hardware does not support OpenGL 4.6.
On macOS, this mod will force OpenGL 4.1 instead of 4.6 as Apple deprecated OpenGL in favour of Metal starting with macOS Mojave (10.14) and has not updated it since.
The OpenGL 4.6 specification was released on July 31st, 2017. Generally, this mod should work if:
- you have an Nvidia Graphics Card from 2012 and upwards (Nvidia Kepler and above are supported)
- you have an AMD Graphics Card from 2012 and upwards (AMD GCN and above are supported)
- you have any Graphics Card which currently actively receives driver updates
- you have any Graphics Card which used to receive driver updates up until or after the release date of the OpenGL 4.6 specification
The table below lists mods that were reported as incompatible with ThreatenGL, and whether you should keep the said mod over ThreatenGL or not.
In case it is not clear, a ❌
signifies that you should remove the other mod and keep ThreatenGL. A ✅
is vice versa.
Mod Name | Keep, over ThreatenGL? | Reason(s) |
---|---|---|
Early Loading Screen (and similar mods) | ✅ | Early Loading Screen and ThreatenGL are incompatible because they both attempt to mess around with the initialising OpenGL window. In this case, I advise keeping Early Loading Screen because (for me, at least) it fills the boring void between clicking "Play" in your Minecraft launcher and actually seeing the Minecraft window pop up. |
This mod has undergone extensive testing to ensure that it is stable and won't explode your device. There are no issues so far, however, it is important to note that this is an experiment, as we are threatening Minecraft to use an OpenGL version that it is clearly not meant to run. Mojang has their reasons for still using OpenGL 3.2, even in Minecraft 1.21 in 2024, but I don't really agree with them (mainly because I'm unaffected by the lack of backwards compatibility with newer OpenGL versions)
That being said, please report any issues with your logs, the mods and resource packs you are using, etc attached to the issue, and I will take a look at it. There may not be much that I can do though because this mod is very simple, it only changes the OpenGL version and absolutely nothing else. Plus, I develop plugins for Minecraft servers and not mods for Minecraft clients so my knowledge is partially limited, although I am willing to learn. :)
This mod uses Semantic Versioning 2.0.0 to differentiate between different mod iterations.
Before modifying the source code and trying to compile, please edit the gradle.properties
file and modify the following line:
From:
org.gradle.jvmargs=-Xmx8G
To:
org.gradle.jvmargs=-Xmx2G
This will reduce the amount of memory (RAM) given to Gradle, and is a highly recommended step for development if your device has less than 12GB of memory.
Happy tinkering! 🔨