fabulously-optimized icon indicating copy to clipboard operation
fabulously-optimized copied to clipboard

Sodium: OpenGL 4.6

Open Madis0 opened this issue 2 years ago • 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:

  1. the change is reverted
    • Pros: more compatibility
    • Cons: worse performance and bugs that became fixed are apparent again
  2. a compat option or extra mod is introduced
    • Pros: helps those users
    • Cons: may not be available forever (as long as needed)
  3. 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
  4. 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
  5. 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

Madis0 avatar Jan 03 '22 14:01 Madis0

*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.

Kichura avatar Jan 03 '22 14:01 Kichura

What about Linux? Am I affected? The text is only speaking of Windows and MacOS.

nsde avatar Jan 16 '22 19:01 nsde

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: https://github.com/CaffeineMC/sodium-fabric/issues/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.

Source (via)

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.

Madis0 avatar Jan 16 '22 20:01 Madis0

The requirements are a bit vague, but I'm sure it will work for my PC (RX 570) and Laptop (Vega 6).

nsde avatar Jan 17 '22 09:01 nsde

The requirements are a bit vague, but I'm sure it will work for my PC (RX 570) and Laptop (Vega 6).

It will

DioEgizio avatar Jan 20 '22 18:01 DioEgizio

They support gl4.6

DioEgizio avatar Jan 20 '22 18:01 DioEgizio

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.

supsm avatar Apr 14 '22 23:04 supsm

Change to Canvas Renderer and stop using Sodium?

Read point 4 in OP.

Madis0 avatar May 13 '22 04:05 Madis0

I'm aware, just saying that canvas has come a pretty long way in terms of low end performance since the post was created

supsm avatar May 16 '22 16:05 supsm

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

DioEgizio avatar May 16 '22 16:05 DioEgizio

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

supsm avatar May 16 '22 17:05 supsm

Stull, I think canvas would be a big regression both on performance and QoL (no iris = no shaders)

DioEgizio avatar May 16 '22 17:05 DioEgizio

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)

supsm avatar May 16 '22 22:05 supsm

Vanilla shaders are a meme and canvas shaders are not even comparable to optifine pipeline's shaders

DioEgizio avatar May 17 '22 05:05 DioEgizio

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.

supsm avatar May 17 '22 05:05 supsm

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

DioEgizio avatar May 17 '22 05:05 DioEgizio

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

supsm avatar May 17 '22 05:05 supsm

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.

JieningYu avatar May 17 '22 06:05 JieningYu

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)

Madis0 avatar May 19 '22 20:05 Madis0

IMS:

I've decided to skip [Sodium 0.4.3 for 1.19.1] for now, in favor of just letting 0.5 release soon.

Source (via)

Madis0 avatar Jul 29 '22 10:07 Madis0

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)

Source (via)

Madis0 avatar Mar 06 '23 17:03 Madis0

  • 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

Madis0 avatar Jul 24 '23 03:07 Madis0

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)

Madis0 avatar Aug 10 '23 15:08 Madis0

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. https://github.com/CaffeineMC/sodium-fabric/commit/0cb63b8190ef573e4fef50816ccda6642c55cd38

But I wouldn't panic, especially when you read back what happened in https://github.com/Fabulously-Optimized/fabulously-optimized/issues/219#issuecomment-1132190381.

Madis0 avatar Sep 17 '23 20:09 Madis0