Sodium

Sodium

35M Downloads

Shader compilation fails on some NVIDIA driver installations

koidfas opened this issue ยท 17 comments

commented

Version information

sodium-fabric-mc1.17.1-0.3.0+build.5

Reproduction Steps

  1. Open the game
  2. Start a new world
  3. Crash

Crash Report file

---- Minecraft Crash Report ----
// You should try our sister game, Minceraft!

Time: 8/13/21, 8:29 PM
Description: Unexpected error

java.lang.RuntimeException: Shader program linking failed, see log for details
at me.jellysquid.mods.sodium.client.gl.shader.GlProgram$Builder.build(GlProgram.java:108)
at me.jellysquid.mods.sodium.client.render.chunk.ShaderChunkRenderer.createShader(ShaderChunkRenderer.java:80)
at me.jellysquid.mods.sodium.client.render.chunk.ShaderChunkRenderer.compileProgram(ShaderChunkRenderer.java:46)
at me.jellysquid.mods.sodium.client.render.chunk.ShaderChunkRenderer.begin(ShaderChunkRenderer.java:90)
at me.jellysquid.mods.sodium.client.render.chunk.RegionChunkRenderer.render(RegionChunkRenderer.java:91)
at me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.renderLayer(RenderSectionManager.java:296)
at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer(SodiumWorldRenderer.java:206)
at net.minecraft.class_761.method_3251(class_761.java:4329)
at net.minecraft.class_761.method_22710(class_761.java:1164)
at net.minecraft.class_757.method_3188(class_757.java:1026)
at net.minecraft.class_757.method_3192(class_757.java:810)
at net.minecraft.class_310.method_1523(class_310.java:1112)
at net.minecraft.class_310.method_1514(class_310.java:728)
at net.minecraft.client.main.Main.main(Main.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Thread: Render thread
Stacktrace:
at me.jellysquid.mods.sodium.client.gl.shader.GlProgram$Builder.build(GlProgram.java:108)
at me.jellysquid.mods.sodium.client.render.chunk.ShaderChunkRenderer.createShader(ShaderChunkRenderer.java:80)
at me.jellysquid.mods.sodium.client.render.chunk.ShaderChunkRenderer.compileProgram(ShaderChunkRenderer.java:46)
at me.jellysquid.mods.sodium.client.render.chunk.ShaderChunkRenderer.begin(ShaderChunkRenderer.java:90)
at me.jellysquid.mods.sodium.client.render.chunk.RegionChunkRenderer.render(RegionChunkRenderer.java:91)
at me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.renderLayer(RenderSectionManager.java:296)
at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer(SodiumWorldRenderer.java:206)
at net.minecraft.class_761.method_3251(class_761.java:4329)
at net.minecraft.class_761.method_22710(class_761.java:1164)
at net.minecraft.class_757.method_3188(class_757.java:1026)

-- Affected level --
Details:
All players: 1 total; [class_746['akaiih'/142, l='ClientLevel', x=20.50, y=63.00, z=21.50]]
Chunk stats: 1024, 441
Level dimension: minecraft:overworld
Level spawn location: World: (16,63,18), Section: (at 0,15,2 in 1,3,1; chunk contains blocks 16,0,16 to 31,255,31), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 4 game time, 4 day time
Server brand: fabric
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.class_638.method_8538(class_638.java:370)
at net.minecraft.class_310.method_1587(class_310.java:2399)
at net.minecraft.class_310.method_1514(class_310.java:752)
at net.minecraft.client.main.Main.main(Main.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- Last reload --
Details:
Reload number: 1
Reload reason: initial
Finished: Yes
Packs: Default, Fabric Mods

-- System Details --
Details:
Minecraft Version: 1.17.1
Minecraft Version ID: 1.17.1
Operating System: Windows 10 (amd64) version 10.0
Java Version: 16.0.1, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation
Memory: 272694656 bytes (260 MiB) / 1377828864 bytes (1314 MiB) up to 3196059648 bytes (3048 MiB)
CPUs: 8
Processor Vendor: GenuineIntel
Processor Name: Intel(R) Core(TM) i3-10100F CPU @ 3.60GHz
Identifier: Intel64 Family 6 Model 165 Stepping 3
Microarchitecture: unknown
Frequency (GHz): 3.60
Number of physical packages: 1
Number of physical CPUs: 4
Number of logical CPUs: 8
Graphics card #0 name: NVIDIA GeForce GTX 1050 Ti
Graphics card #0 vendor: NVIDIA (0x10de)
Graphics card #0 VRAM (MB): 4095.00
Graphics card #0 deviceId: 0x1c82
Graphics card #0 versionInfo: DriverVersion=30.0.14.7111
Memory slot #0 capacity (MB): 8192.00
Memory slot #0 clockSpeed (GHz): 2.73
Memory slot #0 type: DDR4
Memory slot #1 capacity (MB): 8192.00
Memory slot #1 clockSpeed (GHz): 2.73
Memory slot #1 type: DDR4
Virtual memory max (MB): 25025.06
Virtual memory used (MB): 10150.97
Swap memory total (MB): 8704.00
Swap memory used (MB): 61.05
JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms512m -Xmx3048m
Fabric Mods:
fabric: Fabric API 0.37.2+1.17
fabric-api-base: Fabric API Base 0.3.0+a02b446313
fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.2.0+2b5c62d018
fabric-biome-api-v1: Fabric Biome API (v1) 3.1.11+c345aea818
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+a02b446318
fabric-command-api-v1: Fabric Command API (v1) 1.1.3+5ab9934c18
fabric-commands-v0: Fabric Commands (v0) 0.2.2+92519afa18
fabric-containers-v0: Fabric Containers (v0) 0.1.12+a02b446318
fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.4+2e8bd82f18
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.5+be9da31018
fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.11+6cefd57718
fabric-entity-events-v1: Fabric Entity Events (v1) 1.1.0+a02b446318
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.9+a722d8c018
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+92519afa18
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.7+6cefd57718
fabric-item-api-v1: Fabric Item API (v1) 1.2.4+a02b446318
fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.10+b7ab612118
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+a02b446318
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.2+36b77c3e18
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.4.4+a02b446318
fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.4+a02b446318
fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+92519afa18
fabric-models-v0: Fabric Models (v0) 0.3.0+a02b446318
fabric-networking-api-v1: Fabric Networking API (v1) 1.0.13+2e8bd82f18
fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.11+a02b446318
fabric-networking-v0: Fabric Networking (v0) 0.3.2+92519afa18
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.10.9+b7ab612118
fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.3+a02b446318
fabric-particles-v1: Fabric Particles (v1) 0.2.4+a02b446318
fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.10+e2961fee18
fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.4+5f02c96918
fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.8+a02b446318
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.0+a02b446318
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+a02b446313
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+a02b446318
fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+92519afa18
fabric-rendering-v1: Fabric Rendering (v1) 1.7.0+2e8bd82f18
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.8+a00e834b18
fabric-screen-api-v1: Fabric Screen API (v1) 1.0.4+155f865c18
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.8+a02b446318
fabric-structure-api-v1: Fabric Structure API (v1) 1.1.13+5ab9934c18
fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.4+a02b446318
fabric-textures-v0: Fabric Textures (v0) 1.0.6+a02b446318
fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.12+b7ab612118
fabric-transfer-api-v1: Fabric Transfer API (v1) 1.0.0+3fe3c3f518
fabricloader: Fabric Loader 0.11.6
hydrogen: Hydrogen 0.3
indium: Indium 1.0.0+mc1.17.1
java: Java HotSpot(TM) 64-Bit Server VM 16
lithium: Lithium 0.7.3
minecraft: Minecraft 1.17.1
modmenu: Mod Menu 2.0.4
reeses-sodium-options: Reese's Sodium Options 1.1.2
sodium: Sodium 0.3.0+build.5
sodium-extra: Sodium Extra 0.3.3
Launched Version: MultiMC5
Backend library: LWJGL version 3.2.2 build 10
Backend API: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 GL version 3.2.0 NVIDIA 471.11, NVIDIA Corporation
Window size: 1920x1080
GL Caps: Using framebuffer using OpenGL 3.2
GL debug messages:
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fabric'
Type: Integrated Server (map_client.txt)
Graphics mode: fancy
Resource Packs: Fabric Mods
Current Language: English (US)
CPU: 8x Intel(R) Core(TM) i3-10100F CPU @ 3.60GHz
Player Count: 1 / 8; [class_3222['akaiih'/142, l='ServerLevel[New World]', x=20.50, y=63.00, z=21.50]]
Data Packs: vanilla, Fabric Mods

Additional information

Mod list:
fabric-api-0.37.2+1.17
hydrogen-fabric-mc1.17.1-0.3
indium-1.0.0+mc1.17.1
lithium-fabric-mc1.17.1-0.7.3
modmenu-2.0.4
sodium-extra-mc1.17.1-0.3.3
sodium-fabric-mc1.17.1-0.3.0+build.5

commented

Iris is now giving me the error.

commented

But i don't have two sodium extras??? I just checked and there's only one sodium extra and the sodium itself.

OBS: I just recently changed ram,

commented

You have two sodium extras. Try removing the one that says build 5 maybe?

commented

Mod list:
fabric-api-0.37.2+1.17
hydrogen-fabric-mc1.17.1-0.3
indium-1.0.0+mc1.17.1
lithium-fabric-mc1.17.1-0.7.3
modmenu-2.0.4
sodium-extra-mc1.17.1-0.3.3
sodium-fabric-mc1.17.1-0.3.0+build.5

/
It shows up in the logs, though. And they are different versions (1-0.33 and 1-0.3.0)

commented

That is not sodium extra mod, It's clearly Sodium.
If you download Sodium 1.17.1 from Modrinth will have the same file name (sodium-fabric-mc1.17.1-0.3.0+build.5)

commented

Having the same issue, I've tried using the latest release and the beta release in github action. Maybe it is a MultiMC issue since making a new instance and running sodium and fabric loader only still crashes the game upon joining a world. So it shouldn't be a issue about Sodium Extra

Edit: Ok its not a MultiMC issue, tried it with normal Minecraft Launcher and the problem still persist

Edit: I probably found a solution, Using your GPU for Minecraft would crash your game so You would have to remove your javaw.exe from Graphics settings so that you can join a world, the performance dropped alot for me though.

Reinstalling or upgrading your graphics card driver should work as well. What I did is used DDU to delete the whole graphic driver, download the driver files before everything, Boot into safe mode, Open DDU and just follow the instructions. Install the driver after and everything should be back to normal and boot back to normal mode

commented

I'd like to actually keep this issue open until we're able to figure out why this happens. It seems that for users with NVIDIA graphics cards that shader compilation will fail with the most absurd errors. Notably, our shader sources seem to get misinterpreted (modified?) and our std140 layout specifier turns into std150, which fails with the following error:

error C3008: unknown layout specifier 'std150'

So far, we've seen that re-installing their drivers after running DDU seems to solve the problem. But I really can't imagine what would be causing this... it doesn't make any sense. I'm suspicious something is seriously wrong with NVIDIA's driver.

commented

Having the same issue, I've tried using the latest release and the beta release in github action. Maybe it is a MultiMC issue since making a new instance and running sodium and fabric loader only still crashes the game upon joining a world. So it shouldn't be a issue about Sodium Extra

Edit: Ok its not a MultiMC issue, tried it with normal Minecraft Launcher and the problem still persist

Edit: I probably found a solution, Using your GPU for Minecraft would crash your game so You would have to remove your javaw.exe from Graphics settings so that you can join a world, the performance dropped alot for me though.

Reinstalling or upgrading your graphics card driver should work as well. What I did is used DDU to delete the whole graphic driver, download the driver files before everything, Boot into safe mode, Open DDU and just follow the instructions. Install the driver after and everything should be back to normal and boot back to normal mode

Reinstalling my graphics card driver actually worked, thanks.

commented

The stranger thing is that I was only able to find 2 results on Google that mention this issue, both of which are crash logs from the Citra Emulator project.

https://community.citra-emu.org/uploads/short-url/wVk6iraNAtp9XTSnchw3FTTBudk.txt
https://community.citra-emu.org/uploads/short-url/iCIaZf9Br7u5YqgkLZAsoEsaSJT.txt

These are very interesting, because it shows that even in Citra's case, the shader sources they're passing are clearly using std140, but the driver still crashes with the unknown layout specifier 'std150' error.

Have we just hit the bad driver lottery?

commented

I completely uninstalled my NVIDIA driver with Display Driver Uninstaller in safe mode on Windows 10 20H2, reinstalled the latest standard drivers from the NVIDIA website. I am still getting this crash, I do not know what is wrong. However, the latest Github actions builds do not crash (except from switching dimensions, OpenGL errors, etc... I know that is unrelated though).

commented

I'm using an older version of Nvidia graphics driver, 457.30, which is released last year so it's pretty old. I usually install it using NVSlimmer, basically removes the extra stuff in the driver I don't need or use, you can find it on guru3D forum. Not sure if those helps with the problem, but hopefully it helps

commented

I was using NVCleanstall on 457.30 and I was still crashing. Then I tried regular drivers, NVSlimmer, etc... Nothing worked. However, Iris somehow works fine.

commented

Please upload a log file from the client (not the crash log) if you're experiencing the same error described in this issue.

commented

https://paste.ee/p/zxaQW
This crash does not happen with the release version of Iris + Sodium (I do not know why). I do not crash in the development versions.

commented

It also happens with regular Sodium

commented

This has been fixed with Sodium 0.3.1 and 0.3.2.

commented

Said to be resolved.