The Handbook

    Theme
    • Guides
        • Check a system before installing FreeBSD
        • Orient a Linux administrator on FreeBSD
        • Supported FreeBSD releases
        • Choose a FreeBSD documentation and support channel
        • Move files safely without GNU mv -t
        • Update, upgrade, or update packages?
        • Upgrade 14.4 or 15.0 to FreeBSD 15.1
        • Choose packages, ports, or poudriere
        • Choose the quarterly or latest package branch
        • Choose a FreeBSD download or package mirror
        • Make a system setting persistent
        • Configure locale, keyboard, and time zone
        • Configure a serial console for recovery
        • Choose a custom kernel, module, or loader setting
        • Run a Linux binary with the compatibility layer
        • Check desktop and laptop hardware before installation
        • Choose and check a graphics driver
        • Choose Xorg or Wayland
        • Build a maintainable desktop baseline
        • Install and check a desktop browser
        • Check laptop Wi-Fi, power, and suspend
        • Check multimedia readiness
        • Choose and configure a printing stack
        • Run Windows applications with Wine
        • Snapshot and replicate a ZFS dataset
        • Choose a filesystem and storage layout
        • Operate ZFS without losing the recovery path
        • Restore files from a ZFS snapshot
        • Read ZFS pool health and run a scrub
        • Replace a failed device in a ZFS mirror
        • Replicate a ZFS dataset over SSH
        • Change PF safely on a remote host
        • Configure a narrow WireGuard tunnel
        • Plan a FreeBSD home server
        • Choose a mail server or an outgoing relay
        • Publish a network service safely
        • Choose a jail network model
        • Choose native jails or a jail manager
        • Choose a jail or a bhyve virtual machine
        • Establish a FreeBSD security baseline
        • Choose a MAC policy
        • Audit security-relevant activity
        • Start a DTrace performance investigation
    • Integrations
        • Create a first jail with Bastille
        • Compare jail managers and OCI tooling
        • Publish a Bastille service through PF
        • Mount a ZFS dataset in a Bastille jail
        • Update and upgrade Bastille jails
        • Back up and restore a Bastille jail
        • Prepare bhyve and vm-bhyve
        • Choose NFS or Samba for file sharing
        • Choose ZFS backup automation
        • Operate a signed poudriere repository
        • Manage FreeBSD configuration with Ansible or Salt
        • Run Motion with webcamd on FreeBSD
        • Design a reverse proxy, certificates, and monitoring
    • FAQ
      • Troubleshooting
          • Recover an interrupted freebsd-update run
          • Resolve a package repository or ABI mismatch
          • Diagnose the FreeBSD boot path
          • Recover with a ZFS boot environment
          • Diagnose DNS, routing, and firewall paths
          • Diagnose network mbuf exhaustion
          • Bind a service to a low port without running it as root
          • Diagnose audio output or input
          • Diagnose webcamd, cuse, and a webcam
          • Fix USB device permissions without opening every device
      • About this handbook
      • Synopsis
      • Define the required behaviors
      • Check the release-specific sources
      • Boot the live environment
      • Check each subsystem
      • Reserve an installed-system test
      • Record a decision, not an impression
      • Primary references

      Check desktop and laptop hardware before installation

      Last reviewed
      13 August 2026
      Applies to
      15.1-RELEASE, 15.0-RELEASE, 14.4-RELEASE

      Synopsis #

      A model name is not enough to establish whether a desktop or laptop is a good FreeBSD target. Manufacturers can ship the same model with different wireless adapters, graphics processors, audio codecs, and touchpads. Record the actual device identifiers, compare them with the hardware notes for the intended release, and test the behaviors that matter before changing a disk.

      The FreeBSD installer provides a live command-line environment. It can establish whether the kernel attaches storage, network, USB, and audio devices without writing to disk. It does not include a complete graphical desktop or every package-based graphics driver, so a missing graphical session in the live environment is not evidence that the GPU is unsupported.

      Define the required behaviors #

      Write down the capabilities that would make the installation acceptable. A useful desktop or laptop preflight normally includes:

      • the internal storage controller and intended installation disk;
      • wired networking and the exact wireless chipset;
      • the integrated and discrete graphics processors, if both exist;
      • the internal audio device, microphone, and required HDMI or DisplayPort audio;
      • keyboard, touchpad, pointing devices, docking station, and required USB devices;
      • suspend, resume, lid, brightness, and battery reporting on a laptop;
      • external displays at the required resolution and refresh rate.

      Support for one component does not imply that the complete machine will satisfy this list. In particular, graphics attachment, accelerated rendering, external displays, and suspend/resume are separate tests.

      Check the release-specific sources #

      Select a supported release first. Read its hardware notes and errata rather than relying on a report for another FreeBSD version:

      • FreeBSD 15.1 hardware notes
      • FreeBSD 15.0 hardware notes
      • FreeBSD 14.4 hardware notes
      • FreeBSD release information

      Search by the vendor and device identifiers collected from the machine, not only by a marketing name. A listing in the hardware notes establishes the driver’s stated hardware coverage. It does not promise a particular Wi-Fi rate, power draw, display configuration, or suspend behavior.

      Boot the live environment #

      Download installation media for the selected release, verify its published checksum, and boot it. Select Live CD at the installer welcome screen. The live environment runs from installation media and is slower than an installed system, but it does not require a disk change.

      Record the release and architecture:

      $ freebsd-version -kru
      $ uname -m
      

      Inventory PCI and USB devices:

      $ pciconf -lv
      $ usbconfig list
      

      Save the full output if possible. The lines containing vendor, device, and the numeric PCI identifiers are more useful in a support report than a shortened model description.

      Check each subsystem #

      List network interfaces and the wireless devices known to the 802.11 layer:

      $ ifconfig -l
      $ sysctl net.wlan.devices
      

      No wireless device in the second command means that Wi-Fi is not ready yet. Determine whether the PCI or USB device attached to a driver before attempting network configuration. Continue with the laptop Wi-Fi and suspend preflight when a laptop depends on those capabilities.

      Identify every display controller:

      $ pciconf -lv | grep -B3 display
      

      A hybrid-graphics laptop may report two controllers. Record both and determine which one drives the internal panel. Package-based DRM drivers are not necessarily present on installation media; use the graphics driver decision guide after identifying the hardware.

      Inspect audio attachment without changing a default device:

      $ dmesg | grep pcm
      $ cat /dev/sndstat
      

      Several pcm devices are normal when analog, HDMI, DisplayPort, and microphone paths are exposed separately. The audio diagnostic guide separates detection from device selection.

      Inspect recent attachment messages and loaded modules:

      $ dmesg
      $ kldstat
      

      Search the saved output for no driver attached, firmware errors, timeouts, and the device names identified earlier. Do not treat every warning as a failure; correlate it with a required behavior.

      Reserve an installed-system test #

      The live environment cannot establish a complete desktop result because graphics drivers, firmware packages, browsers, and desktop environments may need packages. Before replacing a working system, use one of these lower-risk tests:

      1. Install FreeBSD on a spare internal disk or a separate test machine with the same components.
      2. Install to external storage when the firmware and storage path support it reliably.
      3. Keep another operating system and a verified backup until the FreeBSD installation passes the required-behavior list.

      On the test installation, complete the graphics setup, choose Xorg or Wayland , and test audio, networking, suspend, resume, external displays, and required USB devices. Repeat suspend and resume more than once and test after disconnecting from AC power.

      Record a decision, not an impression #

      Classify every required behavior as working, working with a documented limitation, untested, or failing. Keep the FreeBSD release, package branch, firmware version, device identifiers, driver names, and relevant log lines with the result.

      An untested item should not be converted into an assumption. For example, a detected wireless interface does not prove association with the intended access point, and a successful console boot does not prove accelerated graphics or reliable resume.

      Primary references #

      • FreeBSD Handbook: Installing FreeBSD and using the Live CD
      • FreeBSD Handbook: X Window System graphics drivers
      • FreeBSD Handbook: Network adapter identification
      • FreeBSD Handbook: Multimedia
      • pciconf(8)
      • usbconfig(8)
      • dmesg(8)
      • kldstat(8)

      Independent documentation. Not affiliated with or endorsed by the FreeBSD Project or the FreeBSD Foundation.

      Report a bug
      • Synopsis
      • Define the required behaviors
      • Check the release-specific sources
      • Boot the live environment
      • Check each subsystem
      • Reserve an installed-system test
      • Record a decision, not an impression
      • Primary references