Hi all! I eagerly enabled the Metal renderer. When the game rebooted, it felt like the logo was... different. When I got in the game, everything looked "blown up". I ended up hitting Graphics settings and toning down saturation to 80%. Brightness and Contrast are both at 0.
Retina 5K, iMac 27", 2017, Radeon Pro 580 8 Go, Ventura 13.7.5.
[StrangePan][2.0.47] Metal renderer overly saturated
-
- Factorio Staff
- Posts: 236
- Joined: Fri Dec 07, 2018 3:41 pm
- Contact:
Re: [2.0.47] Metal renderer overly saturated
Hello, can you share a screenshot (or two or three) and your game's log file, as per these instructions?
-
- Factorio Staff
- Posts: 236
- Joined: Fri Dec 07, 2018 3:41 pm
- Contact:
Re: [StrangePan][2.0.47] Metal renderer overly saturated
Gonna mark this as "won't fix" since I can't reproduce the issue and haven't received additional information.
-
- Manual Inserter
- Posts: 4
- Joined: Sat Jun 21, 2025 3:37 am
- Contact:
Re: [StrangePan][2.0.47] Metal renderer overly saturated
Putting this here for clarification in case this ever comes up again. The OpenGL renderer renders the game with an 8-bit dynamic range on a 10-bit framebuffer. This makes the peak brightness value of the game 1/4 the peak brightness value the display is capable of. The experimental Metal renderer maps the game's SDR textures onto the full dynamic range of the 10-bit framebuffer. This phenomenon does not occur on SDR displays, obviously, but effectively every Mac for pretty much the last decade has had a 10-bit HDR display besides the Mac mini and Mac Studio. Sorry, "XDR", as they insist on calling it. Lol, lmao even. Anyway, personally, although OP submitted it as a bug, I love how it looks. I could see how someone may not like the look, especially if their monitor's HDR implementation isn't that great, but for me, Factorio on the OpenGL renderer on my Mac has always looked washed out when the system has HDR enabled, kind of like a mild version of the "wild west" filter movies use sometimes. With the Metal renderer, although it looks slightly more saturated than how Factorio appears on most devices, 1. the colors are much more faithful to how Factorio normally appears compared to how they look with the OpenGL renderer in HDR mode, and 2. I prefer this look to the "normal" look anyway. I don't think this is an issue that needs fixing in the first place, but to anyone at Wube that may disagree and start work on fixing this, I implore you to add a toggle in the Factorio graphics settings to keep the current implementation. At the very least it should be an option in the configuration file. I use a 2018 Mac mini with a 34" Samsung Odyssey G8 OLED, if that helps at all. I've attached screenshots and a log file. The Dock appears every other screenshot because summoning the Dock triggers the content to momentarily switch back to SDR mode due to the content no longer technically being fullscreened.StrangePan wrote: Thu Jun 19, 2025 12:20 pm Gonna mark this as "won't fix" since I can't reproduce the issue and haven't received additional information.
TLDR -- I am able to reproduce the phenomenon described by OP, but I disagree on its classification as a bug. It is due to differences in how the two graphics APIs handle HDR content and displays. I prefer the appearance of the Metal implementation when in HDR mode. If this is ever scheduled to be "fixed" anyway, a setting should be added to graphics settings which allows you to revert to the old implementation. At the very least, it should be a configuration option. I've documented the phenomenon despite my doubts that that information will be necessary.
Let me know if there's anything more I can do to help with putting this issue to rest. And thanks.
- Attachments
-
- Screenshot 2025-06-20 at 23.10.54.png (8.56 MiB) Viewed 305 times
-
- Screenshot 2025-06-20 at 23.10.49.png (8.64 MiB) Viewed 305 times
-
- Screenshot 2025-06-20 at 23.06.51.png (9.4 MiB) Viewed 305 times
-
- Screenshot 2025-06-20 at 23.06.43.png (9.5 MiB) Viewed 305 times
-
- factorio-current.log
- (345.52 KiB) Downloaded 11 times
Last edited by fardshid420 on Sat Jun 21, 2025 7:40 am, edited 1 time in total.
-
- Factorio Staff
- Posts: 236
- Joined: Fri Dec 07, 2018 3:41 pm
- Contact:
Re: [StrangePan][2.0.47] Metal renderer overly saturated
Hey, thank you for the information, this is actually pretty helpful and leads me to a guess as to why this is happening. I know that when full screened using the Metal backend, macOS switches the game to direct rendering, meaning we write directly to the display without going through the compositor. This was causing some blurriness when native resolution rendering was disabled, but I guess it could also be causing color issues on HDR displays? Technically, Factorio does not support HDR so macOS shouldn't be remapping our 8-bit SDR content to a 10-bit HDR/EDR.fardshid420 wrote: Sat Jun 21, 2025 6:41 am TLDR -- I am able to reproduce the phenomenon described by OP, but I disagree on its classification as a bug. It is due to differences in how the two graphics APIs handle HDR content and displays. I prefer the appearance of the Metal implementation when in HDR mode. If this is ever scheduled to be "fixed" anyway, a setting should be added to graphics settings which allows you to revert to the old implementation. At the very least, it should be a configuration option. I've documented the phenomenon despite my doubts that that information will be necessary.
Let me know if there's anything more I can do to help with putting this issue to rest. And thanks.
It seems to me like macOS should be smarter about this, so this isn't a top priority, but I may try to investigate this further later on to better understand what's happening. I'm not even sure if we have any such displays at the office...
-
- Manual Inserter
- Posts: 4
- Joined: Sat Jun 21, 2025 3:37 am
- Contact:
Re: [StrangePan][2.0.47] Metal renderer overly saturated
No worries! I'm really glad I was able to help you out. Your comment about the compositor tracks with my experience; summoning any UI element belonging to the OS immediately makes the content appear identical to that of the OpenGL renderer. The saturated appearance returns when said UI element is dismissed. Also, it just occurred to me to check the color space of the screenshots I took, and macOS says they're 8-bit RGB. Oops. I'll try to get a screen recording with 10-bit color depth immediately after I submit this, but it might take me as long as 24 hours.StrangePan wrote: Sat Jun 21, 2025 11:02 am Hey, thank you for the information, this is actually pretty helpful and leads me to a guess as to why this is happening. I know that when full screened using the Metal backend, macOS switches the game to direct rendering, meaning we write directly to the display without going through the compositor. This was causing some blurriness when native resolution rendering was disabled, but I guess it could also be causing color issues on HDR displays? Technically, Factorio does not support HDR so macOS shouldn't be remapping our 8-bit SDR content to a 10-bit HDR/EDR.
It seems to me like macOS should be smarter about this, so this isn't a top priority, but I may try to investigate this further later on to better understand what's happening. I'm not even sure if we have any such displays at the office...
(Not meaning to argue, these are all just additional thoughts/considerations.) As a developer who's worked with these APIs and worked with weird color depth situations like this, I understand your perspective, I really do, and I don't necessarily disagree in principle. The easy and cheap counterresponse would be to reiterate the issue with the OpenGL renderer looking like I just moved my factory to Mexico in Breaking Bad on third-party HDR displays, and that if the two renderers were brought to visual parity, there would no longer be a good solution to this besides switching in and out of SDR mode when playing. But the biggest thing for me is that the way the game looks on the Metal renderer is not the same as just turning the saturation to 115%. The colors in HDR mode are fundamentally different. The continue button on the main menu, for example. On the best, most accurately calibrated SDR display, it's still just going to look green. With the Metal renderer, the continue button is green like the grass of a golf course on a bright day. The foundry looks like it's glowing red hot, instead of just looking like off-red metal. The reflections on ores look like they're brighter because they're catching the Sun's light, rather than because that region of the texture is brighter. The surface of Fulgora looks like the inside of a cherry. The lava on Vulcanus looks like you should be feeling the heat pour off of it. I could go on. It's so beautiful and so much more immersive. It would be a shame to lose this way of playing the game, even if admittedly it kind of feels in the same vain as AI upscaling a 12 FPS anime to 240 FPS because you think the action looks smoother.StrangePan wrote: Sat Jun 21, 2025 11:02 am I guess it could also be causing color issues on HDR displays? Technically, Factorio does not support HDR so macOS shouldn't be remapping our 8-bit SDR content to a 10-bit HDR/EDR.
A middle-ground solution might be to simulate the peak brightness of SDR mode while in HDR mode. That way, there wouldn't be the issue of washed out colors on third-party displays, the colors wouldn't look out of place to the uninitiated, the Factorio artists don't feel like their artistic intent has been ignored, and it'll probably retain some of that HDR magic. Everyone's happy. I still think the current implementation should be an option in addition to this, but it's an idea.
A MacBook Pro with an XDR display would probably suffice, someone's probably got one if there's active development on macOS. The game would look normal with the OpenGL renderer because of certain technologies they've implemented with their own displays, in typical fashion, but you should still be able to tell the difference between it and the Metal renderer. Might want to test on a third-party display before pushing anything though.StrangePan wrote: Sat Jun 21, 2025 11:02 am I'm not even sure if we have any such displays at the office...
This was my first forum post, and I'm realizing the absurdity of getting a helpful, well-written report on a bug in your inbox, and it's from fardshid420. Completely forgot that was there lol. Anyway, I'll shut up. Cheers!
-
- Factorio Staff
- Posts: 236
- Joined: Fri Dec 07, 2018 3:41 pm
- Contact:
Re: [StrangePan][2.0.47] Metal renderer overly saturated
I do have one such MacBook, but have not observed this problem with the built-in display. Searching around on the internet, it seems a few others have had issues with macOS supporting 3rd party external HDR displays, so perhaps that's the problem. Thing is, I'm not sure how we would fix this if we even wanted to. Either we'd need an API to detect if we're rendering in direct mode or composite mode, some way to disable direct rendering, or some way to tell macOS how to remap to the wider color space. If such APIs exist, I haven't found them yet. If we had to remap colors ourselves, then we'd also need to add proper 10-bit color support to make everything work.fardshid420 wrote: Sat Jun 21, 2025 2:53 pm A MacBook Pro with an XDR display would probably suffice, someone's probably got one if there's active development on macOS. The game would look normal with the OpenGL renderer because of certain technologies they've implemented with their own displays, in typical fashion, but you should still be able to tell the difference between it and the Metal renderer. Might want to test on a third-party display before pushing anything though.
This really does seem like an issue for Apple to solve. And since it seems players can reconfigure their own monitors, perhaps we leave this problem for them to solve for now.