Sodium: OpenGL 4.6
Madis0 opened this issue Β· 24 comments
Upcoming Sodium might require OpenGL 4.5 4.6. This will affect macOS and old computers. (For context, Minecraft requires OpenGL 3.2 since 1.17, which also dropped compatibility on some computers).
Possible outcomes for this:
- the change is reverted
- Pros: more compatibility
- Cons: worse performance and bugs that became fixed are apparent again
- a compat option or extra mod is introduced
- Pros: helps those users
- Cons: may not be available forever (as long as needed)
- Minecraft 1.XX requires it as well
- Pros: the blame goes to Mojang and affected users will just continue using old versions; they will likely fix it for macOS somehow
- Cons: Sodium may update before that, so it's not a short-term solution
- Fabulously Optimized starts using Canvas instead of Sodium
- Pros: short-term fix for affected users
- Cons: worse performance for most (maybe especially those who are affected); rip Iris and Sodium Extra; who knows when Canvas will follow suit
- Fabulously Optimized introduces a new major version (most likely)
- Pros: the change is clearly distinct and people can continue using older versions
- Cons: no idea how big is the affected playerbase; upcoming users who have old computers and need FO
*Side note: The worst that can happen is ditching both canvas and sodium but in turn also cause even more problematic performance than ever,
But i can honestly bet that would disappoint alot of people and just assume everything works in OptiFine all of a sudden; in this case, this entire parent issue comment shows how struggling OpenGL + Maintaining drivers are to begin with.
What about Linux? Am I affected? The text is only speaking of Windows and MacOS.
Good question. Here's what Jelly has to say:
Sodium 0.5 minimum hardware requirements on Windows and Linux-based operating systems:
- NVIDIA GeForce GTX 400 series or newer
- INTEL HD Graphics 500 series or newer
- AMD Radeon HD 7000 series or newer
NOTE: macOS is no longer supported. See the following issue: CaffeineMC/sodium#1100
On Linux-based operating systems, it might be possible to get Sodium 0.5 working on INTEL hardware as old as the HD Graphics 4000 series by using the "CROCUS" driver under Mesa. This can be enabled with the environment variable MESA_LOADER_DRIVER_OVERRIDE=crocus, but may become default with newer versions of Mesa in the future.
Also, more context from the issue linked above:
For the time being, we're only depending on the new API features of OpenGL 4.5, and the actual hardware requirements have yet to change. This means even older systems which don't support OpenGL 4.5 will probably continue to work with Sodium provided they have up-to-date graphics drivers, as the only changes on Sodium's side are how the application interacts with the driver, not the graphics card hardware itself.
The requirements are a bit vague, but I'm sure it will work for my PC (RX 570) and Laptop (Vega 6).
The requirements are a bit vague, but I'm sure it will work for my PC (RX 570) and Laptop (Vega 6).
It will
I did some performance testing to evaluate option 4 on my old laptop (intel 4510u with integrated graphics). In 1.18.1, sodium 0.4.0 and canvas 1.0.2302 performed virtually the same, averaging 65 fps at 4 chunks with fancy graphics. Vanilla performed worse, with around only 40 fps. If this is the option that you go with, make sure you set the pipeline to Canvas Basic instead of Canvas Standard (which is the default, with fabulous graphics and additional features). Really, this is just another good reason to look further into #109.
Stull, I think canvas would be a big regression both on performance and QoL (no iris = no shaders)
I'm aware, just saying that canvas has come a pretty long way in terms of low end performance since the post was created
Sodium is still better, not to mention it works with iris.
Also canvas is almost abandoned at this point since Grondag stopped working on it iirc
Sodium won't work on older computers, which is the main problem we're trying to solve.
Canvas has found a new maintainer and changes are still being made. If anything, sodium is more inactive as it has much less frequent commits
What makes you think iris is the only source of shaders? Vanilla and canvas shaders also exist. As for performance, it's pretty dependent on hardware, sometimes it performs better, sometimes worse (but usually pretty close regardless)
Vanilla shaders are a meme and canvas shaders are not even comparable to optifine pipeline's shaders
Having a different design philosophy and structure doesn't mean it is inferior, canvas is currently missing a few minor features (e.g. colored shadows), but current canvas shaders look pretty much like an optifine shader (though they're relatively new, so they're a bit more unrefined in nature). Not to mention canvas's shadows perform vastly superior to that of iris. My point being, canvas has come a long way and is a competent contender for shaders.
https://github.com/Poisoned-Honey/ForgetMeNot-Shaders
https://github.com/spiralhalo/LumiLights
Keep in mind these shaders are new compared to the shaders you've mentioned. ForgetMeNot has been around for probably only half a year
Send me a canvas shaders which is comparable to stuff like Complementary/Slidur/s Vibrant Shaders/BSL. I don't think you'll find anything
Stull, I think canvas would be a big regression both on performance and QoL (no iris = no shaders)
you can use sodium+iris yourself and macOS users only has up to OpenGL 4.1.
Jelly:
I'm not going to be putting forth any additional work on Sodium. Whatever source code available on GitHub is provided as-is.
IMS (Iris dev):
Iβd be happy to continue maintaining it, would you rather an updated version to be published on a separate fork? Itβd probably help separate you more as a developer from the community if you wish for it.
I think Jelly got burned out. As there are several contributors to Sodium already, I don't think it will die out any time soon, any new performance features may just get implemented slower. And no, Sodium will not be merged into Iris.
Source (via)
Sodium has now changed its release schedule to "backport" smaller fixes and improvements faster, rather than working on a huge "next" update.
Good:
- This scary update is pushed back to unknown date
- Perf increases, of course
- Devs are working on an API to make dependent mods break less (e.g. Iris, ReplayMod)
- Faster fixes and updates overall
Bad:
- Sodium Extra and other dependent mods will probably break more often, at least at first
- The OpenGL change may happen at a more unexpected time (because updates are small and more incremental)
- We've settled on a minimum hardware support policy for the project going forward: https://github.com/CaffeineMC/sodium-fabric#-hardware-compatibility
- This will help us focus on more recent hardware (released in the past 10 years) and write much faster and higher-quality code.
- If your graphics card is unsupported but worked with Sodium 0.4, then it will very likely continue to work with Sodium 0.5.
- All this means is that we are not going to spend our time or resources on trying to fix issues on such old hardware.
Emphasis mine. https://discord.com/channels/602796788608401408/1077645005042233374/1132341127060664350 via https://caffeinemc.net/discord
Iris just released a testing build with 4.6 features
this build won't be mainline for a while though
you still have a few months
https://discord.com/channels/774352792659820594/883067831485366304/1139217812175454239 (via)
Sodium is no longer actively maintained by the original author. Future updates are not guaranteed, and it is unlikely that any new features or enhancements will be implemented going forward.
CaffeineMC/sodium@0cb63b8
But I wouldn't panic, especially when you read back what happened in #219 (comment).