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:
- Open Windows Settings > System > Display > Graphics.
- Click Browse under "Custom options for apps" and
locate
FreeCAD.exe(typically inC:\Program Files\FreeCAD [version]\bin\). - Select FreeCAD, click Options, choose High Performance (your dedicated GPU), and click Save.
- 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 freecador__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.
- Open FreeCAD.
- Navigate to Edit > Preferences > Display.
- Under the 3D View tab, locate the Rendering section.
- Check the box for Use OpenGL VBO (Vertex Buffer Object).
- Set the Render Cache dropdown to Auto or Always.
- Click Apply and OK.
Step 3: Optimize Viewport Display Settings
High tessellation and heavy anti-aliasing can degrade viewport performance regardless of your hardware.
- Go to Edit > Preferences > Display > 3D View.
- Set Anti-Aliasing (MSAA) to None or 2x if viewport rotation feels sluggish.
- Go to Edit > Preferences > Part Design > Shape view.
- Adjust Maximum deviation depending on the bounding
box:
- The default is typically
0.5%. Increasing this value slightly (e.g., to1.0%or2.0%) reduces the polygon count generated for curved surfaces, significantly improving rendering speeds on complex parts.
- The default is typically
Step 4: Verify Hardware Acceleration
To confirm that FreeCAD is utilizing your dedicated OpenGL driver:
In FreeCAD, go to View > Panels and ensure the Python console is visible.
In the Python console, type the following commands:
from pivy import coin print(coin.SoRenderManager.isSupported(coin.SoRenderManager.VBO))A return value of
Trueconfirms that hardware-accelerated VBOs are active.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.