1.\" $OpenBSD: envy.4,v 1.6 2009/05/08 19:03:55 ratchov Exp $ 2.\" 3.\" Copyright (c) 2007 Alexandre Ratchov <alex@caoua.org> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: May 8 2009 $ 18.Dt ENVY 4 19.Os 20.Sh NAME 21.Nm envy 22.Nd VIA Envy24 audio device 23.Sh SYNOPSIS 24.Cd "envy* at pci?" 25.Cd "audio* at envy?" 26.Sh DESCRIPTION 27The 28.Nm 29driver supports sound cards based on VIA Envy24 and Envy24HT PCI chips. 30The following sound cards are currently supported: 31.Pp 32.Bl -bullet -compact -offset indent 33.It 34M-Audio Delta 1010, 1010LT, 66 and 44 35.It 36ESI Julia 37.El 38.Ss Mixer device 39The chip features a digital mixer that routes and mixes the 40streams below as follows: 41.Bl -tag -width playback 42.It Dv inputs 43There are 8 streams corresponding to data received by the 44device from the codecs. 45They are labelled 46.Va line0 47\(en 48.Va line7 49in the 50.Xr mixer 4 51interface. 52.It Dv outputs 53There are 8 streams corresponding to data sent by the device to the codecs. 54They are labelled 55.Va line0 56\(en 57.Va line7 . 58Each of them can be individually configured to use any of 59the external inputs or its corresponding playback stream as source. 60Additionally, outputs 61.Va line0 62and 63.Va line1 64can be configured to use 65.Va mon0 66or 67.Va mon1 68as sources. 69.It Dv monitor 70There are 2 streams that can be configured to contain any linear 71superposition of any of the 10 playback and 10 external input streams. 72They are labelled 73.Va mon0 74and 75.Va mon1 . 76From the mixer's point of view they are input streams, 77so they can be used as sources of output streams. 78This feature is specific to Envy24 based cards. 79.It Dv playback 80There are 10 streams corresponding to samples transferred 81from the host to the device. 82They are labelled 83.Va play0 84\(en 85.Va play9 . 86From the mixer's point of view they are input streams, 87so they are usable as sources of output streams. 88.It Dv record 89There are 12 streams corresponding to samples transferred 90from the device to the host. 91They are not controllable by the mixer. 92Streams 0 to 7 are hardwired to external inputs 93.Va line0 94\(en 95.Va line7 96and streams 10 and 11 are hardwired to 97.Va mon0 98and 99.Va mon1 . 100.El 101.Ss Playback and record data formats 102Both playback and record use linear encoding. 103Samples are represented by 32-bit signed numbers in little endian order. 104Only the first 24 most significant bits are used. 105On Envy24-based cards, playback uses 10 channels and record uses 12 channels, 106while on Envy24HT-based cards the number of streams depend on the 107number of codecs physically present on the card. 108.Sh SEE ALSO 109.Xr audio 4 , 110.Xr intro 4 , 111.Xr pci 4 112.Sh HISTORY 113The 114.Nm 115driver first appeared in 116.Ox 4.3 . 117.Sh BUGS 118MIDI and S/PDIF transmitter/receivers are not yet supported. 119.Pp 120The current 121.Xr audio 4 122driver doesn't allow playback and record blocks to have the same duration, 123making the device hardly usable for block based I/O in full-duplex. 124Playback and capture cannot be started atomically. 125Ring buffer sizes are limited to 64kB, 126which can be limiting at high sample rates. 127