Modern rendering engine and client-side optimization mod for Minecraft

Client Optimization

Created 2 years ago
Updated a month ago

External resources

Project members





Technical information

Client side
Server side
Project ID
Filter loader...
Filter versions...
Filter channels...

This version improves on the driver detection system introduced in Sodium 0.4.7. The game no longer requires a restart to apply workarounds, and users will no longer see a popup window when a workaround has been applied.

To see what workarounds have been applied, you can read your client log file.

Sodium 0.4.7

by IMS212 on Dec 29, 2022

Sodium 0.4.7 is now out, fixing a memory leak and adding optimized cloud rendering.

This release includes a workaround for crashes on NVIDIA drivers. On the first boot, if you are affected a notice will appear explaining the problem.

Sodium 0.4.6

by IMS212 on Dec 8, 2022

Sodium 0.4.6 has now released, fixing a texture animation corruption issue.

Sodium 0.4.5

by IMS212 on Dec 7, 2022

Sodium 0.4.5 is now out, updating to 1.19.3. This release also fixes a small texture corruption issue.

This release no longer includes JOML, as Minecraft 1.19.3 has it bundled.


Supports Minecraft 1.19.3 Removed JOML Fixed compact vertex format texture overflow

Known Issues

None outstanding as of the time of writing. Please open an issue if you run into problems.

Sodium 0.4.4

by IMS212 on Aug 29, 2022

This is a hotfix release to revert Adaptive VSync, as it broke VSync on AMD cards.

This release also fixes a memory leak.

Sodium 0.4.3

by IMS212 on Aug 27, 2022

This release includes multiple bug fixes, lighting improvements, and better support for the Fabric Fluid API. It also includes native support for the Flawless Frames API, which fixes compatibility with Replay Mod.

Sodium 0.4.2

by IMS212 on Jun 7, 2022

Sodium 0.4.2 for Minecraft 1.19 is now out. This is a straight port of the previous release for Minecraft 1.19.

This release is a mostly straightforward port of the most recent version, with some additional bug fixes. Also, we're dropping the alpha version and making this a proper release.


  • Requires Minecraft 1.18.2


  • Fixed a problem where the game could crash at random when teleporting or loading chunks
  • Fixed a problem where biome colors would be incorrect at the edge of chunks which neighbor empty space

This release is a minor patch for 0.4.0-alpha5 which fixes a number of reported issues. We're currently working on some pretty big changes for the next major release and are pressed for time, so this patch only a small set of issues.


  • Lag spikes caused by block updates should be significantly improved
  • Fog effects now match those introduced in Minecraft 1.18.1
  • Fixed a slow memory leak that would occur from fence objects being leaked
  • Server view distance is now respected, preventing discrepancies between client/server
  • Biome blending effects have been improved slightly
  • World rendering bugs/flickering caused by being far away from world center (i.e. near the world border) no longer occurs

Known issues

  • Some parts of the world may not load correctly unless the player exits and loads the world file again

This release contains a few important bug fixes and improvements for Minecraft 1.17.1.


  • Flickering and other rendering bugs caused by the player being far away from the center of the world (i.e. near the world border) should no longer happen
  • Fixed a memory leak that would slowly develop each time a chunk is updated

This is a port of Sodium 0.3.3 to Minecraft 1.18 with some changes for compatibility. Fabric Loader 0.12 or newer and Java 17 is required.

