Opened 10 years ago

Last modified 2 years ago

#577 new enhancement

AC'97 Audio driver

Reported by: Jan Vesely Owned by:
Priority: major Milestone:
Component: helenos/drv/other Version: mainline
Keywords: gsoc14, gsoc15, gsoc16, gsoc17, gsoc18, virtualbox Cc:
Blocker for: Depends on:
See also:

Description (last modified by Jakub Jermář)

Implement a driver for an audio device compliant with the AC'97 specification pluggable into the HelenOS audio subsystem (Hound).

Details
Although HelenOS has a sound server that can mix output from multiple applications, currently only Sound Blaster 16 and Intel HDA hardware is supported. This former is not practically usable on today's hardware outside of emulators such as QEMU.

The goal of this ticket is to implement a driver for AC'97 class of audio devices that would be pluggable into to the sound subsystem and to the device driver framework implemented in HelenOS. The driver should at least support audio playback on virtual devices emulated in VirtualBox and QEMU and optionally on actual hardware.

AC'97 devices are simpler than Intel HDA devices. This ticket should be considered an easier alternative to ticket #575. The difficulty can be further scaled down by limiting the scope to a specific AC'97 revision.
Gains and Benefits
Although replaced by the newer Intel HDA standard, the AC'97 devices were the de facto standard in previous generations of sound cards for PC. Implementing a driver for sound output output via Intel HD Audio would allow to use HelenOS sound system on real hardware, improving the user experience and overall usefulness of the system from the end-user point of view.
Difficulty
Medium
Required skills
A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX environment. Previous experience with driver or sound system implementation would be beneficial, as well as the knowledge of I/O device architecture (PCI, MMIO, DMA).
Documentation
Possible mentors
HelenOS Core Team, Jiri Svoboda

Change History (8)

comment:1 by Martin Decky, 10 years ago

Component: helenos/unspecifiedhelenos/drv/other
Description: modified (diff)
Keywords: gsoc14 added
Milestone: 0.5.1

comment:2 by Jakub Jermář, 9 years ago

Keywords: gsoc15 added

comment:3 by Jakub Jermář, 9 years ago

Description: modified (diff)

comment:4 by Jiri Svoboda, 8 years ago

Description: modified (diff)

comment:5 by Jakub Jermář, 8 years ago

Keywords: gsoc16 added

comment:6 by Jakub Jermář, 8 years ago

Description: modified (diff)

comment:7 by Jakub Jermář, 6 years ago

Keywords: gsoc18 added

comment:8 by Jiri Svoboda, 2 years ago

Keywords: virtualbox added

In VirtualBox, ICH 97 is the default audio device in the OS profile Other - Other/Unknown [64-bit]. Therefore supporting this device would simplify use in VirtualBox / increase the chance that somebody would get audio running the first time around.

Note: See TracTickets for help on using tickets.