DFCD · Volume 6

OS & FreeCAD Setup

Raspberry Pi OS installation, FreeCAD configured for the DFCD screen and trackball, and performance notes

Stub — section skeleton authored 2026-06-27; prose to follow.

6.1 OS Selection

The DFCD’s primary use case — running FreeCAD — narrows the OS choice considerably. FreeCAD on ARM requires a mainstream Linux distribution with a maintained arm64 package repository and working OpenGL ES 3.1 or Vulkan support for the Pi 5’s Videocore VII GPU. Raspberry Pi OS (Bookworm, 64-bit) satisfies all of these criteria and is the recommended starting point for the DFCD.

This section covers the rationale for Raspberry Pi OS as the primary recommendation, the conditions under which a builder might prefer Ubuntu Desktop (arm64) or another distribution, and the one case to avoid — 32-bit Raspberry Pi OS, which limits addressable RAM and reduces FreeCAD’s performance headroom on the 8 GB Pi 5.

6.2 Raspberry Pi OS Installation

6.2.1 Imaging the microSD or NVMe

This section covers the Raspberry Pi Imager workflow for writing Raspberry Pi OS Bookworm (64-bit) to a microSD card or, for builders adding NVMe via a HAT+, to an NVMe drive. The Pi 5 supports booting from NVMe with appropriate EEPROM settings.

6.2.2 First Boot and Initial Configuration

This section covers the first-boot setup wizard (locale, Wi-Fi, user account), enabling SSH, and the package updates to run before installing FreeCAD. It notes the Pi 5-specific firmware update step (sudo rpi-eeprom-update) that should be completed on first boot.

6.2.3 Enabling the Touch Display

The 10.1-inch IPS touch LCD requires device-tree or udev configuration to activate the touch interface. This section covers the configuration required for the specific panel used in the DFCD [VERIFY: panel driver, touch interface type — USB HID or I²C].

6.3 Display Configuration

6.3.1 Resolution and Scaling

The 10.1-inch panel’s native resolution [VERIFY] may require display scaling to keep UI elements legible at normal viewing distance. This section covers the Raspberry Pi OS display scaling setting, the recommended scaling factor for the DFCD’s panel, and how this interacts with FreeCAD’s UI scaling.

6.3.2 Rotation

If the panel is mounted in portrait orientation in the chassis [VERIFY from build video], a display rotation setting is required. This section covers the display_rotate setting and how it propagates to the touch coordinate mapping.

6.3.3 Display Auto-Suspend

The default display auto-suspend (DPMS blanking) behaviour may be inconvenient during workshop use. This section covers disabling or extending the auto-suspend timeout for a device that may sit idle between glances.

6.4 Input Device Setup

6.4.1 Trackball Configuration

The harvested Logitech Marble trackball appears as a standard USB HID pointing device. Raspberry Pi OS requires no special driver, but the default pointer acceleration and scroll behaviour may need adjustment for the DFCD’s trackball ball size and the FreeCAD 3D viewport. This section covers the libinput configuration for the trackball, pointer speed, and the scroll emulation setting if the Marble’s scroll wheel is not available in the harvested configuration.

6.4.2 Keyboard Layout and Mapping

The NOS 450 TKL keyboard is a USB HID keyboard. Any locale-specific keymap configuration in Raspberry Pi OS is handled here, along with any special function keys or key remapping relevant to FreeCAD shortcut usage on this layout.

6.4.3 Touch Input

The touch digitiser’s coordinate calibration and palm rejection settings are covered here for builders who plan to use touch input alongside the trackball.

6.5 FreeCAD Installation

6.5.1 Package Repository vs. AppImage vs. Snap

FreeCAD is available for Raspberry Pi OS arm64 through the standard Debian/apt repository, as an AppImage, or as a Snap package. Each delivery method has tradeoffs for the DFCD’s use case. This section covers the current state of FreeCAD arm64 packaging, the recommended installation method, and how to check the version available in each channel.

6.5.2 Installation Steps

This section provides the exact package management commands for the recommended installation path.

6.5.3 First Launch Verification

After installation, FreeCAD’s first launch should be verified against a simple test case — opening a STEP file from the upstream DFCD repository is an appropriate test, confirming that the file opens, the viewport renders, and basic navigation works before the tuning in §6 is applied.

6.6 FreeCAD Tuning for the DFCD

6.6.1 UI Scaling and Font Size

FreeCAD’s UI scaling and font size must be configured to match the 10.1-inch panel’s native resolution and the display scaling set in §3.1. This section covers the FreeCAD preferences for UI scaling and the minimum font size that remains legible at the DFCD’s likely viewing distance.

6.6.2 Navigation Mode

FreeCAD supports multiple 3D viewport navigation modes (mouse, Blender, Touchpad, CAD, etc.). The DFCD uses a trackball as the pointing device, which changes the ergonomics of viewport navigation. This section covers the FreeCAD navigation mode that works best with a trackball, including orbit, pan, and zoom mappings.

On the Pi 5, FreeCAD’s OpenGL rendering can be tuned to improve responsiveness for the DFCD’s typical workload (moderate-complexity STEP files). This section covers the Viewprovider Anti-Aliasing setting, marker size, and the LOD settings for large assemblies, each of which affects viewport performance.

6.6.4 File Association

Configuring Raspberry Pi OS to open STEP, IGES, and FreeCAD .FCStd files directly with FreeCAD via the file manager is a convenience that matters in workshop use. This section covers the xdg-mime configuration.

6.7 Performance Notes

The Pi 5’s performance with FreeCAD is adequate for the DFCD’s designed use case — opening and inspecting STEP files of moderate complexity — but the boundaries of that adequacy are worth documenting. This section covers:

  • The model complexity at which viewport navigation noticeably degrades on the Pi 5 (approximate face/solid count [VERIFY from bench testing])
  • The difference in responsiveness between the Pi 5’s four Cortex-A76 cores and a desktop FreeCAD session
  • Whether the Videocore VII GPU’s Vulkan 1.2 path (if FreeCAD supports it) offers meaningful improvement over the OpenGL path on the Pi 5 [VERIFY]
  • Practical advice for keeping workshop STEP files performant: suppress unnecessary parts, work in the sketch or part design workbench rather than loading the full assembly, use section cuts to reduce the visible geometry

6.8 Cross-Reference: PiFlux Multiboot Volume

The PiFlux deep-dive at ../../PiFlux/ includes a multiboot OS volume that covers setting up multiple operating systems on the Pi 5 — including NVMe boot, eMMC, and SD configurations — in detail that goes beyond the scope of the DFCD setup described here. Builders who want to maintain a FreeCAD-dedicated OS alongside a general-purpose OS, or who want to explore Ubuntu Desktop arm64 as an alternative for better FreeCAD package freshness, should consult the PiFlux multiboot volume.