• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Sound cards and drivers

Offler

Senior Member
Joined
May 27, 2021
Messages
415
Likes
403
This will be slightly more computer/Windows oriented question.

Short story:
For some time I found information that its good practice to have Audio device set to Line-based mode. Now I even found newly installed device where audio drivers are on purpose set to Line Based mode.

What is the technical reasoning behind this setting?

Long story:
Recently, I replaced my old Intel i210 NIC for a newer one with AQN 107 chipset. One of the differences is that newer card is PCI-E 3.0 and now all active devices on my computer are running on PCI-E 3.0 interface, while each of them has Bus Mastering (eg. each device can control pci-e bus without asking CPU to do it).

I did not expected much from this change, but shortly after I removed old NIC from the system, the graphic driver started to crash shortly after boot. In registry I set the driver to High priority and the issue seems to be resolved for now, while later I noticed another symptoms - some game engines started to stutter and the solution was to set Audio driver to MSI mode of communication.

Technical details about MSI and Line-Based interrupts:

The main difference is that LineBased mode uses physical IRQ line to CPU, takes slightly more actions and CPU time, while MSI mode use specific memory address instead and removes some of the problems.
 
I managed two PC repair shops, here's how I'd start:
Make a restore point
Check that you know the location of the driver install program for your current network card
Go to add/remove programs and remove all network drivers
Then go to network properties and select "reset network preferences" which will clear everything to default settings
Install your current new driver
Also it couldn't hurt to go to device manager and under View select "show hidden devices" and there delete any instances of the old card you removed just to clean it up. You'll see probably every device you've ever installed (including old sound cards) and can delete them if you know they're long gone.
 
I managed two PC repair shops, here's how I'd start:
Make a restore point
Check that you know the location of the driver install program for your current network card
Go to add/remove programs and remove all network drivers
Then go to network properties and select "reset network preferences" which will clear everything to default settings
Install your current new driver
Also it couldn't hurt to go to device manager and under View select "show hidden devices" and there delete any instances of the old card you removed just to clean it up. You'll see probably every device you've ever installed (including old sound cards) and can delete them if you know they're long gone.
I do clear up all old unused devices everytime. Later I noticed that GPU switched to x8 speed, so moved the card a bit in slot and it seems to fix the issue - maybe the issue with driver failure is also related.

But I am still quite curious why Line-based mode for audio devices is preferred.
 
Later I noticed that GPU switched to x8 speed, so moved the card a bit in slot and it seems to fix the issue - maybe the issue with driver failure is also related.
Quite possibly. If you only got a x8 connection, the device may have "fallen over" when attempting to switch to fastest transfer speed.
But I am still quite curious why Line-based mode for audio devices is preferred.
Me too. Old (architecture) drivers that simply don't support MSI? It's not like physical interrupt lines even exist in modern systems.

You absolutely want your local interrupt hogs (storage, graphics and the like) to be using MSI(-X), that's for sure.
 
Quite possibly. If you only got a x8 connection, the device may have "fallen over" when attempting to switch to fastest transfer speed.

Me too. Old (architecture) drivers that simply don't support MSI? It's not like physical interrupt lines even exist in modern systems.

You absolutely want your local interrupt hogs (storage, graphics and the like) to be using MSI(-X), that's for sure.
I have been doing few tests in terms of system speed, but not focusing on performance, but on fluidity (if is that a word). In 3d gaming you would use terms like "stuttering" to describe small, but very visible performance drops in 3d rendering.

This is of course a concern for audio, especially in professional or HIFI setting. Most people who are serious about the listening experience are not using personal computer for various and good reasons.

There are few exceptions to this:
1. Video conferencing
During Covid there were even sessions with professional musicians held in video conferences, with PRO audio equipment.

2. Quality music score in PC gaming.
Conclusion for my specific system is that 192KHz, 24bits, Stereo for Shared mode is producing least distortion.


Audio in both applications is much more time sensitive that in 3d rendering (lets say 144Hz display VS 192kiloHz), and any artifacts would ruin the experience.

Any driver in Line Based mode would create much more ISR and DPC calls when compared to MSI(X) mode. MSI mode allows for usage of more than 1 IRQ, but its not required as there are different benefits. MSI-X will allow driver to address multiCPU and multiNUMA node much more effectively - not my case unfortunately.

So ... in any case, MSI driver mode will take less CPU resources for Interrupt Management, and less time waiting between processes.

Even the most basic Audio devices nowadays allow MSI mode, even when its true that driver in that mode will not utilize much more resources as in Line Based mode - just single IRQ in both situations, maybe slightly higher Interrupt count, especially more ISR calls.

I would guess that we are somewhere in territory of optimizations.
 
Back
Top Bottom