0.17.x sometimes fails to start up with external GPU on OS X

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
Post Reply
newllama
Inserter
Inserter
Posts: 20
Joined: Thu Jul 07, 2016 1:00 am
Contact:

0.17.x sometimes fails to start up with external GPU on OS X

Post by newllama »

I'm running a weird machine configuration here so let me first get that out of the way. I'm using a 2015 MacBook Pro on macOS Mojave 10.14.2. I have an external GPU [Radeon RX Vega 56] attached via thunderbolt 3. Plugged into the Radeon is an Acer XR382CQK 37.5" display and I leave the laptop's clamshell display closed [external keyboard and mouse].

The first time I tried to run a release from the 0.17 branch, I think it was 0.17.4, I ran into this issue. The application will start and fullscreen correctly, then when the progress indicator hits 94% it just turns into a glitchy mess and the machine is unresponsive to attempts to kill the application. I can still move the mouse around though, but the "cursor" also turns into a glitchy mess. So then I open up the clamshell display and physically disconnect the thunderbolt connection which causes Factorio to crash and then I can plug the external GPU back in, close the clamshell, and try again. After a few tries and sometimes rebooting I can get it to work. Well, except for today I tried rebooting like 4 times so I'm over it. Also one time it looked like it was going to fail but then as I was about to disconnect thunderbolt it started up correctly but the textures were messy, though not unrecognizable.

I didn't have this problem on 0.16.x, and just switched back to the stable release to confirm it's still working. No mods are installed.

Below is my latest crash log from 0.17.8. I'm also attaching a photo of the glitchy mess. It's a photo because I can't take a screenshot :)

Code: Select all

   0.000 2019-03-07 16:26:28; Factorio 0.17.8 (build 43440, mac, steam)
   0.000 Operating system: macOS 10.14.2
   0.001 Program arguments: "/Users/marcel/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio" 
   0.001 Read data path: /Users/marcel/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/data
   0.001 Write data path: /Users/marcel/Library/Application Support/factorio [119100/1792907MB]
   0.001 Binaries path: /Users/marcel/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents
   0.011 System info: [CPU: Intel(R) Core(TM) i7-6920HQ CPU @ 2.90GHz, 8 cores, RAM: 16384 MB]
   0.011 Display options: [FullScreen: 1] [VSync: 1] [UIScale: automatic (100.0%)] [MultiSampling: OFF] [Screen: 255] [Lang: en]
   0.103 Available displays: 1
   0.103  [0]: Acer XR382CQK - {[0,0], 3840x1600, SDL_PIXELFORMAT_ARGB8888, 75Hz}
   0.898 Initialised OpenGL:[0] AMD Radeon RX Vega 56 OpenGL Engine; driver: 4.1 ATI-2.4.9
   0.898   [Extensions] s3tc:yes; KHR_debug:NO; ARB_clear_texture:NO, ARB_copy_image:NO
   0.898   [Version] 4.1
   1.052 Graphics settings preset: very-high
   1.052   Dedicated video memory size 8176 MB (detected from AMD Radeon RX Vega 56 Compute Engine; VendorID: 0x1021d00)
   1.052 Graphics options: [Graphics quality: high] [Video memory usage: all] [Light scale: 100%] [DXT: high-quality]
   1.052                   [Max load threads: 32] [Max texture size: 0] [Tex.Stream.: 0] [Rotation quality: normal] [Color: 32bit]
   1.256 Loading mod core 0.0.0 (data.lua)
   1.337 Loading mod base 0.17.8 (data.lua)
   1.579 Loading mod base 0.17.8 (data-updates.lua)
   1.709 Checksum for core: 2736929835
   1.709 Checksum of base: 3541142062
   2.278 Loading sounds...
   2.466 Info PlayerData.cpp:69: Local player-data.json unavailable
   2.466 Info PlayerData.cpp:72: Cloud player-data.json available, timestamp 1551997250
   2.611 Initial atlas bitmap size is 16384
   2.632 Created atlas bitmap 16384x16384 [none]
   2.634 Created atlas bitmap 16384x11292 [none]
   2.634 Created atlas bitmap 16384x2116 [decal]
   2.634 Created atlas bitmap 16384x3808 [low-object]
   2.634 Created atlas bitmap 16384x1888 [mipmap, linear-minification, linear-magnification, linear-mip-level, no-crop, no-scale]
   2.634 Created atlas bitmap 16384x6880 [terrain, mipmap, linear-minification, linear-mip-level, no-crop]
   2.634 Created atlas bitmap 16384x480 [smoke, mipmap, linear-minification, linear-magnification]
   2.634 Created atlas bitmap 16384x456 [not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level, no-crop, no-scale]
   2.634 Created atlas bitmap 16384x748 [alpha-mask]
   2.636 Created atlas bitmap 16384x12632 [shadow, linear-magnification, alpha-mask]
   2.636 Created atlas bitmap 16384x1264 [shadow, mipmap, linear-magnification, alpha-mask]
   2.756 Texture processor created. GPU accelerated compression Supported: yes, Enabled: yes/yes. Test passed. YCoCgDXT PSNR: 35.83, BC3 PSNR: 33.82
   4.672 Parallel Sprite Loader initialized (threads: 7)
  15.617 Sprites loaded
  74.773 Error CrashHandler.cpp:515: Received SIGSEGV
