CaffeineMC / sodium-fabric

A Minecraft mod designed to improve frame rates and reduce micro-stutter
Other
4.76k stars 811 forks source link

macOS: Fullscreen resolution "unsupported" on 1.21.3 #2831

Open Proton0 opened 2 hours ago

Proton0 commented 2 hours ago

Bug Description

I wanted to reduce my fullscreen resolution due to macOS having retina displays causing my M1 air to lag (especially with shaders) but i noticed that it said that its unavailable and is only supported on Windows

Minecraft 1.21.3

but on other versions (1.21.0) it allows me to change the fullscreen resolution Minecraft 1.21.0

I launched Minecraft 1.21.3 without Sodium and the fullscreen resolution slider works and is supported Minecraft 1.21.3 without sodium

My Minecraft version is 1.21.3 and sodium version is 0.6.0-beta.3-fabric and my macOS Version is macOS Seqouia (15.0.1 build 24A348)

Reproduction Steps

  1. Play on Minecraft 1.21.3 on macOS
  2. Check fullscreen resolution (should say unsupported)

Log File

[11:12:51] [main/INFO]: Loading Minecraft 1.21.3 with Fabric Loader 0.16.7 [11:12:51] [main/INFO]: Loading 11 mods:

Crash Report

---- Minecraft Crash Report ---- // There are four lights!

Time: 2024-10-24 11:14:48 Description: Manually triggered debug crash

java.lang.Throwable: Manually triggered debug crash at knot//net.minecraft.class_309.method_1474(class_309.java:556) at knot//net.minecraft.class_310.method_1574(class_310.java:1946) at knot//net.minecraft.class_310.method_1523(class_310.java:1313) at knot//net.minecraft.class_310.method_1514(class_310.java:933) at knot//net.minecraft.client.main.Main.main(Main.java:265) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:105) at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129) at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

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

-- Head -- Thread: Render thread Stacktrace: at knot//net.minecraft.class_309.method_1474(class_309.java:556)

-- Manual crash details -- Details: Modules: Stacktrace: at knot//net.minecraft.class_309.method_1474(class_309.java:556) at knot//net.minecraft.class_310.method_1574(class_310.java:1946) at knot//net.minecraft.class_310.method_1523(class_310.java:1313) at knot//net.minecraft.class_310.method_1514(class_310.java:933) at knot//net.minecraft.client.main.Main.main(Main.java:265) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:105) at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129) at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

-- Uptime -- Details: JVM uptime: 117.428s Wall uptime: 109.667s High-res time: 108.768s Client ticks: 2047 ticks / 102.350s Stacktrace: at knot//net.minecraft.class_310.method_1587(class_310.java:2443) at knot//net.minecraft.class_310.method_54580(class_310.java:1002) at knot//net.minecraft.class_310.method_1514(class_310.java:954) at knot//net.minecraft.client.main.Main.main(Main.java:265) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:105) at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129) at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

-- Affected level -- Details: All players: 1 total; [class_746['Proton0'/72, l='ClientLevel', x=-531.47, y=80.00, z=-28.30]] Chunk stats: 961, 609 Level dimension: minecraft:overworld Level spawn location: World: (-528,80,-32), Section: (at 0,0,0 in -33,5,-2; chunk contains blocks -528,-64,-32 to -513,319,-17), Region: (-2,-1; contains chunks -64,-32 to -33,-1, blocks -1024,-64,-512 to -513,319,-1) Level time: 2877 game time, 2877 day time Server brand: fabric Server type: Integrated singleplayer server Tracked entity count: 171

-- Last reload -- Details: Reload number: 1 Reload reason: initial Finished: Yes Packs: vanilla, fabric, fabric-api-base, fabric-block-view-api-v2, fabric-renderer-api-v1, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-resource-loader-v0, fabricloader, sodium

-- System Details -- Details: Minecraft Version: 1.21.3 Minecraft Version ID: 1.21.3 Operating System: Mac OS X (aarch64) version 15.0.1 Java Version: 21.0.3, Microsoft Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft Memory: 58152456 bytes (55 MiB) / 878706688 bytes (838 MiB) up to 4294967296 bytes (4096 MiB) CPUs: 8 Processor Vendor: Apple Inc. Processor Name: Apple M1 Identifier: Apple Inc. Family 0x1b588bb3 Model 0 Stepping 0 Microarchitecture: ARM64 SoC: Firestorm + Icestorm Frequency (GHz): 3.20 Number of physical packages: 1 Number of physical CPUs: 8 Number of logical CPUs: 8 Graphics card #0 name: Apple M1 Graphics card #0 vendor: Apple (0x106b) Graphics card #0 VRAM (MiB): 0.00 Graphics card #0 deviceId: unknown Graphics card #0 versionInfo: unknown Memory slot #0 capacity (MiB): 0.00 Memory slot #0 clockSpeed (GHz): 0.00 Memory slot #0 type: unknown Virtual memory max (MiB): 8192.00 Virtual memory used (MiB): 5840.86 Swap memory total (MiB): 0.00 Swap memory used (MiB): 0.00 Space in storage for jna.tmpdir (MiB): Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): Space in storage for io.netty.native.workdir (MiB): Space in storage for java.io.tmpdir (MiB): available: 124153.56, total: 233752.44 Space in storage for workdir (MiB): available: 124153.56, total: 233752.44 JVM Flags: 2 total; -Xms512m -Xmx4096m Launched Version: 1.21.3 Launcher name: PrismLauncher Backend library: LWJGL version 3.3.3-snapshot Backend API: Apple M1 GL version 4.1 Metal - 89.3, Apple Window size: 1650x1050 GFLW Platform: cocoa GL Caps: Using framebuffer using OpenGL 3.2 GL debug messages: Is Modded: Definitely; Client brand changed to 'fabric'; Server brand changed to 'fabric' Universe: 400921fb54442d18 Type: Integrated Server (map_client.txt) GPU Warnings: version: Metal Graphics mode: fancy Render Distance: 12/12 chunks Resource Packs: vanilla, fabric, fabric-api-base, fabric-block-view-api-v2, fabric-renderer-api-v1, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-resource-loader-v0, fabricloader, sodium Current Language: en_us Locale: en_PH System encoding: UTF-8 File encoding: UTF-8 CPU: 8x Apple M1 Server Running: true Player Count: 1 / 8; [class_3222['Proton0'/72, l='ServerLevel[New World]', x=-531.47, y=80.00, z=-28.30]] Active Data Packs: vanilla, fabric Available Data Packs: fabric, minecart_improvements, redstone_experiments, trade_rebalance, vanilla, winter_drop Enabled Feature Flags: minecraft:vanilla World Generation: Stable World Seed: -2764318682352290268 Suppressed Exceptions: NONE

douira commented 2 hours ago

It was specifically only enabled on windows because on the other platforms it's kinda broken. We can look into re-enabling it on macOS if it's actually necessary, even though the behavior is quite janky. For the time being, if you want a native solution I recommend that you go into your System Settings and change the display resolution to a lower value that's marked as "low resolution" (otherwise it's just fractional scaling). This also lets you use the regular fullscreen mode (not fullscreen in Minecraft, just using the green macOS fullscreen button) and avoids weird behavior when switching applications. Alternatively you could use one of the Resolution Control mods to render at a lower resolution and then upscale the image, however it seems like none of them are updated for current versions as far as I can tell.