I purchased Factorio on Steam today, and unfortunately I can't even open the game.
My system:
- macOS 10.14.1
- Hackintosh 'Mac Pro 5.1'
- Intel Xeon X5670 6-core (Westmere; no integrated GPU.)
- 48GB DDR3
- AMD 7970 Ghz Edition (AKA R9 280X), 3GB. Metal capable.
- 6 x monitors
Log file is attached. The core error appears to be '[OpenGL] glClear in ogl_clear:0: GL_INVALID_FRAMEBUFFER_OPERATION' with 'SystemUtil::vramSize() (in factorio) (SystemUtil.mm:45)' seemingly being relevant, especially as I note that the log doesn't mention VRAM being detected.
I searched the forum for this error and found this post, also on macOS. I see in his log that there should be a line giving the detected GPU VRAM size, at the point where mine instead crashes. His issue is different though, only affecting high-res sprites, where I can't even open the game.
I don't normally mention that I'm running a 'Hackintosh', ie a non-standard macOS install on non-Apple hardware, for fear that developer will immediately ignore any problems and refuse to provide support, despite the fact that normally all software runs just fine. But in this case it seems right to mention it, as I can't rule out that it's somehow a factor in an unusual GPU-related issue. I don't believe it is the problem, because this is the first time I've experienced any problem running GPU-related/OpenGL software (other games work, as do Adobe apps, OpenGL benchmarkers like GeekBench 4 and Guru3d GPUTest, and plenty of other programs.) But I thought it only fair to be upfront and mention it.
I have a second Hackintosh macOS system, and Factorio does load OK on that. Its specs are: macOS 10.14.1; Intel i5-3550; NVidia 760 2GB (using native macOS GPU drivers, not NVidia web drivers); two monitors. This system technically does have an integrated GPU, but it's not supported in macOS 10.14 so it's not being used. So again this is a system with only a discrete GPU, not an integrated one. Key differences seem to be different brand of GPU, different amount of VRAM, and number of connected monitors.
For now I suppose I will have to either run it on my second system, or else dual-boot into Windows to play. Both would be quite an inconvenience, so I would be very grateful if someone could investigate, especially as macOS support was a big factor in my deciding to purchase now.
Perhaps there's some workaround I can use? Like providing a config file which specifies the VRAM I have? I will start trying to investigate this myself.
At the least if someone could confirm that a similar hardware config has been tested (MacPro 2010/2011 with an AMD 7970/R9 280X or similar discrete GPU with 3GB VRAM). If it does seem it could be Hackintosh related I will definitely investigate that angle, but right now my experience of other GPU/OpenGL apps suggests it's unlikely to be that.
Thanks in advance. The game looks incredible - I can't wait to try it!
Here's an extract from the log for convenience, which I think covers the relevant parts:
Code: Select all
0.008 System info: [CPU: Intel(R) Xeon(R) CPU X5670 @ 2.93GHz, 12 cores, RAM: 49152 MB]
0.018 Display options: [FullScreen: 0] [VSync: 1] [UIScale: system (100.0%)] [MultiSampling: OFF] [Screen: 255] [Lang: en]
0.019 Available display adapters: 6
0.019 [0]: resolution 3840x2160px at [0,0]
0.019 [1]: resolution 1920x1080px at [-3840,-240]
0.019 [2]: resolution 1920x1200px at [-1920,960]
0.020 [3]: resolution 1920x1200px at [-1920,-240]
0.020 [4]: resolution 1200x1920px at [5040,0]
0.020 [5]: resolution 1200x1920px at [3840,0]
0.020 Create display on adapter 0. Size 1280x720 at position [1270, 702].
0.224 [OpenGL] glClear in ogl_clear:0: GL_INVALID_FRAMEBUFFER_OPERATION
0.264 Initialised OpenGL:[0] AMD Radeon HD Tahiti XT Prototype OpenGL Engine; driver: 2.1 ATI-2.2.8
Factorio crashed. Generating symbolized stacktrace, please wait ...
#0 0x0000000100a24342 in Logger::logStacktrace(StackTraceInfo*) (in factorio) (Logger.cpp:521)
#1 0x0000000100a119ed in CrashHandler::writeStackTrace(CrashHandler::CrashReason) (in factorio) (CrashHandler.cpp:173)
#2 0x0000000100a129c4 in CrashHandler::commonSignalHandler(int) (in factorio) (CrashHandler.cpp:524)
#3 0x0000000100a11919 in CrashHandler::SignalHandler(int) (in factorio) (CrashHandler.cpp:537)
#4 0x00007fff65a5db3d in 0x00007fff65a5db3d
#5 0x0000000000000037 in 0x00000037 (in factorio)
#6 0x00007fff6591c1c9 in 0x00007fff6591c1c9
#7 0x00007fff62fa6231 in 0x00007fff62fa6231
#8 0x00007fff62fa63cd in 0x00007fff62fa63cd
#9 0x00007fff647af32f in 0x00007fff647af32f
#10 0x00007fff62fb1dfe in 0x00007fff62fb1dfe
#11 0x00007fff62fb1be2 in 0x00007fff62fb1be2
#12 0x00007fff62fa4bb9 in 0x00007fff62fa4bb9
#13 0x00007fff647ad03c in 0x00007fff647ad03c
#14 0x00007fff3872ec8d in 0x00007fff3872ec8d
#15 0x00007fff386525de in 0x00007fff386525de
#16 0x00007fff38651f98 in 0x00007fff38651f98
#17 0x00007fff385e3ff2 in 0x00007fff385e3ff2
#18 0x0000000100d148a6 in SystemUtil::vramSize() (in factorio) (SystemUtil.mm:45)
#19 0x00000001004114cb in Display::Display(short, short) (in factorio) (Display.cpp:170)
#20 0x00000001003d4bd4 in GlobalContext::loadAllegro() (in factorio) (Display.cpp:0)
#21 0x00000001003d17cb in GlobalContext::init(bool, bool, bool) (in factorio) (GlobalContext.cpp:444)
#22 0x000000010075d0d6 in MainLoop::run(Filesystem::Path const&, Filesystem::Path const&, bool, bool, std::__1::function<void ()>, Filesystem::Path const&, MainLoop::HeavyMode) (in factorio) (MainLoop.cpp:253)
#23 0x0000000100751551 in _al_mangled_main (in factorio) (Main.cpp:1130)
#24 0x0000000100e3b097 in +[AllegroAppDelegate app_main:] (in factorio) (osx_app_delegate.m:230)
#25 0x00007fff3a973014 in 0x00007fff3a973014
#26 0x00007fff65a66339 in 0x00007fff65a66339
#27 0x00007fff65a692a7 in 0x00007fff65a692a7
#28 0x00007fff65a65445 in 0x00007fff65a65445
Stack trace logging done