Factorio crashed. Generating symbolized stacktrace, please wait ...
#1  0x000000010f381812 in Logger::logStacktrace(StackTraceInfo*) + 0x12
#2  0x000000010f36ae1d in CrashHandler::writeStackTrace(CrashHandler::CrashReason) + 0x9d
#3  0x000000010f36baa4 in CrashHandler::commonSignalHandler(int) + 0x74
#4  0x000000010f36ad09 in CrashHandler::SignalHandler(int) + 0x9
#5  0x00007fff59a7fb3d in _sigtramp + 0x1d
#6  0x00000001248b09ec in glrWriteTextureData + 0xd99
#7  0x00007fff3682a1c7 in glCompressedTexSubImage2D_Exec + 0x38f
#8  0x00007fff35bf77b1 in glCompressedTexSubImage2D + 0x3b
#9  0x000000010eb6320e in TextureCopyHelperOpenGL::reinterpretRectRegionsOGL3(VideoBitmapOpenGL&, TextureCopyHelper::CopyRegionSpecification*, unsigned long, unsigned int, Framebuffer&) + 0x26e
#10 0x000000010eb9c739 in TextureProcessor::generateMipmapsWithCustomPipelineState(GraphicsInterface&, VideoBitmap&, VideoBitmap&, MipmapGeneratorPipelineState&, Framebuffer&, UniformBufferHandle<Uniforms::MipMapGenParams>&, TextureCopyHelper*, bool) + 0x3e9
#11 0x000000010eaf43d4 in TextureProcessor::generateMipmaps(VideoBitmap&) + 0x3b4
#12 0x000000010eaf0b8c in AtlasSystem::loadSprites(bool) + 0x141c
#13 0x000000010eafcbfc in AtlasSystem::tryLoadSpritesWithFallbackToMinimalMode(bool) + 0x2c
#14 0x000000010ead8bba in AtlasSystem::build() + 0x1fa
#15 0x000000010ead4c8d in GlobalContext::init(bool, bool, bool) + 0x22ed
#16 0x000000010efbe82a in MainLoop::run(Filesystem::Path const&, Filesystem::Path const&, bool, bool, std::__1::function<void ()>, Filesystem::Path const&, MainLoop::HeavyMode) + 0xea
#17 0x000000010e5d9257 in main + 0x13417
Stack trace logging done
  74.803 Error Util.cpp:97: Unexpected error occurred. If you're running the latest version of the game you can help us solve the problem by posting the contents of the log file on the Factorio forums.
Please also include the save file(s), any mods you may be using, and any steps you know of to reproduce the crash.
Attachments
IMG_9122.jpeg
IMG_9122.jpeg (3.39 MiB) Viewed 1681 times

posila
Factorio Staff
Factorio Staff
Posts: 5202
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: 0.17.x sometimes fails to start up with external GPU on OS X

Post by posila »

Hello, try to open Factorio properties in Steam Library and set launch options to

Code: Select all

--gfx-safe-mode --max-texture-size=8192

newllama
Inserter
Inserter
Posts: 20
Joined: Thu Jul 07, 2016 1:00 am
Contact:

Re: 0.17.x sometimes fails to start up with external GPU on OS X

Post by newllama »

posila wrote:
Fri Mar 08, 2019 4:26 pm
Hello, try to open Factorio properties in Steam Library and set launch options to

Code: Select all

--gfx-safe-mode --max-texture-size=8192
Thanks, this works. Am I just going to have to use these flags forever? Am I losing anything with safe mode on?

posila
Factorio Staff
Factorio Staff
Posts: 5202
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: 0.17.x sometimes fails to start up with external GPU on OS X

Post by posila »

newllama wrote:
Sat Mar 09, 2019 2:49 am
Thanks, this works. Am I just going to have to use these flags forever? Am I losing anything with safe mode on?
Alternativelly, you can disable gpu-accelerated-compression in config.ini, but using --gfx-safe-mode is fine. It disables GPU accelerated texture compression during sprite loading, and forces some other settings to "safe" values. For example, it would force max-texture-size to 4096, but on your GPU higher value should be better, that's why --max-texture-size=8192 parameter is used also.

newllama
Inserter
Inserter
Posts: 20
Joined: Thu Jul 07, 2016 1:00 am
Contact:

Re: 0.17.x sometimes fails to start up with external GPU on OS X

Post by newllama »

posila wrote:
Wed Mar 13, 2019 2:25 pm
newllama wrote:
Sat Mar 09, 2019 2:49 am
Thanks, this works. Am I just going to have to use these flags forever? Am I losing anything with safe mode on?
Alternativelly, you can disable gpu-accelerated-compression in config.ini, but using --gfx-safe-mode is fine. It disables GPU accelerated texture compression during sprite loading, and forces some other settings to "safe" values. For example, it would force max-texture-size to 4096, but on your GPU higher value should be better, that's why --max-texture-size=8192 parameter is used also.
Cool that does make sense though I hope as 0.17 matures I won't have to hardcode these values anymore. If I want to launch Factorio when I'm not plugged into my eGPU I'll have to swap out the parameters and remember to add them back when I'm home again. So auto-detection of these parameters is definitely nice to have.

Post Reply

Return to “Technical Help”