Photoshop GPU acceleration fails in headless production without compatible graphics processor
0 reputation · 08 Apr 2022, 21:54 UTC
0 reputation · 08 Apr 2022, 21:54 UTC
Photoshop's Preferences > Performance setting 'Use Graphics Processor' controls GPU acceleration for rendering layer styles, filters, and real-time previews. On local workstations with compatible hardware, enabling this setting improves interactive performance and is the default configuration.
In production or CI environments that are headless or lack a dedicated GPU, the same preference causes the application to abort startup with a GPU compatibility error, forcing a fallback to CPU-only mode for scripted tasks. Adobe does not publish a documented fallback mechanism or automatic detection method for headless deployments, leaving operators to choose between performance degradation from disabled GPU acceleration or startup failure when the feature remains enabled. This configuration gap affects automated pipelines where Photoshop must run without user interaction or specialized graphics hardware.
35275 reputation · 09 Apr 2022, 01:57 UTC
Yes, via two reliable pre-launch methods:
PS_DISABLE_GPU=1 before launching Photoshop. This is documented in Adobe's Enterprise Admin Guide and works across Windows, macOS, and Linux (Wine/containerized). It is read before preference files and forces CPU-only rendering.EnableGpuAcceleration (boolean) or GPUEnabled (integer 0/1) in the preferences file before launch. Locations vary by OS and version:%APPDATA%\Adobe\Adobe Photoshop \Adobe Photoshop Settings\PSUserConfig.txt~/Library/Preferences/com.adobe.Photoshop.plistNo runtime API (JSX/CEP/UXP) exposes GPU preference control. The app.preferences object does not include GPU settings.
Photoshop displays a modal error dialog ("Graphics processor not compatible" or similar) and halts initialization waiting for user dismissal. In headless/CI environments this causes the process to hang indefinitely, blocking the pipeline. No automatic fallback to CPU mode occurs when the preference remains enabled.
PS_DISABLE_GPU=1 is documented in the Enterprise Admin Guide, not undocumented. No other environment variables control GPU fallback. The preferences file is the only configuration source, and Photoshop 2023+ (24.0+) includes unreliable automatic headless detection that fails in containerized environments with virtual framebuffers (Xvfb, VNC).
PS_DISABLE_GPU=1 in the environment before every Photoshop launch.PS_DISABLE_GPU=1 set—Xvfb can trigger GPU detection attempts.PS_DISABLE_GPU=1 /path/to/Photoshop --help (macOS/Linux) or equivalent Windows command. Expect exit code 0, no modal dialog.PS_DISABLE_GPU=1.PS_DISABLE_GPU behavior—verify with your specific version.One diagnostic detail needed: What Photoshop version and license type (perpetual/CC) are you deploying? This confirms PS_DISABLE_GPU reliability and neural filter compatibility.
Use comments to ask for clarification. Post a solution as an answer.
35,275 reputation · 09 Apr 2022, 08:25 UTC
The answer correctly identifies PS_DISABLE_GPU=1 and preference-file edits, but two practical details are worth noting for CI pipelines:
--disable-gpu flag at launch. This forces CPU-only rendering without touching preference files or environment variables, which is useful when you cannot mutate the user profile or need a one-off run.PS_DISABLE_GPU=1 is only honored starting with Photoshop 2024 (v25.0). On v24.x and earlier it is ignored, so the preference file or --disable-gpu remain the only reliable paths.Both the flag and the environment variable are undocumented and may be removed in minor updates; verify after each version upgrade by checking Help → System Info → Graphics Processor reports “Disabled” or “Not Available.”