Hardware Configuration, Audio/Video

From FreeBSDwiki
Revision as of 10:42, 10 February 2018 by Sidetone (Talk | contribs)
Jump to: navigation, search

Information on audio and video configuration of hardware.


Audio Selection

See Sound card for initial set up. To check the information on which sound output is used, type:

% cat /dev/sndstat

Example of command to choose the soundcard:

sysctl hw.snd.default_unit=0

To make the selection permanent, insert into /etc/sysctl.conf:


Radeon HDMI audio out

Partially supported Radeon video cards, linked to in the section "GPU Hardware" below, usually don't support HDMI audio out. Other Radeon cards require extra configuration.

To do this, edit the line int radeon_audio in /usr/src/sys/dev/drm2/radeon/radeon_drv.c to:

int radeon_audio=1

After this, you may rebuild the modules only or whole kernel as typical:

/usr/src/sys/modules/drm2/make clean; make; make install

See the previous section for selecting HDMI audio out, and reboot. Xorg should automatically load the Radeon driver for this to work. If working from a console, add kld_list="radeonkms" to /etc/rc.conf. You can see the loaded Radeon drivers by typing kldstat.

Disabling overscan

Enabling audio on HDMI can crop the edges of the display on televisions. Toggle the 'overscan' function on the remote to adjust it properly. If the TV doesn't have the overscan function, you can insert into your window manager configuration file:

xrandr --output HDMI-0 --set underscan on

If this stops working, use xrandr to adjust the resolution:

xrandr --output HDMI-0 --auto --set underscan on

To increase it's borders use:

xrandr --output HDMI-0 --set "underscan hborder" 5 --set "underscan vborder" 5

Virtual Terminals Selection

To be able to select different virtual terminals from Xorg by using ctrl-alt-#, be sure kern.vty=vt is present in /boot/loader.conf.

GPU Hardware

Here is a list of FreeBSD supported video cards, . There is also hardware compatibility information at FreeBSD's "Hardware Notes" pages under As of this writting, select Intel, Nvidia and Radeon cards work with FreeBSD. Check for the latest compatibility information before purchasing a card. Different brands of video cards generally don't work well together, but with newer software or implementation of this software, this may change.

At the time of FreeBSD 11, the VESA driver works with sc(4), and other video drivers use the vt(4) driver. To select the video driver, you can do so from x11-drivers/xorg-drivers . To automate this, edit make.conf. If another driver is specified and configured, removing the VESA driver is optional.


The argument to select specific driver from x11-drivers/xorg-drivers is under the respective section below.


Many Radeon cards are compatible with FreeBSD. Not all outputs or functions may work on partially supported video cards.

Radeon cards require the "ATI" setting in x11-drivers/xorg-drivers .


The setting AMDGPU for newer video drivers is not ready for FreeBSD 11.1 and previous versions. MACH64 and R128 are only required if you have those specific older models.

As of this writing, Radeon cards generally only work when the modules are auto-loaded. To configure the Radeon driver to load on boot-up, add the following to rc.conf:


Do not load it through /boot/loader.conf nor compiling it into the kernel. The Radeon driver is capable of auto-loading, but without setting it in rc.conf will cause it to fall back to VESA.


Many Intel video cards work for FreeBSD 9.1 and later.

For status on the currently unsupported Haswell (Xeon E3 V3 and i[357]-4xxx processors) cards, see


Nvidia cards haven't always been compatible with FreeBSD, but recently they are and have video card support.

Multiple Monitors

Use the program xrandr to be able to use and configure multiple monitors. With this program, a basic video card can use both of it's HDMI and DVI outputs for dual configured monitors, as in different outputs for each monitor.

Example of command line that can be used in the file .xinitrc:

xrandr --output DVI-0 --right-of HDMI-0

Using the gui x11/arandr is another option.

To see the obsolete way of configuring dual monitors for Nvidia cards, see Dual Screen


  • FreeBSD related forums and documentation
Personal tools