Known issues

  • Placing and breaking blocks may cause stutters and other pauses when "Biome Blend Distance" is set to high values
  • Some parts of the world may not load correctly unless the player exits and loads the world file again
  • Server view distance is not respected, causing incorrect fog effects (#994)

This release contains a few important bug fixes and improvements for Minecraft 1.17.1.


  • Improved frame rates when loading or updating chunks.
  • Fixed a memory leak caused by sync objects never getting released.
  • Added options to control how many threads are used for chunk building, and to always defer chunk updates for improved frame times. The default number of threads used for chunk building is more optimally chosen and should help improve frame rates on slower CPUs.
  • Improved the precision of the compressed vertex format, reducing texture glitches found with some texture packs and vanilla blocks
  • The inner faces of leaves are no longer rendered if fast graphics are enabled, significantly reducing the geometry count of scenes with lots of foliage (thanks ADudeCalledLeo.)
  • Config file handling has been greatly improved, and if a corrupted config file is found, the user will be prompted to fix the problem instead of the game crashing.

And everything else...

  • Mods which provide config file overrides will no longer crash on first startup (thanks tbejos.)
  • Improved our shader code slightly to reduce overhead in the vertex stage, potentially helping older graphics cards.
  • Improved compatibility with the legacy AMD graphics drivers on Windows.
  • Fixed a problem where empty draw calls would be submitted during chunk rendering.
  • Some other minor improvements and fixes...

This release fixes a few more issues in Sodium 0.3 for Minecraft 1.17.1.

Changes and fixes

  • Fixed an issue where OpenGL 4.x buffer targets would be accessed on OpenGL 3.x hardware, leading to a flood of OpenGL errors and degraded performance
  • Fixed the "Use Block Face Culling" option not applying
  • Fixed some strings not being translatable in the Video Settings screen
  • Fixed a number of cases where the world would suddenly disappear at specific camera angles
  • Fixed an issue where particles using animated sprites would not be animated
  • Merged the cloud toggle and quality controls into one option to reduce confusion
  • Fixed entities with spectral effects not being rendered through walls due to entity culling

This release fixes many issues and performance problems that were introduced with the first release of Sodium for Minecraft 1.17.1.

Changes and fixes

  • Improved frame times when loading/updating chunks through the use of persistently mapped staging buffer (requires OpenGL 4.4+)
  • Fixed chunk rendering corruption on older AMD/Windows systems
  • Fixed missing chunk and "hole in the world" issues that could appear on some AMD systems
  • Fixed the "Only Animate Visible Textures" option not disabling the optimization if ticked
  • Fixed config files sometimes becoming corrupt after the game crashes
  • Fixed an issue where fog effects would not respect other mods which modify the camera
  • Fixed compatibility with LWJGL 3.2.3 and macOS M1 hardware
  • Fixed an issue where some blocks wouldn't render their waterlogged state against glass.
  • Changed how camera transformation matrices are handled in our shader code for better compatibility with Iris

This release adds official support for Minecraft 1.17.1 and with it many new improvements and fixes.

Changes and fixes

  • A brand new chunk rendering backend has been introduced, bringing the best performance yet to any hardware that can run Minecraft.
  • Added support for some Fabric API features, such custom fluid rendering and blocks with attached data.
  • Many improvements to how we use and allocate VRAM, reducing stutters caused by loading chunks and overall GPU memory usage.
  • Additionally, chunk loading was improved to prevent overload and to better stabilize frame rates. This can help with loading into worlds or when many blocks are changing at once.
  • Improved the amount of time it takes to rebuild the chunk graph. This can reduce lag associated with moving around in the world or loading chunks at higher render distances.
  • Many new optimizations for high resolution texture packs, especially when animated textures are used.
  • Fixes and improvements for fog effects during sunrise/sunset and while underwater, helping to improve visuals drastically.
  • Reduced VRAM usage in ocean biomes and other environments with lots of water.
  • Support for custom translations (to be added in a future release)
  • Improvements to particle rendering/culling, helping performance in particle heavy servers.
  • Additional optimizations for biome color blending.
  • ... and many other smaller, miscellaneous optimizations specific to Minecraft 1.17.

This is the first major release of Sodium since launch, so there are nearly a year's worth of improvements and bug fixes in this one! Hardware support has been greatly improved, and there's been many new optimizations to help out everyone.


  • Added a new and optimized system for vertex writing. Depending on the situation, significant performance improvements can be seen for both block entity rendering, mob rendering, and text rendering.
  • Improved hardware support for AMD and Intel GPUs on Windows, allowing the use of multi-draw rendering where it was otherwise broken in the past. Multi-draw chunk rendering can drastically improve frame rates where supported.
  • Switched to using the new ThinGL library, which allows Sodium code to use a stateless abstraction over OpenGL. This helps to improve performance, mod compatibility, stability, and future compatibility with Minecraft 1.17.
  • Preparing chunk updates for rendering now takes much less time by better taking advantage of multi-threading, greatly improving frame times while loading or updating chunks.
  • Many new optimizations for our chunk graph and culling algorithm, helping to reduce CPU load and improve frame rates while playing.
  • Improved compatibility with many mods depending on additional block data to be available during chunk building, such as LambdaBetterGrass.
  • Added an API other mods can use to disable Sodium features. Sometimes, incompatibilities can arise, but mods supporting this functionality can ask Sodium to disable specific parts of itself automatically to avoid these.
  • Fixed large memory leaks that could occur when unloading and loading many worlds repeatedly.
  • Fixed terrain stitching issues caused by high-resolution texture packs and exotic block models.
  • Fixed some issues with smooth block and entity lighting, notably with emissive properties.
  • Fixed issues where the top-face of fluids would disappear at certain camera angle, or while inside a fluid.
  • Fixed many issues causing chunks not to update or appear when looking in certain directions.
  • Issues with render distance and fog effects when using certain mods have been fixed. ... and much, much more.

You can find a number of issues that were fixed with this release here. For the complete list of changes, you can review the Git commit log here.

Initial release.