[[PageOutline]] = Uniaud for OS/2 & eCS = This is the development home for uniaud, the Universal Audio Driver for eCS and OS/2. The Uniaud project consists of 2 separate drivers, Uniaud16.sys and Uniaud32.sys. == Uniaud32 == Uniaud32.sys is the actual audio driver that connects to the hardware and makes it work. It consists of a modified ALSA core and some OS/2 specific pieces which make it load and run on an OS/2 system. Different major versions of Uniaud32 are based on different versions of ALSA. For example, Uniaud32 versions 1.9.x are based on ALSA 1.0.21, and Uniaud32 versions 2.1.x are based on ALSA 1.0.23. == Uniaud16 == Uniaud16.sys is the interface between MMOS2 and Uniaud32.sys. Uniaud16 does not talk to the audio hardware. It is just an interface translator, buffer manager, and may do some resampling. Uniaud16.sys has its own version number. Do not confuse Uniaud16's version number with Uniaud32's version number. = Downloading Binary Distributions = The "Retail Install Package" is used to install Uniaud on a system that doesn't already have Uniaud installed. The "Retail and Debug Update" package has both the Retail build and the Debug build of drivers in it. If you already have Uniaud installed on your system, you can download either the "Install" or the "Update" zip file and just copy uniaud16.sys and uniaud32.sys over your existing files. It is not recommended to run the Debug version unless you are testing a specific problem and need to produce a detailed log. The current GA release is Uniaud16 version 1.9.3 and Uniaud32 version 1.9.23 (based on ALSA 1.0.21): Retail Install Package: [ftp://ftp.netlabs.org/pub/uniaud/Uniaud193-1923.zip Uniaud193-1923.zip] Retail and Debug Update: [ftp://ftp.netlabs.org/pub/uniaud/UniaudDebug193-1923.zip UniaudDebug193-1923.zip] The latest BETA release is Uniaud16 version 1.9.3 and Uniaud32 version 2.1.0 (based on ALSA 1.0.23): Retail Install Package: [ftp://ftp.netlabs.org/pub/uniaud/Uniaud193-21.zip Uniaud193-21.zip] Retail and Debug Update: [ftp://ftp.netlabs.org/pub/uniaud/UniaudDebug193-21.zip UniaudDebug193-21.zip] = Getting the sources = In addition to [/browser browsing] the sources here, you can check out the [http://svn.netlabs.org/repos/uniaud sources] with your favorite subversion client. Keep in mind that, unlike [http://www.nongnu.org/cvs/ cvs], tags and branches are ordinary directories in subversion. With the typical subversion repository layout, it is rather easy to checkout more than you probably intend to. To pull just the trunk version, use something like {{{ mkdir uniaud32_workspace cd uniaud32_workspace svn checkout http://svn.netlabs.org/repos/uniaud/GPL/trunk trunk }}} and {{{ mkdir uniaud16_workspace cd uniaud16_workspace svn checkout http://svn.netlabs.org/repos/uniaud/OCO/trunk trunk }}} To update your workspace with the current repository content, use {{{ cd uniaud32_workspace\trunk svn update }}} If you want commit access to the repository, contact Paul. = Building the drivers = Once you have the sources, [wiki:Building building] the uniaud drivers is relatively straight-forward. You will need the following development tools: - [http://www.openwatcom.org OpenWatcom] 1.7a or later. - ilink 5.0 from IBM, or, if using wlink, you need lxlite to bring it down to size. - The DDK. - For ACPI builds, the [http://en.ecomstation.ru/projects/developer/?action=acpi ACPI toolkit]. = Distributing builds = Public distribution packages always contain both Uniaud16.sys and Uniaud32.sys. See [ReleaseProcedures Release Package Procedures] for how we go about this. There is not usually be a reason to publicly release Uniaud16 or Uniaud32 by itself. When distributing builds of Uniaud16 or Uniaud32 privately to a few people to test, a good practice, to avoid confusion with the public releases, is to change the "fixpak level" to the svn revision number, e.g. "!r380". If it does not match any revision number, perhaps because you are testing before committing, you may want to distinguish it with a word like "TESTCASE" or "CUSTOM". None of these labels for private builds should be committed to the svn repo. It is also helpful to set the HOSTNAME environment variable to a unique word that can trace the build back to you if your build system's hostname doesn't already. Uniaud32 is GPL, so for license compliance any test builds that are distributed privately should not only specify the svn revision number, but also include a patch against that revision if anything differs. This is easily acquired with: {{{ svn diff > my_uni32_from_r380.patch }}} The experimental branches each follow very different conventions. See the explanation of the [VersioningInfo Branches and Versioning Info of Uniaud32] for details about working with them. = Debugging and such = Since the drivers are under development, issues are expected. See [DebuggingAndSuch debugging hints] for a guide to techniques and tools that can make solving them easier (we hope). = Alsa Resync = Uniaud derives some of its functionality from the [http://www.alsa.com Alsa] project. This mean we periodically [AlsaResync resync] our sources with the latest ALSA sources. This provide both aditional device support as well as defect fixes. = Submitting Tickets = You must be logged into TRAC to create tickets. Please login with your [http://www.netlabs.org Netlabs] login id. If you do not have a login id, you can request one at http://www.netlabs.org/en/site/member/member.xml. If you have troubles acquiring a [http://www.netlabs.org Netlabs] login id send an e-mail to [mailto:community@netlabs.org Netlabs Community Mailing List]. When you create a new ticket, please remember to always attach the uniaud log.[[BR]] You can create the log we need, by downloading this package:[[BR]] [ftp://ftp.netlabs.org/pub/uniaud/UniLog.zip][[BR]] Please attach the zip file it creates to your ticket. = Information for End Users = More information regarding selection, installation, and basic testing may be found on the [EndUserInfo End User Info] page. = Mailing lists = Access to the mailing lists is available both via e-mail and news. * [mailto://uniaud-dev-subscribe@netlabs.org Uniaud Developers Mailing List] * [mailto://uniaud-user-subscribe@netlabs.org Uniaud Users Mailing List] * [http://news.gmane.org/gmane.org.netlabs.uniaud.general Uniaud Users Newsgroup] * [http://news.gmane.org/gmane.org.netlabs.uniaud.devel Uniaud Developers Newsgroup] = Credits = * Vlad Stelmahosky * Pavel Schtemenko * Paul Smedley * Rich Jerant * Steven Levine * Mike Greene * Allan Holm * Andy Willis * Brendan Oakley * Roderick Klein * David Azarewicz If we forgot anyone, please let us know. It was unintentional. ---- []