AC'97 Audio driver
|Reported by:||jvesely||Owned by:|
|Keywords:||gsoc14, gsoc15, gsoc16, gsoc17||Cc:|
|Blocker for:||Depends on:|
Description (last modified by jermar)
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 (6)
comment:1 Changed 3 years ago by decky
- Component changed from helenos/unspecified to helenos/drv/other
- Description modified (diff)
- Keywords gsoc14 added
- Milestone 0.5.1 deleted
Note: See TracTickets for help on using tickets.