Author Topic: Help a noob understand audio drivers (SOLVED)  (Read 1771 times)

Offline snide

  • Newly Subscribed
  • *
  • Posts: 16
  • Karma: 0
  • Old Experimenter
    • View Profile
  • Peppermint version(s): 9
Help a noob understand audio drivers (SOLVED)
« on: March 15, 2016, 10:27:08 am »
As a windows user for almost 20 years I have developed the compulsion, for better or worse, to always install the latest available driver whenever I can. I suppose it came from being a gamer in the early days of Win 98 (and Win Vista) when driver updates were nearly a necessity to fix issues. Nowadays I don't game much anymore, but I don't care if the generic or MS-supplied driver works fine, I still gotta get the latest from the manufacturer website, if such exists. I will frequently update to a newer version when I learn one is available, whether or not I actually need it; I can't help it!

Based on what I've seen/read so far, and I'm sure I haven't properly understood most of that, drivers for Linux (are they even called drivers in Linux?) are built-in, and for the most part, you don't update them. If it works, don't fix it (anathema!). Now, my audio seems to work fine - I tested it for YouTube in Chrome and for movies in VLC. But it is a head-scratcher for me to see Intel Sunrise Point for audio instead of RealTek  :o. I start to get the heebie-jeebies - it takes a monumental effort to beat down the urge to try installing RealTek drivers from their site (except that the instructions are a bit bewildering for me). Anyway, here are the results of some audio device commands I found while perusing the forums (I do see a reference to ALC887, which is my audio chip, using the aplay command) - I hope it isn't bad form to use the spoiler tags:
Spoiler (click here to view / hide)
[close]

So I guess I'd like to know why doesn't Realtek appear as the vendor? What is Intel Sunrise Point audio?  Is it advisable to install Realtek drivers from their site? How do I resist the urge to leave well enough alone!?!? (arrgh... must ... resist.... tweaking...) So many questions, so little time.
Thanks!
« Last Edit: April 05, 2016, 02:41:08 pm by snide »

Offline Slim.Fatz

  • Global Moderator
  • Veteran
  • *****
  • Posts: 2304
  • Karma: 612
  • Where's the mouse?
    • View Profile
  • Peppermint version(s): Peppermint 7, 8.5 & 10 - 64bit
Re: Help a noob understand audio drivers
« Reply #1 on: March 15, 2016, 10:50:48 am »
Hi snide,

You don't see Realtek as the vendor because ... Intel is the vendor. As you said, and as your output shows, your audio card is an Intel Sunrise Point. I doubt that Realtek drivers will even work with your audio card (although I might be wrong).

I think that it would be best to use Intel drivers for an Intel audio card (especially considering the fact that the manufacturers usually do not release all of the technical details for their chips; so it is most likely that drivers from the manufacturer will work, while others are "hit or miss" since not all details are available for the programmers to use when writing the driver).

Regards,

-- Slim
Respect science, respect nature, respect each other.

Tread lightly: Fluxbox, JWM, i3, Openbox, awesome

Offline PCNetSpec

  • Administrator
  • Hero
  • *****
  • Posts: 26452
  • Karma: 65531
  • "-rw-rw-rw-" .. The Number Of The Beast
    • View Profile
    • PCNetSpec
  • Peppermint version(s): Peppermint 10
Re: Help a noob understand audio drivers
« Reply #2 on: March 15, 2016, 11:07:36 am »
The chipset is the Intel 100 series (aka Sunrise point) now whilst this may utilise a Realtek audio codec (yours is using Realtek's ALC887-VD codec), the actual FULL audio specification is owned by intel, who could and do use other peoples codecs too as long as they fit the intel HDA Audio spec which are then covered by the sdn-hda-intel kernel module (driver).

The full audio chipset, whilst containing a codec owned by Realtek, reports itself to the kernel (Windows or Linux) as the Vendor:Device ID string 8086:a170

8086  being Intel .. and a170 no doubt being Sunrise Point-H HD

In short, it's a collaborative effort but the Realtek owned Codec is just part of the larger Intel owned audio spec



Updating the drivers .. any updates to snd-hda-intel will come via kernel updates (or more correctly the linux-image-extra package that comes with a kernel update) so there's nothing for you to do.

Theoretically you could update to a more recent kernel series if you wish, but I doubt if snd-hda-intel would contain any improvement except maybe additional hardware support that you don't require.
« Last Edit: March 15, 2016, 11:19:02 am by PCNetSpec »
WARNING: You are logged into reality as 'root' .. logging in as 'insane' is the only safe option.

Team Peppermint
PCNetSpec

Offline scifidude79

  • Hero
  • *****
  • Posts: 4029
  • Karma: 870
    • View Profile
  • Peppermint version(s): Peppermint 9
Re: Help a noob understand audio drivers
« Reply #3 on: March 15, 2016, 11:14:53 am »
Intel drivers are open source and are, therefore, preinstalled and available in the repositories.  Your audio driver will receive updates as the packages are updated in the repositories.  Running the update manager or updating using the terminal will install them.  Really, aside from a few WIFI adapters, printers and a few other miscellaneous things, there's no need to ever go outside of the software repositories for drivers.  Even AMD and Nvidia graphics drivers are in there.  Though, they're not open source, so they won't be installed by default (there are open source drivers, but they're not good for much.)  Unless you feel you actually need bleeding edge drivers, they'll work for most everything and do receive periodic updates during the LTS cycle.

