Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 9 years ago

Last modified 17 months 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).

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.
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).
Possible mentors
HelenOS Core Team, Jiri Svoboda

Change History (8)

comment:1 Changed 9 years ago by Martin Decky

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

comment:2 Changed 8 years ago by Jakub Jermář

Keywords: gsoc15 added

comment:3 Changed 8 years ago by Jakub Jermář

Description: modified (diff)

comment:4 Changed 7 years ago by Jiri Svoboda

Description: modified (diff)

comment:5 Changed 7 years ago by Jakub Jermář

Keywords: gsoc16 added

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

Description: modified (diff)

comment:7 Changed 5 years ago by Jakub Jermář

Keywords: gsoc18 added

comment:8 Changed 17 months ago by Jiri Svoboda

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.