Vulkan Renderer

Vulkan is a modern cross-platform renderer available on Windows and Linux. Native Linux uses Vulkan exclusively, and Virtual Reality requires Vulkan on Windows.

Vulkan supports Shader Model 6 effects and texture streaming. Performance compared with Direct3D varies by GPU, driver, and scene.

Minimum requirements

BeamNG.drive requires Vulkan 1.3 and all Vulkan features used by the renderer. General Vulkan support alone does not guarantee compatibility.

The minimum hardware remains the regular BeamNG.drive minimum requirements :

  • CPU: AMD Ryzen 5 1600 or Intel Core i5-8400
  • Memory: 16 GB RAM
  • GPU: Minimum 6 GB VRAM (AMD Radeon RX 570 or Nvidia GeForce GTX 1060)
  • Driver: A current Vulkan 1.3-capable driver
  • Storage: 60 GB available space

Windows requires a 64-bit version of Windows 10 or newer. For native Linux, Ubuntu 22.04 LTS or SteamOS is recommended.

Recommended requirements

For 1080p:

  • CPU: AMD Ryzen 7 3700X or Intel Core i7-9700
  • Memory: 32 GB RAM
  • GPU: AMD Radeon RX 6700 or Nvidia GeForce RTX 3060 with at least 8 GB VRAM
  • Driver: The latest stable driver from the GPU manufacturer or Linux distribution
  • Storage: A fast SSD

VR requires at least 8 GB VRAM; 10 GB or more is recommended. Higher resolutions, multiple vehicles, large maps, and mods can require more.

Advanced technical requirements

For advanced users, developers, and modders, the Vulkan renderer strictly requires a Vulkan 1.3-capable driver and hardware environment. It relies on the following advanced features and device extensions:

  • Core Graphics & Memory Management:
    • VK_KHR_swapchain
    • VK_EXT_memory_budget (for dynamic VRAM budgeting and querying)
    • VK_EXT_memory_priority
    • VK_EXT_pageable_device_local_memory (optional memory optimization)
    • VK_KHR_get_memory_requirements2
    • VK_EXT_robustness_2 (requiring robustBufferAccess2 and robustImageAccess2 to prevent driver crashes with unbound descriptors)
  • Sparse Binding & Residency (Sparse Resources): Requiring physical device support for sparseBinding and sparseResidencyBuffer. These features are unsupported on many older/virtual GPUs.
  • Synchronization & GPU Execution:
    • Timeline semaphores
    • drawIndirectCount
    • Buffer device address
    • shaderDrawParameters
    • hostQueryReset
  • Descriptor Indexing:
    • runtimeDescriptorArray
    • shaderSampledImageArrayNonUniformIndexing
    • descriptorBindingPartiallyBound
    • descriptorBindingSampledImageUpdateAfterBind
  • Shader Features:
    • 16-bit integers
    • Fragment shader storage writes and atomics
    • Storage image writes without a format
    • Sampler anisotropy
    • Independent blend, depth clamp / bias clamp, clip distance, fill mode non-solid, robust buffer access, and sampled-image array dynamic indexing
  • Wave / Subgroup Operations: Required by Shader Model 6 features such as texture streaming feedback and screen space shadows (HLSL wave ops mapped to Vulkan subgroups). Older hardware may not support wave/subgroup operations even when Vulkan 1.3 is advertised.
  • Interop & External API Sync (OpenXR / Virtual Reality):
    • Windows: VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32, VK_KHR_win32_keyed_mutex
    • Linux: VK_KHR_external_memory_fd, VK_KHR_external_semaphore_fd, VK_KHR_external_fence_fd
    • Common: VK_KHR_external_memory, VK_KHR_external_semaphore, VK_KHR_external_fence, VK_KHR_dedicated_allocation, VK_KHR_bind_memory2, VK_KHR_create_renderpass2, VK_KHR_maintenance2, VK_KHR_multiview, VK_KHR_timeline_semaphore, VK_KHR_image_format_list, VK_EXT_queue_family_foreign, VK_KHR_push_descriptor
  • Optimizations and Visual Debugging:
    • VK_KHR_fragment_shader_barycentric (used for custom terrain optimizations, pixel-shader wireframe, and overdraw debugging when supported)
    • VK_EXT_debug_utils (instance; validation / debug messaging)
    • VK_NV_device_diagnostic_checkpoints
    • VK_AMD_device_coherent_memory
  • Display Features:
    • VK_EXT_hdr_metadata (used for native HDR10 metadata when available)
    • VK_EXT_swapchain_colorspace (instance; HDR color space selection)
  • Ray Tracing (optional):
    • VK_KHR_ray_query
    • VK_KHR_ray_tracing_pipeline
    • VK_KHR_acceleration_structure
    • VK_KHR_deferred_host_operations
  • Video Encode (optional, hardware streaming):
    • VK_KHR_video_queue
    • VK_KHR_video_encode_queue
    • VK_KHR_video_encode_h264
    • VK_KHR_video_maintenance1 (when supported)

How to use Vulkan

On Windows, select Launch (Vulkan renderer) in the BeamNG.drive Launcher.

For troubleshooting, Vulkan can also be selected with this Steam launch option:

-gfx vk

Remove the option after testing so the Launcher can control the renderer normally.

The native Linux version selects Vulkan automatically and does not provide another native renderer.

Troubleshooting

If Vulkan crashes, displays graphical errors, or does not start:

  1. Confirm that the GPU and driver support Vulkan 1.3 and that the computer meets the minimum requirements.
  2. Install the latest stable GPU driver. On Linux, use the packages recommended by the distribution (see the Linux driver guide ).
  3. Disable third-party overlays, recording tools, ReShade, and other software that installs Vulkan layers.
  4. Remove custom launch options and try again.
  5. Open the Launcher Support Tools and try Safe Mode.
  6. On Windows, test Direct3D 11 to determine whether the problem is Vulkan-specific.

Running out of VRAM may cause severe slowdowns, blurry textures, graphical errors, or crashes. Reduce texture quality, resolution, and the number of spawned vehicles if VRAM usage is too high.

The current session log is beamng.log in the user folder . It records the GPU, driver, Vulkan extensions, and device creation errors. Include it when reporting an issue , together with the GPU model, driver version, operating system, and selected renderer.

See Known Issues for current version-specific Vulkan problems.

Feedback and discussion

See the Vulkan feedback, known issues, and FAQ thread .

Last modified: July 23, 2026

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.