Arch linux, using sway. This crashed after updating all system packages to latest as of 2026-01-18.
sprite.vert does exist at /home/echo/.local/share/Steam/steamapps/common/Factorio/data/core/graphics/shaders/sprite.vert
*edit* I just backed it off until it launched, and it works back at 2.0.47.
Code: Select all
0.000 2026-01-18 20:35:07; Factorio 2.0.73 (build 84377, linux64, steam, space-age)
0.000 Operating system: Linux
0.000 Initializing Steam API.
0.000 Program arguments: "/home/echo/.local/share/Steam/steamapps/common/Factorio/bin/x64/factorio"
0.000 Config path: /home/echo/.factorio/config/config.ini
0.000 Read data path: /home/echo/.local/share/Steam/steamapps/common/Factorio/data
0.000 Write data path: /home/echo/.factorio [738302/1907728MB]
0.000 Binaries path: /home/echo/.local/share/Steam/steamapps/common/Factorio/bin
0.006 System info: [CPU: AMD Ryzen 9 5950X 16-Core Processor, 32 cores, RAM: 32003 MB]
0.006 Environment: DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 DESKTOP_SESSION=<unset> XDG_SESSION_DESKTOP=<unset> XDG_CURRENT_DESKTOP=<unset> SDL_VIDEODRIVER=<unset> __GL_FSAA_MODE=<unset> __GL_LOG_MAX_ANISO=<unset> __GL_SYNC_TO_VBLANK=<unset> __GL_SORT_FBCONFIGS=<unset> __GL_YIELD=<unset>
0.036 Info ModManager.cpp:279: Found duplicate mod CleanFloor, using highest version (2.0.0).
0.036 Info ModManager.cpp:279: Found duplicate mod EditorExtensions, using highest version (2.4.2).
0.036 Info ModManager.cpp:279: Found duplicate mod Milestones, using highest version (1.4.4).
0.036 Info ModManager.cpp:279: Found duplicate mod flib, using highest version (0.16.2).
0.036 Info ModManager.cpp:279: Found duplicate mod helmod, using highest version (2.0.17).
0.036 Info ModManager.cpp:279: Found duplicate mod pushbutton, using highest version (2.0.4).
0.036 Info ModManager.cpp:279: Found duplicate mod textplates, using highest version (0.7.2).
0.036 Display options: [FullScreen: true] [VSync: false] [UIScale: manual-display-points (175.0%)] [Native DPI: true] [Screen: 2] [Special: lmw] [Lang: en]
0.539 Video driver: wayland
0.539 Available displays: 4
0.539 [0]: Ancor Communications Inc ASUS PB277 0x00033744 (HDMI-A-1) - {[2160,0], 2560x1440, SDL_PIXELFORMAT_RGB888, 75Hz}
0.539 [1]: GIGA-BYTE TECHNOLOGY CO., LTD. M27U 23463B000001 (DP-3) - {[0,1440], 2160x3840, SDL_PIXELFORMAT_RGB888, 150Hz}
0.540 [2]: Acer Technologies XV273K 0x04910584 (DP-2) - {[2160,1440], 3840x2160, SDL_PIXELFORMAT_RGB888, 120Hz}
0.540 [3]: GIGA-BYTE TECHNOLOGY CO., LTD. M27U 23063B000344 (DP-1) - {[6000,1440], 2160x3840, SDL_PIXELFORMAT_RGB888, 150Hz}
0.578 Initialised OpenGL:[2] AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 21.1.6, DRM 3.64, 6.18.5-arch1-1); driver: 4.6 (Core Profile) Mesa 25.3.3-arch1.2
0.578 [Size] Window: 3840x2160, Backbuffer: 3360x1890
0.579 [Extensions] s3tc:yes; KHR_debug:yes; ARB_clear_texture:yes, ARB_copy_image:yes, ARB_pipeline_statistics_query:yes, ARB_gl_spirv:yes, ARB_ES2_compatibility:yes
0.579 [Version] 4.6
0.661 Graphics settings preset: very-high
0.661 Dedicated video memory size 24560 MB (detected from AMD Radeon RX 7900 XTX (RADV NAVI31); VendorID: 0x1002; DeviceID: 0x744c)
Factorio crashed. Generating symbolized stacktrace, please wait ...
src/Util/StacktraceToStream.cpp (52): walkStackAndPrintToStream
src/Util/StacktraceToStream.cpp (60): printStacktraceToStream
src/Util/Logger.cpp (336): writeStacktrace
src/Util/Logger.cpp (381): logStacktrace
src/Util/Logging.cpp (59): logStackTrace
src/Util/Logging.cpp (107): logAndAbortOrThrow
src/Util/Logging.cpp (96): logAndAbortOrThrow
src/Graphics/OpenGL/ShaderOpenGL.cpp (15): ShaderOpenGL
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/tuple (2254): pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, 0UL, PackagePath &&, unsigned int &, bool &, 0UL, 1UL, 2UL>
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/tuple (2241): pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, PackagePath &&, unsigned int &, bool &>
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/stl_construct.h (97): construct_at<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const ShaderOpenGL>, const std::piecewise_construct_t &, std::tuple<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &>, std::tuple<PackagePath &&, unsigned int &, bool &> >
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/alloc_traits.h (539): construct<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const ShaderOpenGL>, const std::piecewise_construct_t &, std::tuple<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &>, std::tuple<PackagePath &&, unsigned int &, bool &> >
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/hashtable_policy.h (2004): _M_allocate_node<const std::piecewise_construct_t &, std::tuple<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &>, std::tuple<PackagePath &&, unsigned int &, bool &> >
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/hashtable.h (307): _Scoped_node<const std::piecewise_construct_t &, std::tuple<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &>, std::tuple<PackagePath &&, unsigned int &, bool &> >
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/hashtable_policy.h (950): try_emplace<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, PackagePath, unsigned int &, bool &>
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/unordered_map.h (480): try_emplace<PackagePath, unsigned int &, bool &>
src/Graphics/OpenGL/GraphicsInterfaceOpenGL.cpp (919): fetchShader
src/Graphics/OpenGL/GraphicsInterfaceOpenGL.cpp (940): fetchProgram
src/Graphics/OpenGL/GraphicsInterfaceOpenGL.cpp (385): createPipelineStateObject
src/Graphics/PipelineStateObject.cpp (128): setupSplashScreenStates
src/Graphics/PipelineStateObject.cpp (62): PipelineStateManager
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/unique_ptr.h (1070): make_unique<PipelineStateManager, GraphicsInterfaceOpenGL &, bool>
src/Graphics/OpenGL/GraphicsInterfaceOpenGL.cpp (164): initialize
src/Graphics/SDLWindow.cpp (322): initializeGraphicsInterface
src/Graphics/SDLWindow.cpp (272): SDLWindow
src/Graphics/SDLWindow.cpp (117): SDLWindow
src/GlobalContext.cpp (983): loadGraphics
src/GlobalContext.cpp (456): init
src/MainLoop.cpp (289): run
src/Main.cpp (906): fmain
src/Main.cpp (928): main
0x7ff7fee27634
__libc_start_main
_start
0xffffffffffffffff
Stack trace logging done
2.379 Error ShaderOpenGL.cpp:15: Failed to create shader '__core__/graphics/shaders/sprite.vert'.
2.379 Error CrashHandler.cpp:643: Received 6
Logger::writeStacktrace skipped.
2.379 Error Util.cpp:95: 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.

