How to Enable Hardware Acceleration in FreeCAD

This article explains how to configure FreeCAD and your operating system to utilize dedicated GPU hardware acceleration for improved 3D viewport performance. FreeCAD relies on the Coin3D library and OpenGL to render complex geometry. By ensuring your dedicated graphics card handles FreeCAD and optimizing the software's internal rendering preferences, you can eliminate viewport stutter, improve frame rates, and handle large assemblies smoothly.

Step 1: Force Dedicated GPU Usage

FreeCAD often defaults to integrated CPU graphics on laptops and multi-GPU systems. You must force the operating system to use your dedicated GPU (NVIDIA or AMD).

On Windows:

  1. Open Windows Settings > System > Display > Graphics.
  2. Click Browse under "Custom options for apps" and locate FreeCAD.exe (typically in C:\Program Files\FreeCAD [version]\bin\).
  3. Select FreeCAD, click Options, choose High Performance (your dedicated GPU), and click Save.
  4. NVIDIA Users: Alternatively, open the NVIDIA Control Panel, go to Manage 3D Settings > Program Settings, add FreeCAD, and set the preferred graphics processor to High-performance NVIDIA processor.

On Linux:

Run FreeCAD using your system’s dedicated GPU offloading wrapper:

  • For NVIDIA: prime-run freecad or __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia freecad
  • For AMD: DRI_PRIME=1 freecad

Step 2: Enable Vertex Buffer Objects (VBO) in FreeCAD

Vertex Buffer Objects (VBOs) allow FreeCAD to upload 3D model data directly to GPU memory rather than sending it through the CPU every frame.

  1. Open FreeCAD.
  2. Navigate to Edit > Preferences > Display.
  3. Under the 3D View tab, locate the Rendering section.
  4. Check the box for Use OpenGL VBO (Vertex Buffer Object).
  5. Set the Render Cache dropdown to Auto or Always.
  6. Click Apply and OK.

Step 3: Optimize Viewport Display Settings

High tessellation and heavy anti-aliasing can degrade viewport performance regardless of your hardware.

  1. Go to Edit > Preferences > Display > 3D View.
  2. Set Anti-Aliasing (MSAA) to None or 2x if viewport rotation feels sluggish.
  3. Go to Edit > Preferences > Part Design > Shape view.
  4. Adjust Maximum deviation depending on the bounding box:
    • The default is typically 0.5%. Increasing this value slightly (e.g., to 1.0% or 2.0%) reduces the polygon count generated for curved surfaces, significantly improving rendering speeds on complex parts.

Step 4: Verify Hardware Acceleration

To confirm that FreeCAD is utilizing your dedicated OpenGL driver:

  1. In FreeCAD, go to View > Panels and ensure the Python console is visible.

  2. In the Python console, type the following commands:

    from pivy import coin
    print(coin.SoRenderManager.isSupported(coin.SoRenderManager.VBO))

    A return value of True confirms that hardware-accelerated VBOs are active.

  3. Check Help > About FreeCAD > Copy to clipboard, then paste the text into an editor to confirm your dedicated graphics card is listed under the system details.