Hardware Configuration, Audio/Video
Information on audio and video configuration of hardware.
Contents |
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:
hw.snd.default_unit=0
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 crops 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. If there are still problems, replace /etc/ttys with ttys from the FreeBSD install cd, then edit it from there.
GPU Hardware
Here is a list of FreeBSD supported video cards, https://wiki.freebsd.org/Graphics#Tested_hardware_matrix . There is also hardware compatibility information at FreeBSD's "Hardware Notes" pages under http://www.freebsd.org/releases/. 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.
AMD
Many Radeon cards are compatible with FreeBSD. As of this writing, Radeon cards generally only work when the modules are auto-loaded: loading the modules won't work by loading it through /boot/loader.conf nor compiling it into the kernel configuration file. Not all outputs or functions may work on partially supported video cards.
Intel
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 https://wiki.freebsd.org/Graphics/Update%20i915%20GPU%20driver%20to%20Linux%203.8
Nvidia
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
References
- FreeBSD related forums and documentation