Popular Posts

Saturday, 27 August 2022

Making Realtek Audio useful using Realtek-UAD-generic

It's no surprise that Realtek is really bad when it comes to sound drivers on Windows. Ranging from horrible DPC latency issues that people solve by downgrading to extremely old drivers (stop pls), to bugchecks/crashes and just flat-out bad audio. But it is solvable (for the most part).

I don't know why this is the case other than Windows Update giving extremely old Realtek drivers that are somehow WHQL certified despite them clearly being made for Windows 7 when people are on Windows 10/11 now, or blind installing OEM/motherboard drivers which happen to also have extremely old Realtek HDA drivers. Sometimes Windows Update will give you OEM drivers but are likely even older than the ones on the OEM's website.

Now, the OEM drivers tend to have some fancy functionality like spatial/enhanced audio, but do you actually use those? And do you realise those simply put more extra processing power for little to no and maybe even worse gain? Most desktop OEM-provided "fancy audio post-processing" stuff is really bad objectively sound-wise. I can assure you that those things will not improve your already terrible speakers or headphones. You're just wasting more processing power and CPU cycles by using that stuff because the audio chipset in your motherboard definitely does not have those features and capabilities in the hardware.

When people are complaining (rightfully) about Realtek driver issues, they don't actually specify which kind of drivers they have. There are two different variants of Realtek audio drivers that you need to know: UAD and HDA. UAD is Universal Audio. HDA is HD Audio. UAD drivers intend to be universal (duh) and generic and work across a range of chipsets and configurations. HDA drivers also want to be universal and generic while still supporting all kinds of fancy post-processing technology things and whatnot. HDA drivers are also massive in size (usually a ~100MB+ difference). For some reason, Realtek HDA drivers are just terrible. You can tell which one you have in Windows Device Manager (devmgmt.msc) and under "Sound, video and game controllers" you will see either "Realtek(R) Audio" for UAD, or "Realtek High Definition Audio" for HDA.

Screenshot of Windows Device Manager with the section "Sound, video and game controllers" expanded which had the UAD driver "Realtek(R) Audio"
I have "Realtek(R) Audio" which are UAD drivers. You want that.

So, let's assume you don't need those audio quirks and enhancements and you need working Realtek audio drivers that don't ruin your audio and just work. Meet Realtek-UAD-generic. Discovering this has been the best thing for using Realtek audio on my ASUS ROG B450-F motherboard. I've been trying to use my FiiO BTR5 2021 as a desktop DAC since I have genuinely better results with it, but Realtek-UAD-generic has made Realtek perfectly usable with little to no DPC latency or audio issues if needed such as my headset that has separate audio and microphone cables.

Realtek-UAD-generic is a project intended for laptops or legacy hardware with legacy Realtek chipsets that have even worse drivers or just none-functional ones. However, this project seems to work wonderfully on modern hardware as this project utilises the generic Realtek Universal Audio (UAD) drivers, which are not complete on its own, and completes it as a full proper generic UAD driver with full functionality with the most up to date generic UAD drivers.

The package is made by searching Windows Update (Microsoft Update Catalog) for Realtek drivers that have the generic bits in them, extracts them, and also searches across OEMs for their Realtek drivers that also have the generic bits in them and uses the ones that have the highest version found as they are the latest by Realtek. It's kind of wild how sparse Realtek audio drivers are to the point that you have to crawl the web and extract dozens of driver packages and check their version numbers and package all the ones with the highest version numbers.

Funny enough, you need Realtek UAD drivers if you want to use Realtek Audio Console and says that HDA drivers will not work according to Windows tenforums.com. This forum post also mentions Realtek-UAD-generic but for some reason through MajorGeeks instead of the original author on the GitHub.

The instructions for installing Realtek-UAD-generic are pretty simple, but if you're going from HDA to UAD you will need to follow careful instructions in the README to clean all your Realtek HDA drivers and prevent Windows Update from installing the HDA drivers. I do recommend installing this from Safe Mode with Networking as messing with Windows audio tends to get really buggy and unexpected bugchecks.

The author also pulls a newer Realtek Audio Console that isn't public and can only be installed offline, which is very simple to install, but does need a Windows setting to be changed to sideload "3rd-party" apps. Make sure you install and setup Realtek-UAD-generic before installing this.

In the Settings app, head over to "Privacy & security", and "For developers". Simply tick "Install apps from any source, including loose files."

Screenshot of the Windows Settings app highlighting the section "Privacy & security, For developers" and the toggle "Developer Mode".

This will allow you to "sideload" out of band packages (such as .appx files). Now simply double click "setup.cmd" which is a tiny batch file running 3 PowerShell commands with the command "Add-AppxPackage". This command checks for Developer Mode being toggled on or off. The batch file will install necessary libraries and then Realtek Audio Console and you can simply open it like a normal program in Windows.

This might beg the question though: is Realtek any good? Well... they're all right. They're also super cheap and they have very little competition. Yes, very little competition. Realtek has insane market share. You may have found all kinds of soundcards inside computers 10-15+ years ago when we were still developing all kinds of sound card standards, but now you will pretty much find a Realtek soundcard in everything nowadays because Realtek has entered the OEM hardware space and OEMs will almost always integrate their hardware into their motherboards. This also includes Realtek networking hardware, also notably Realtek Gigabit Ethernet.

May you will find Intel High Definition Audio here and there, but you can't exactly buy Intel soundcards by themselves. The old competition, most notably like Creative Technology / Labs (known for Sound Blaster and Game Blaster) and Turtle Beach, have moved onto selling DACs (Digital to Analogue Converter), amps, general professional audio instead of typical consumer hardware, and even DAPs (Digital Audio Player). You can kind of compare this to Windows getting popular: Windows is focused on getting their OS integrated by OEMs rather than selling Windows standalone. Realtek is the same way.

Just wanted to share some information about this as I don't see very many people talking about improving/fixing Realtek audio drivers that doesn't involve hacks, downgrades, disabling WHQL signature checks, etc. Very underrated and needs more traction.

No comments:

Post a Comment

Commenting on this blog means you consent to Blogger's (Google) Privacy Policy and Terms of Service and including the policies for any captcha services used.

You also consent that moderation actions of this comment section are at the discretion of the moderators and all decisions made are final. Moderation actions may include, but are not limited to blocking your IP address, removing or hiding your comments, reports to Blogger/Google regarding your comments and any information about the offender if possible at which point the organisation may perform their own actions listed or not listed here, approving/denying comments in specific circumstances such as potentially abusive content or reviewing agreeable or disagreeable opinions/topics, and if need be reports to local or national law enforcement to the fullest extent.

In general, be nice, don't be rude, and be civil.

Newest Post

Windows, OpenSSH, and FIDO2

Being able to use your FIDO2 key (e.g. Yubikey) for OpenSSH is amazing, as long as you're on Linux. For some reason, Windows has very li...