Though, personally, I've never seen a need to continuously update audio drivers, even in Windows.  Unless your audio isn't working or the driver you're using is a security risk, there's no need to update.  Updating drivers just to keep them current can even cause more issues than it solves.  Just because a new driver was released doesn't mean it was fully tested, as the developers can't possibly test on every conceivable configuration.  I've even experienced issues with the actual Realtek driver in Windows that weren't there using the driver preinstalled by Microsoft.  And, I've never had a major audio issue in Linux.  Graphics drivers I can see updating, as some games even require it.  However, even those may not work fully as intended.  I've had to roll back drivers before because the latest one didn't work as intended.  So, there is something to be said for, "if it's working, why change it?"

Offline snide

  • Newly Subscribed
  • *
  • Posts: 16
  • Karma: 0
  • Old Experimenter
    • View Profile
  • Peppermint version(s): 9
Re: Help a noob understand audio drivers
« Reply #4 on: April 05, 2016, 02:39:20 pm »
Thank all of you for your responses as they gave me some leads that I've used to do more research. I'll try to summarize what I've inferred from what I've found, much of which reinforces PCNetSpec's post.

TL;DR:
On my mainboard, Realtek is the audio chip (codec) which provides sound. Intel Sunrise Point is the mainboard chipset. This chipset includes the HD Audio Bus controller, which is linked to the codec(s) that provide audio in the system. This information applies to HDA-compliant integrated (onboard) audio.

References:

The Intel HD audio spec defines the architecture, link frame format, and programming interfaces used by the controller on the PCI bus and by the codec on the other side of the link (Wikipedia, Intel, others).
The OpenBSD article plainly states: "The codec is the main audio processor."
From MSDN: "The HD Audio architecture is intended to eliminate the requirement for solution-specific drivers by specifying a base register set that is uniform across all implementations," and  "...the HD Audio bus driver detects the codecs that are attached to the HD Audio controller's HD Audio Link. For each codec, the bus driver loads one function driver (if available) for each function group that it finds within the codec." Also, the "...  HD Audio Bus Driver are provided by Microsoft." (for Windows, obviously).

So theoretically a motherboard manufacturer could use any HDA-compliant codec with any HDA-compliant bus controller (chipset) and it will work with at least basic functionality w/o manufacturer-specific drivers, assuming the operating system has HDA-compliant bus drivers. This would explain why audio worked for this board in my Win 7 install (Win 7 having been around long before Intel's Sunrise Point) w/o any mfg drivers installed. I suppose if the codec or chipset mfg (VIA and Nvidia also provide chipsets - Intel hasn't always been the only one) has features (or functions) that extend outside of the HDA spec then they would provide o/s drivers to enable those functions.

IMHO, the inxi -A command is misleading when it reports the audio "Card" in my system as Intel Sunrise Point. Without a doubt, my board's audio is provided by Realtek:
  • specs page (scroll down to the audio section)
  • driver download page (select All in the choose your OS spinbox)
  • screenshot from my Win 7 install on this system showing the audio codec drivers I installed from Realtek's site:
Sunrise Point is certainly the chipset name, and the chipset contains (or is) the HDA bus controller, which hooks into the codec.  So it appears that the inxi command identifies the bus controller, not the codec. On the other hand, the aplay -l command actually lists the codec(s) available, even though it doesn't list the codec mfg/vendor.

snd_hda_intel would then be the operating systems's HDA bus controller driver. I assume this driver would show up in every system using HDA-compliant onboard audio. I happened to have an old VIA-based chipset PC and a nVidia-based chipset PC on which I ran a Peppermint Live USB stick and sure enough:
VIA
Spoiler (click here to view / hide)
[close]

nvidia:
Spoiler (click here to view / hide)
[close]

So, I am still curious to see what, if any, difference installing the Linux driver from Realtek's site would make. In Windows I know installing the driver adds codec vendor identification in the Device Manager (pictured above - it didn't specify Realtek as the vendor until after the driver was installed) and adds an audio control panel which probably doesn't do anything different than what Windows' native one does, but is easier to access and, IMHO, understand:

But I couldn't make much sense of Realtek's Linux install instructions on my skim through, other than it ties in with ALSA and snd_hda_intel. And while I can roll-back Windows drivers in my sleep, I certainly wouldn't know the first thing about rolling back drivers in Linux.

So if you've made it this far, hopefully you've learned something new, and maybe even helpful, and didn't get a headache doing it (and don't see many flaws in my logic!). Unfortunately, I am puzzled why I've seen so many posts on various sites of people with audio issues in Linux. Obviously I am clueless when it comes to drivers, and I assume Linux handles that stuff very differently than Windows, but I wonder if the snd_hda_intel driver is less general/generic than the equivalent Windows driver. Theoretically, it should just work, assuming everything is HDA compliant. Oh well, another topic for another day (or not). At least now I understand (I think) what is being reported and why in regards to my audio.