X-Plane 12 uses Vulkan on Windows and Linux, and Metal on macOS. Learn what is automatic, which graphics settings matter, and how to fix faults.
Yes. X-Plane 12 uses Vulkan as its native rendering API on supported Windows and Linux systems; macOS uses Metal instead. Vulkan is selected automatically, so there is no Vulkan on/off switch to configure. You tune performance through X-Plane’s graphics settings, GPU drivers and, when needed, the separate Zink plugin bridge.
Does X-Plane 12 enable Vulkan automatically?
X-Plane 12 automatically starts with Vulkan on Windows and Linux when the hardware and driver meet its requirements. Unlike X-Plane 11, there is no checkbox for switching between OpenGL and Vulkan, and old instructions referring to that checkbox do not apply.
You also do not need to install a separate Vulkan package. Vulkan support comes through the graphics driver. On a Mac, seeing Metal rather than Vulkan is correct; Vulkan cannot be selected there.
How do you configure Vulkan in X-Plane 12?
You configure X-Plane 12’s Vulkan renderer by preparing the graphics driver correctly and then balancing the simulator’s graphics settings for your GPU, VRAM and CPU.
- Install a suitable graphics driver. Use a stable driver intended for your GPU and operating system. Restart the computer after installing or replacing it.
- Make sure X-Plane uses the dedicated GPU. This matters particularly on laptops and systems containing both integrated and discrete graphics. The selected GPU is recorded in
Log.txtin the main X-Plane folder. - Remove forced driver overrides. Leave antialiasing, texture filtering and synchronisation application-controlled unless solving a specific fault. NVIDIA users can follow our recommended NVIDIA settings for X-Plane’s Vulkan renderer.
- Set a sensible graphics baseline. Begin with moderate antialiasing, clouds, shadows and texture quality rather than moving every control to maximum. Our breakdown of X-Plane 12 graphics controls explains which settings improve image quality and what each one costs.
- Change one group of settings at a time. Test in the same aircraft, airport, weather and camera view. Otherwise, traffic, clouds or cockpit displays can disguise the result of a setting change.
- Compare CPU and GPU frame times. If GPU time is higher, reduce rendering resolution, antialiasing, clouds or shadows. If CPU time is higher, lowering resolution usually achieves little; reduce object density, traffic or CPU-heavy add-ons instead.
Which settings affect Vulkan performance most?
Rendering resolution, antialiasing, clouds, shadows and texture memory usually have the largest direct effect on GPU performance under Vulkan.
| Symptom | Setting or component to check | Best first adjustment |
|---|---|---|
| Low frame rate with high GPU time | Rendering resolution, antialiasing, clouds and shadows | Reduce one GPU-heavy setting at a time |
| Blurry textures or VRAM warnings | Texture quality, display resolution and add-on textures | Lower texture quality and remove unusually large texture packs from the test |
| Low frame rate with high CPU time | Object density, traffic, avionics and plugins | Reduce CPU-heavy features rather than Vulkan image settings |
| Stutters after a driver change | Shader and pipeline cache rebuilding | Allow the same area to load and retest before changing settings |
| Missing or unstable plugin windows | Legacy OpenGL plugin drawing | Test the Zink plugin bridge where supported |
A mistake we see constantly is treating texture quality as a simple frame-rate control. Its main constraint is VRAM. Exceeding available VRAM can cause texture downscaling, pauses or a Vulkan device-loss crash rather than a predictable reduction in average frame rate.
Should you enable the Zink plugin bridge?
Zink should be enabled only when a plugin using legacy OpenGL drawing needs it or its developer recommends it. Zink translates those plugin graphics calls for use alongside Vulkan; it does not turn Vulkan on for X-Plane itself.
The option, where supported, appears in the simulator’s graphics settings and normally requires a restart. Plugin behaviour varies, so test affected plugins individually and disable Zink again if it introduces corrupted windows or instability. Our guide to enabling and troubleshooting the Zink plugin bridge covers that separate compatibility layer.
How can you verify that X-Plane 12 is using Vulkan?
The reliable check is X-Plane’s Log.txt file, which records the graphics API, driver and selected GPU during start-up. Search it for references to Vulkan and confirm that the listed graphics device is the one you intended to use.
On macOS, the log should report Metal instead. Preserve the log immediately after a failed launch because X-Plane creates a new one the next time it starts.
Why does X-Plane 12 show Vulkan errors or stutter?
Persistent Vulkan faults usually come from the graphics driver, VRAM exhaustion, unstable hardware, an injected overlay or a third-party plugin rather than from a missing Vulkan switch.
- Vulkan device loss: return GPU overclocks to standard values, reduce VRAM-heavy settings and test without third-party plugins or graphics injectors. Follow our full Vulkan device-loss troubleshooting sequence before reinstalling the simulator.
- Vulkan unavailable at start-up: check that the GPU supports X-Plane 12, reinstall its graphics driver and confirm that the dedicated GPU is selected. Installing a standalone Vulkan runtime is not the normal fix.
- Stutters after an update: shader and pipeline compilation can cause temporary pauses. If they remain regular, isolate traffic, scenery and plugins because the bottleneck may not be Vulkan.
- Plugin windows missing or flashing: update the plugin, test Zink if supported, or temporarily move third-party plugins out of
Resources/pluginsto identify the offender.
If a damaged cache is strongly suspected, close X-Plane, rename Output/shadercache, and restart so the simulator can rebuild it. Do not begin by deleting every preference file; that removes controls and calibration while often leaving the actual driver or plugin fault untouched.