Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
SND_HDA(4)             FreeBSD Kernel Interfaces Manual             SND_HDA(4)

     snd_hda - Intel High Definition Audio bridge device driver

     To compile this driver into the kernel, place the following lines in your
     kernel configuration file:

           device sound
           device snd_hda

     Alternatively, to load the driver as a module at boot time, place the
     following line in loader.conf(5):


     The snd_hda bridge device driver allows the generic audio driver,
     sound(4), to attach to Intel High Definition Audio devices.  The snd_hda
     driver supports hardware that conforms with revision 1.0 of the Intel
     High Definition Audio specification and tries to behave much like the
     Microsoft Universal Audio Architecture (UAA) draft (revision 0.7b) for
     handling audio devices.  HDA acts like a primary bus, similar to
     miibus(4), for handling various child buses such as audio, modem and HDMI
     (High Definition Multimedia Interface).  Only audio is implemented in the
     snd_hda driver.

     The High Definition (HD) Audio specification was developed by Intel as
     the logical successor of the old AC'97 specification and has several
     advantages, such as higher bandwidth which allows more channels and more
     detailed formats, support for several logical audio devices, and general
     purpose DMA channels.

     The HDA specification defines the register-level interface, physical link
     characteristics, codec programming models, and codec architectural
     components.  This specification is intended for both device driver
     developers and hardware component designers.

   Boot-time Configuration
     The following variables are available at boot-time through the
     device.hints(5) file:

           hint.pcm.%d.config      Configures a range of possible options.
                                   Possible values are: ``dmapos'',
                                   ``eapdinv'', ``gpio0'', ``gpio1'',
                                   ``gpio2'', ``gpio3'', ``gpio4'', ``gpio5'',
                                   ``gpio6'', ``gpio7'', ``gpioflush'',
                                   ``ivref'', ``ivref50'', ``ivref80'',
                                   ``ivref100'', ``fixedrate'',
                                   ``forcestereo'', ``ovref'', ``ovref50'',
                                   ``ovref80'', ``ovref100'', ``softpcmvol'',
                                   and ``vref''.  An option prefixed with
                                   ``no'', such as ``nofixedrate'', will do
                                   the opposite and takes precedence.  Options
                                   can be separated by whitespace and commas.

   Runtime Configuration
     The following sysctl(8) variables are available in addition to those
     available to all sound(4) devices:

           dev.pcm.%d.polling      Experimental polling mode, where the driver
                                   operates by querying the device state on
                                   each tick using callout(9).  Polling is
                                   disabled by default.  Do not enable it
                                   unless you are facing weird interrupt
                                   problems or if the device cannot generate
                                   interrupts at all.

     The snd_hda driver supports the following audio chipsets:

     +o   ATI SB450
     +o   ATI SB600
     +o   Intel 631x/632xESB
     +o   Intel 82801F
     +o   Intel 82801G
     +o   Intel 82801H
     +o   Intel 82801I
     +o   nVidia MCP51
     +o   nVidia MCP55
     +o   nVidia MCP61A
     +o   nVidia MCP61B
     +o   nVidia MCP65A
     +o   nVidia MCP65B
     +o   SiS 966
     +o   VIA VT8251/8237A

     Generic audio chipsets compatible with the Intel HDA specification should
     work, but have not been verified yet.  The following codecs have been
     verified to work:

     +o   Analog Devices AD1981HD
     +o   Analog Devices AD1983
     +o   Analog Devices AD1986A
     +o   Analog Devices AD1988
     +o   Analog Devices AD1988B
     +o   CMedia CMI9880
     +o   Conexant Venice
     +o   Conexant Waikiki
     +o   Realtek ALC260
     +o   Realtek ALC262
     +o   Realtek ALC268
     +o   Realtek ALC660
     +o   Realtek ALC861
     +o   Realtek ALC861VD
     +o   Realtek ALC880
     +o   Realtek ALC882
     +o   Realtek ALC883
     +o   Realtek ALC885
     +o   Realtek ALC888
     +o   Sigmatel STAC9220
     +o   Sigmatel STAC9220D/9223D
     +o   Sigmatel STAC9221
     +o   Sigmatel STAC9221D
     +o   Sigmatel STAC9227
     +o   Sigmatel STAC9271D
     +o   VIA VT1708
     +o   VIA VT1709

     sound(4), device.hints(5), loader.conf(5), sysctl(8)

     The snd_hda device driver first appeared in FreeBSD 6.3.

     The snd_hda driver was written by Stephane E. Potvin
     <> and Ariff Abdullah <>.  This
     manual page was written by Joel Dahl <>.

     There are a couple of missing features, such as support for Digital
     S/PDIF and multichannel output.

     A few Hardware/OEM vendors tend to screw up BIOS settings, thus rendering
     the snd_hda driver useless, which usually results in a state where the
     snd_hda driver seems to attach and work, but without any sound.

FreeBSD 11.0-PRERELEASE          July 14, 2007         FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help