Errors with GPU and Freezing
To disable GPU rendering/hardware acceleration or force a fallback graphics driver for ClassicUO on Linux, you can pass explicit environment variables or command-line arguments to bypass rendering bugs.
Option 1: Force Software Rendering (Recommended)
If the game launcher or the client fails to render properly due to GPU issues, you can force Linux to use software rendering via OpenGL by launching the executable from your terminal with the LIBGL_ALWAYS_SOFTWARE environment variable:
bash
LIBGL_ALWAYS_SOFTWARE=1 ./ClassicUO
Use code with caution.
(Replace ./ClassicUO with the path to your specific launcher binary or executable script).
Option 2: Use ClassicUO’s Driver Launch Argument
The ClassicUO Wiki Launch Arguments specify a flag called force_driver. You can explicitly instruct the application engine to try a different backend by adding it directly to your launcher shortcut or running it from the command line: [1]
- Force OpenGL:bash
./ClassicUO -force_driver 1Use code with caution. - Force Vulkan (if fallback helps):bash
./ClassicUO -force_driver 2Use code with caution.
Option 3: For Web-Based Electron/Chrome Launchers
If you are using the modern web/Electron-based launcher variant for the ClassicUO Web Client and encountering a black screen, you can append standard Chromium flags to disable hardware acceleration directly: [1]
bash
./ClassicUO-Launcher --disable-gpu --disable-software-rasterizer
Use code with caution.
If you are trying to resolve a specific issue like a black screen, freeze, or error code, let me know what happens when you launch it so we can pinpoint the exact configuration file to fix!
Library Errors
To fix the System.DllNotFoundException: DllNotFound_Linux, libz error in ClassicUO, you need to install the missing system-level zlib compression dependencies required by the .NET / FNA runtime. [1, 2]
Run the command corresponding to your Linux distribution in your terminal:
🛠️ Ubuntu / Debian / Pop!_OS / Mint
Install the development header package for zlib: [1]
bash
sudo apt update
sudo apt install zlib1g-dev libgdiplus
Use code with caution.
⛰️ Arch Linux / Manjaro
Arch systems usually include zlib, but you may need to explicitly ensure it is fully present along with libgdiplus: [1, 2]
bash
sudo pacman -Syu zlib libgdiplus
Use code with caution.
🔴 Fedora / RHEL / CentOS
Install the compression development package: [1]
bash
sudo dnf install zlib-devel libgdiplus
Use code with caution.
🔍 Still getting the error? Create a symlink
If the application is looking explicitly for a generic libz.so filename but your system only has versioned instances (like libz.so.1), you can create a direct symbolic link: [1]
- Locate where your
libzis installed:bashfind /usr/lib* -name "libz.so*"Use code with caution. - Create a symlink to it in your main library directory (adjust the source path if yours is in
/usr/lib64or/lib/x86_64-linux-gnu):bashsudo ln -s /usr/lib/libz.so.1 /usr/lib/libz.soUse code with caution.
Once the packages are installed or the symlink is created, restart ClassicUO and it should successfully load your Ultima Online client files. [1, 2]
If you run into any other launch crashes, let me know your Linux distribution and whether you are using the native launcher or running it through a compatibility tool like Wine/Proton.