IronPdf.UpdatedChrome on Linux: "GPU process isn't usable", GLIBC or libnspr4.so Errors
Overview
From 2026.11.1, IronPdf.UpdatedChrome on Linux runs Chromium 146, which needs glibc 2.31 or newer on x64 (2.34 on ARM64) and uses the operating system's NSS libraries instead of bundled copies. On an older distribution, IronPDF can't load the engine, tries to download other engine files, and then stops at the first render; on an image without NSS, the engine fails to load. Install the system libraries on a supported OS, or render through the -updatedchrome Docker engine or the default IronPdf package.
FATAL:gpu_data_manager_impl_private.cc(440)] GPU process isn't usable. Goodbye. The IronPdf Chrome renderer in '/app' needs glibc 2.30 or newer, but this system has glibc 2.27. The IronPdf.UpdatedChrome packages need glibc 2.31 or newer on Linux (Ubuntu 20.04, Debian 11, RHEL 9, Amazon Linux 2023 or later)… libnspr4.so: cannot open shared object file: No such file or directory
The first error appears on older distributions such as Ubuntu 18.04, Debian 10 and Rocky 8, while Amazon Linux 2 exits with no message. The second appears instead, after several minutes, when the machine can't reach nuget.org. The third appears when NSS is missing. A later IronPDF release is planned to show the glibc message directly.
Environment
- OS: Linux x64 and ARM64. The glibc failure appears on Ubuntu 18.04, Debian 10, CentOS/RHEL 7 and 8, Rocky/Alma 8, and Amazon Linux 2 (including AWS Lambda images based on it). On ARM64 it also appears on Ubuntu 20.04 and Debian 11. The NSS error appears on minimal or distroless images.
- Hosting: Bare Linux, VMs, AWS Lambda, custom Docker images
- Language/Runtime: .NET with the IronPdf.UpdatedChrome.Linux packages
Version Metadata
- Version found: 2026.11.1
- Version resolved: N/A
Cause
Chromium 146 is built against a newer glibc, so its native files can't load on older systems, and the default engine files IronPDF then downloads can't run alongside them. Up to 2026.10, the x64 UpdatedChrome package bundled its own NSS, NSPR and SQLite; from 2026.11.1 it uses the system copies, so OS security updates cover them. On ARM64, every IronPDF engine already needed glibc 2.34 before this release.
Solution
- Recommended: Check the glibc version on the machine or base image. You need 2.31 or higher on x64, or 2.34 or higher on ARM64. If it's lower, go to step 3.
ldd --version
- Install the system libraries.
LinuxAndDockerDependenciesAutoConfigis on by default, so an application running as root installs them at the first render, which then takes a few minutes longer. If the application doesn't run as root, or auto-configuration is off, install them in your image. NSS alone isn't enough: with only NSS installed, the next error islibatk-1.0.so.0: cannot open shared object file. Debian / Ubuntu (tested on Debian 12):RUN apt-get update && apt-get install -y \
libgtk2.0-0 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libgbm1 \
libasound2 libxrender1 libfontconfig1 libxshmfence1 libxkbcommon0 \
libnss3 libudev1RHEL 9 / Rocky / Alma 9, Amazon Linux 2023 (tested on Rocky Linux 9 and Amazon Linux 2023):
dnf install -y nss systemd-libs at-spi2-atk libXcomposite libXrandr libXdamage \
mesa-libgbm alsa-lib pango cups-libs libxshmfence libxkbcommonIf
libudev1(systemd-libs) is missing, the process stops with a bareTrace/breakpoint trap. - If glibc is older than the minimum, pick one of these:
- Move to a supported OS or base image: Ubuntu 22.04, Debian 12, RHEL 9, Amazon Linux 2023, or
public.ecr.aws/lambda/dotnet:8for AWS Lambda. - Keep the OS and get Chromium 146 through Docker: switch to the
IronPdf.Slimpackage and run the engine container, which brings its own OS. Use the same<version>as your IronPDF client package.
docker run -d -p 127.0.0.1:33350:33350 ironsoftwareofficial/ironpdfengine:<version>-updatedchrome
- To build your own image, use
FROM ironsoftwareofficial/ironpdfengine:<version>-updatedchrome. Copying the engine files onto another base image needs the same glibc minimum and the libraries from step 2.
- Move to a supported OS or base image: Ubuntu 22.04, Debian 12, RHEL 9, Amazon Linux 2023, or
-
- Keep the OS and render in-process (x64 only): switch to the default
IronPdf.Linuxpackage, which uses Chromium 109. On ARM64 this doesn't help, because the default package also needs glibc 2.34. - Short-term only (x64): pin
IronPdf.UpdatedChrome.Linux2026.10.3 (Chromium 131), which still bundles NSS. That engine gets no further updates.
- Keep the OS and render in-process (x64 only): switch to the default
Workarounds That Don't Work
- Alpine and other musl-based images: they have no glibc, so UpdatedChrome can't run in-process there.
- Upgrading only IronPDF on Ubuntu 18.04, Debian 10, CentOS/RHEL 7–8 or Amazon Linux 2: no Chromium 146 build exists for these systems.
References
- IronPDF on Linux: https://ironpdf.com/get-started/linux/
- IronPDF advanced NuGet installation (UpdatedChrome packages): https://ironpdf.com/get-started/advanced-installation-nuget/
- IronPdfEngine Docker image on Docker Hub: https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine
- Related: deploying IronPDF to AWS Lambda with Docker (libnss3): https://ironpdf.com/troubleshooting/aws-lambda-docker-libnss3/