Minecraft HDR Mod
A minecraft mod that enables native HDR on Windows / macOS / Linux with Iris shaders.
(Photon patched to HDR w/ Patrix, taken by mod's screenshot feature.)
What the mod have achieved
- Native HDR, both for scRGB and HDR10/PQ.
- UI color correction by a new render pass.
- Ingame config using Cloth Config API.
- Ingame HDR screenshot.
- Replay Mod HDR Video Export (need custom FFmpeg commandline, which can be found in config menu)
- Full Wayland IME fix (need IMBlocker).
For Users
[!IMPORTANT] Requires modded shaderpacks! https://github.com/rrtt217/Minecraft-HDR-Mod/wiki/HDR-Shaderpacks
- Adjust HDR Brightness values (Paper White, UI, Peak) with config menu. (Default keybind: F9)
- Take a HDR screenshot ingame. (Default keybind: F10)
- Supported platforms:
- Windows: Nvidia/AMD GPU generally run flawlessly. Intel GPU is supported since v2.1.0 with a DXGI fallback path and there's performance degradation (more info in v2.1.0 release note).
- Linux Wayland: AMD/Intel GPU generally run flawlessly. People using Nvidia GPU may encounter some problems/crashes, see the troubleshooting for a potential workaround.
- macOS: Supported but need more testing, bugs are expected. Also, shaderpack support on macOS is limited.
- Android/iOS: Not supported. If Mobile launcher developers are interested in the project, my glfw fork can be a starting point for HDR support in the future.
- Troubleshooting:
- ReShade is currently not compatible under default settings, failing to load and breaking sky.
- Enabling "Force Activate OpenGL-DirectX Interop" in config/advanced can improve compatibility with SpecialK and ReShade. Please make sure they only inject into DirectX 11 layer.
- Mods also messing with GLFW may be incompatible. (e.g. Ixeris)
- If your game is too bright/dark, try to adjust the custom brightness values yourself.
- If you're on Windows, don't forget to install the latest Visual C++ Redistributable.
- If your game crashes on NeoForge/Forge, disable
earlyWindowControlin<game folder>/config/fml.toml - If HDR is broken when shaders are enabled, please reset "Colorspace" setting in Iris/Oculus to "sRGB".
- Clean temp file if your game doesn't start or some features are broken (path can be found in log, %TEMP%/glfw on Windows and /tmp/glfw on Linux).
- For Linux Nvidia users, if your game can't start, or you feel too much banding ingame, here's a potential workaround (using Zink, so performance degradation is expected):
- Use these environment variables:
export __GLX_VENDOR_LIBRARY_NAME=mesa export __EGL_VENDOR_LIBRARY_FILENAMES=/run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json export MESA_LOADER_DRIVER_OVERRIDE=zink export GALLIUM_DRIVER=zink - ONLY WORKS ON Mesa >= 26.0.0. Lower versions crash your game due to the lack of This PR.
For Shader Packs
Wiki Tutorial
- Use these environment variables:
- ReShade is currently not compatible under default settings, failing to load and breaking sky.
- For Shaderpack Devs
Macros
HDR_MOD_INSTALLEDHDR_ENABLEDUniforms
float HdrGameMinimumBrightness;float HdrGamePeakBrightness;float HdrGamePaperWhiteBrightness;float HdrUIBrightness;
Use these uniforms inside #if HDR_MOD_INSTALLED block.
Output
the output of the shader(aka. what is written to main render target in final pass) should have scRGB-nl encoding(Rec.709 primaries, sRGB (for negative numbers use −f(−x)) transfer function), and you should not use RGBA8F for scene color.
- Wiki Section
Credits
- Tom94, for glfw fork with color management;
- IMS212, for Iris shaders and original glfw patch idea;
- XgarhontX and some other fellows, for working on RenoDX Minecraft HDR and shader patches, and helping me to make color transform correct.
Copyright
The main HDR Mod repo is licensed under MIT. Bundled GLFW from Tom94's/mine fork is licensed under the zlib/libpng license.
Star History
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 6d ago | 1 | ||||
| 6d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 16d ago | 1 | ||||
| 16d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 |
## Fixes
- Compatibility with latest NeoForge early loading screen\
- Finally, we do not need to disable ELS for HDR Mod in 26.3, thanks for the huge refactor of both NeoForge and Minecraft
- On 26.3, Ixeris is not yet stably supported and may cause issues on Wayland in rare cases. It might never be fully fixed.
## Fixes
- Compatibility with latest NeoForge early loading screen\
- Finally, we do not need to disable ELS for HDR Mod in 26.3, thanks for the huge refactor of both NeoForge and Minecraft
- On 26.3, Ixeris is not yet stably supported and may cause issues on Wayland in rare cases. It might never be fully fixed.
## New Features
- Windows Intel Vulkan HDR
- Only works under exclusive full screen
- Compatibility with latest Super Resolution
- Some Vulkan HDR metadata related bugs
- ReplayMod Compat
- Ixeris Compat
## New Features
- Windows Intel Vulkan HDR
- Only works under exclusive full screen
- Compatibility with latest Super Resolution
- Some Vulkan HDR metadata related bugs
- ReplayMod Compat
- Ixeris Compat
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## New Features
- Windows Intel Vulkan HDR
- Only works under exclusive full screen
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Compatibility with latest Super Resolution
- Some Vulkan HDR metadata related bugs
## New Features
- Windows Intel Vulkan HDR
- Only works under exclusive full screen
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Compatibility with latest Super Resolution
- Some Vulkan HDR metadata related bugs
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes
- Broken rendering when using RGBA16F on Linux because of a hack for Nvidia / missing opaque requirement
- Linux Nvidia users should upgrade egl-wayland2 to 1.0.2 or above to avoid crash.
- Fixed compatibility with latest Super Resolution
## Fixes Compared to beta1
- More Wayland Color Management parity (w/ 26.2) fixes, on both OpenGL and Vulkan
- Thanks for fililip for continuous testing, though it might still be broken on some corner cases, it has been well aligned to 26.2.
- Fixed crash with WAYLAND_DEBUG=1
- This is an upstream wayland-java bug.
- SR Vulkan presentation support for latest version
Replay Mod for 26.3 has still not yet published, so I cannot fix the compatibility. Will fix it in v3.2.2 full release.
## Fixes Compared to beta1
- More Wayland Color Management parity (w/ 26.2) fixes, on both OpenGL and Vulkan
- Thanks for fililip for continuous testing, though it might still be broken on some corner cases, it has been well aligned to 26.2.
- Fixed crash with WAYLAND_DEBUG=1
- This is an upstream wayland-java bug.
- SR Vulkan presentation support for latest version
Replay Mod for 26.3 has still not yet published, so I cannot fix the compatibility. Will fix it in v3.2.2 full release.
## Fixes Compared to alpha1
- SDL+OpenGL now use Java FFM + wp_color_management protocol on Wayland, allowing for HDR10/PQ or scRGB again
- Thanks for Ramblurr for wayland-java project
- This may slightly increase jar size
- Vitrail 26.3 compat
- Flashback 26.3 basic compat w/o HDR export support
## Fixes Compared to alpha1
- SDL+OpenGL now use Java FFM + wp_color_management protocol on Wayland, allowing for HDR10/PQ or scRGB again
- Thanks for Ramblurr for wayland-java project
- This may slightly increase jar size
- Vitrail 26.3 compat
- Flashback 26.3 basic compat w/o HDR export support
## New Features
- Port to 26.3
- SDL Vulkan ST2084 PQ Color
- Remove IMBlocker integration
- Remove custom GLFW
- Linux now force to use extended sRGB on OpenGL
- ReplayMod Integration
- Basic Flashback Compatibility
## New Features
- Port to 26.3
- SDL Vulkan ST2084 PQ Color
- Remove IMBlocker integration
- Remove custom GLFW
- Linux now force to use extended sRGB on OpenGL
- ReplayMod Integration
- Basic Flashback Compatibility
## Fixes
- IMBlocker >=6.2.0/5.6.0 compat
- Due to API change, IMBlocker < 6.2.0/5.6.0 compatibility will be dropped.
- Axiom (?) > 6.0.0 compat
- Similarly, we dropped compatibility with older versions
- Super Resolution 0.9.1-alpha.2+ compat
- Crash on NeoForge without Super Resolution (#83)
## Fixes
- IMBlocker >=6.2.0/5.6.0 compat
- Due to API change, IMBlocker < 6.2.0/5.6.0 compatibility will be dropped.
- Axiom (?) > 6.0.0 compat
- Similarly, we dropped compatibility with older versions
- Super Resolution 0.9.1-alpha.2+ compat
- Crash on NeoForge without Super Resolution (#83)
## Fixes
- IMBlocker >=6.2.0/5.6.0 compat
- Due to API change, IMBlocker < 6.2.0/5.6.0 compatibility will be dropped.
- Axiom (?) > 6.0.0 compat
- Similarly, we dropped compatibility with older versions
- Super Resolution 0.9.1-alpha.2+ compat
## Fixes
- IMBlocker >=6.2.0/5.6.0 compat
- Due to API change, IMBlocker < 6.2.0/5.6.0 compatibility will be dropped.
- Axiom (?) > 6.0.0 compat
- Similarly, we dropped compatibility with older versions
- Super Resolution 0.9.1-alpha.2+ compat
## Fixes
- IMBlocker >=6.2.0/5.6.0 compat
- Due to API change, IMBlocker < 6.2.0/5.6.0 compatibility will be dropped.
- Axiom (?) > 6.0.0 compat
- Similarly, we dropped compatibility with older versions
- Super Resolution 0.9.1-alpha.2+ compat
- Crash on NeoForge without Super Resolution (#83)
## Fixes
- IMBlocker >=6.2.0/5.6.0 compat
- Due to API change, IMBlocker < 6.2.0/5.6.0 compatibility will be dropped.
- Axiom (?) > 6.0.0 compat
- Similarly, we dropped compatibility with older versions
- Super Resolution 0.9.1-alpha.2+ compat
- Crash on NeoForge without Super Resolution (#83)
## Fixes
- IMBlocker >=6.2.0/5.6.0 compat
- Due to API change, IMBlocker < 6.2.0/5.6.0 compatibility will be dropped.
- Axiom (?) > 6.0.0 compat
- Similarly, we dropped compatibility with older versions
- Super Resolution 0.9.1-alpha.2+ compat
## Fixes
- IMBlocker >=6.2.0/5.6.0 compat
- Due to API change, IMBlocker < 6.2.0/5.6.0 compatibility will be dropped.
- Axiom (?) > 6.0.0 compat
- Similarly, we dropped compatibility with older versions
- Super Resolution 0.9.1-alpha.2+ compat