4 ms·
I honestly had issues with audio also on Windows, so I don't think what you are saying is completely true. Even on Windows you play the lottery every time you b
by qalmakka 5y ago
I honestly had issues with audio also on Windows, so I don't think what you are saying is completely true. Even on Windows you play the lottery every time you buy a motherboard or a laptop, and if you lose, you're stuck with a shitty sound card with worse drivers.
For instance, my workplace gave me an HP Zbook which has a builtin Realtek sound card whose Windows drivers do not support separate volumes for speakers and headphones. If you unplug your headphone jack by mistake, the embedded speakers will promptly start blasting the entire room with whatever you were listening to at the same audio level you set for the headphones. The output source is even called "Speakers/Headphones".
If you uninstall the official Realtek drivers, Windows uses the generic HDA driver from Microsoft which supports different, separate sound outputs for the headphones and speakers, but it doesn't have all the weird hacks required to make the HDA codec actually work fine, so setting the volume at more than 10% creates clicks and audio artifacts. On Linux the drivers have been patched to avoid these issues, so both jack sensing and separate audio levels work fine.
Someone mentioned Pulseaudio having issues with front jack detection - this is an issue I had myself, and I discovered that the underlying cause in the case of my desktop machine was due to the sound card triggering random jack plugged/unplugged events.
This sent Pulseaudio's jacksense logic haywire, because it repeatedly saw sinks appearing and disappearing. I tried to remove the Realtek drivers on Windows on the same machine and - voilà! A very similar issue occurs with the Microsoft generic driver, which leads me to think that the OEM driver does some black magic stuff underneath to get jack sensing work fine on their sound card.
To get an idea of how buggy and terribile are the builtin soundcards shipped in consumer hardware, just look at FreeBSD's HDA audio driver, which is forced to apply hacks depending on the __specific model of laptop__ just to avoid audio glitches:
https://github.com/freebsd/freebsd-src/blob/40923b0c81cc2c151388ec5ead59f4bed89ac432/sys/dev/sound/pci/hda/hdaa_patches.c#L382 https://github.com/freebsd/freebsd-src/blob/40923b0c81cc2c15...