dadiOH said:
"Drivers" is just a fancy name for a program over which the user generally
has no control but which is used by other programs, generally to accomplish
some hardware task. A printer driver takes info from wherever and sends it
to the printer...an audio driver does likewise for sound (to the sound
card). They save programers from having to write low level code to deal
with devices thus allowing them to concentrate on their app.
I think we can paint a more optimistic picture than that
Ring 3 | "Kernel country, Ring 0 security"
|
User Program | <-- User program is blocked, and
| | can't touch hardware directly
|
+--------------> Driver (in ring 0) ------> actual hardware register
|
|
The driver must be carefully written, or the entire OS can become unstable.
Good driver writers "go to school" to learn how to write safe and effective
drivers.
On some of the older OSes, the security structure was rather flat, and
you could do whatever the hell you wanted. Those were great days
while they lasted. (As a hardware guy, I loved those days.)
But with more "protected" OSes, came restrictions. To help guarantee
a user program could never "tip over" the OS and cause a BSOD or
a kernel panic, the ring structure of the processor was used for
protection. By only allowing certain activities in each ring,
the operating system is protected from the evil or careless
user. (Or so the model goes...) The processor hardware, for
some strange reason, had four rings numbered 0 through 3, but
in practice, only two get used. No one has ever figured out
a use for the middle two of them.
When a driver is not installed, not one of any sort,
the Device Manager (Start : Run : devmgmt.msc) will show
a "mark" of some sort, to show a driver is not present.
When a driver is present, it carries out some kind of
operation to "register" its presence, so the OS knows
it is open for business.
If you had only one sound card and no driver for it,
the OS considers you have zero audio devices working,
and any alert sounds cause the computer beeper to beep.
That's a fallback if there are zero audio devices
ready to go.
It's still possible, for a valid audio device to be present,
and no sound to be heard. All you need to do, is turn the
volume to zero, or go into the Sound control panel and
select the wrong audio device and so on.
So
1) Yes, you can be missing an audio driver. You may see
a mark in Device Manager. You may be prompted by the
new hardware wizard, to load a driver, and it could happen
on each boot attempt. And worst case, you may even be
greeted by the computer case beeper doing some beeping.
2) With the driver in place, it's still possible for malfunctions.
A shim, otherwise known as a "Filter driver", is something
that sits in the stream, and messes around. I'm not sure
of the mechanics, and this is a vague handwaving sort of
diagram implying how a filter driver can choose to
interfere. In the case of an echo suppressor filter for
example (i.e. Skype), the filter driver would take in "echoed"
audio samples and output "un-echoed" samples on the other side.
Or react in any way needed, to prevent echoes from making the
audio unbearable.
User ---- Upperfilter --- driver --- Lowerfilter --- hardware
*******
In all the excitement, I've forgotten one other detail. Sound
drivers have "effects", such as "concert hall". You should
go into the CMedia control panel and disable all effects, as
a starting point when debugging. These pictures are in French, but
they're the only good ones I could find. The first one
shows "Effet sonore" or "sound effect". You'd want to
set this to disabled.
http://jmhauchard.free.fr/perso/informatique/carteson/cmi5.png
In this one, the setting is in the upper left.
http://jmhauchard.free.fr/perso/informatique/carteson/cmedia3d4.png
Turning off any virtualizer can help too. A virtualizer, converts
2 channel sound, into 5.1. If you had actual 5.1 content, like
sound coming from a DVD movie playback, then you'd want that
off. Turn it off, until you get the audio problems under
control.
http://jmhauchard.free.fr/perso/informatique/carteson/cmedia3d2.png
HTH,
Paul