pal1000 / Realtek-UAD-generic

An unofficial package of generic Realtek Universal Audio Driver made from parts of various OEM specific Reatek Universal Audio drivers intended to work on legacy systems lacking OEM UAD support.
1.1k stars 41 forks source link

ASIO on UAD #72

Closed githubbapoopa closed 8 months ago

githubbapoopa commented 3 years ago

Hi there,

I'd like to install ASIO. Is this included in your driver?

As I understand you have to modify the file HDX_GenericExt_RTK.inf

for example) edit the line

DeviceExtension_Install,HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_1458A182

to

DeviceExtension_ASIO_Install,HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_1458A182

https://www.tenforums.com/sound-audio/150202-realtek-asio-driver-installs-but-fails-operate.html

I disabled driver signature in win but still get an error on install

Any help?

Thanks

pal1000 commented 3 years ago

I'd like to install ASIO. Is this included in your driver?

No it isn't because it's unsupported by generic extension - HDX_GenericExt_RTK.inf.

You have to modify HDX_GenericExt_RTK.inf to load ASIO somehow. You need an OEM specific UAD driver with ASIO, then try to replicate how ASIO is loaded in an extension INF from that driver. Anyway this whole procedure is risky so back up as often as you can.

githubbapoopa commented 3 years ago

Do you by any chance know where to get a UAD driver with ASIO to try these steps? I think I got the steps right but the driver simply didn't include ASIO.

The link got all the infos and user erpster sucessfully did exactly that.

Edit:

Got a Gigabyte driver with ASIO

https://www.station-drivers.com/index.php?option=com_kunena&view=topic&defaultmenu=860&Itemid=858&catid=18&id=17&lang=en&limitstart=1596#4836

Can I just copy over RealtekASIO_7 form that Gigabyte driver in Win64of folder your generic driver and edit the HDX_GenericExt_RTK.inf accordingly?

pal1000 commented 3 years ago

Can I just copy over RealtekASIO_7 form that Gigabyte driver in Win64 folder to your generic driver and edit the HDX_GenericExt_RTK.inf accordingly?

Yes, that's all you have to do.

githubbapoopa commented 3 years ago

I copied RealtekASIO_7 over in Win64 I modified HDX_GenericExt_RTK.inf with the line

[DeviceExtensions.NTamd64.10.0...15063] %Device.ExtensionDesc% = DeviceExtension_ASIO_Install,HDAUDIO\FUNC_01&VEN_10EC&DEV_0285&SUBSYS_17AA2259

But I got an error that the has of HDX_GenericExt_RTK.inf is wrong. Is this a driver signature fail?

Do I have to mod furthermore the section

[DeviceExtension_Install.Components]

to include ASIO?

Thanks!

pal1000 commented 3 years ago

Is this a driver signature fail?

Yes you definitely have to disable driver signature enforcement.

Do I have to mod furthermore the section

[DeviceExtension_Install.Components]

to include ASIO?

Most likely yes.

githubbapoopa commented 3 years ago

Ok I managed to get ASIO installed.

elevated admin command

BCDEDIT –Set LoadOptions DDISABLE_INTEGRITY_CHECKS
BCDEDIT –Set TESTSIGNING ON

Reboot!

You have to modify these sections in HDX_GenericExt_RTK.inf

[DeviceExtensions.NTamd64.10.0...15063] %Device.ExtensionDesc% = DeviceExtension_ASIO_Install,HDAUDIO\FUNC_01&VEN_10EC&DEV_0285&SUBSYS_17AA2259 <<<<<< your ID here

[DeviceExtension_Install.Components] AddComponent = RealtekAPO,,RealtekAPO_Install AddComponent = RealtekSRV,,RealtekSRV_Install AddComponent = RealtekHSA,,RealtekHSA_Install AddComponent = RealtekASIO,,RealtekASIO_Install <<<<<<<<<<<< add this

[RealtekASIO_Install] <<<<<<<<<<<<< add this ComponentIDs = VEN_10EC&HID_0001 Description = "Realtek ASIO"

Reboot!

If "Realtek ASIO" for some reason is shown in device manager > software components but is not working you can manually update these ASIO components with the .inf files in the RealtekASIO_7 folder (remember Reboot)

This way you get a functional Realtek ASIO

Maybe you can include this as an option in future drivers? Like in a script where one can enter his own HW ID and select if ASIO will be installed?

Took me some time to figure out...

I've uploaded the files here:

https://www.sendspace.com/file/krigxd

demberto commented 3 years ago

@gthbububba You can always use ASIO4All, or FlexASIO. If you have an audio interface, use the driver provided by the audio interface vendor. OEM drivers (my mobo is ASUS H110M-D) do have Realtek ASIO

githubbapoopa commented 3 years ago

ASIO4ALL and FlexASIO is no real ASIO but an emulation though. People always get confused on this. Thanks.

epman100 commented 3 years ago

BCDEDIT –Set TESTSIGNING ON

running this command works best on legacy BIOS (non-UEFI) systems. this command fails or gets blocked on UEFI based systems with "secure boot" enabled. the secure boot option needs to be turned off in uefi setup first (on modern UEFI systems) before "BCDEDIT –Set TESTSIGNING ON" will work.

also the newest RealtekASIO_8 package is included in some of the 9147 uad drivers from some vendors. you may want to update the realtek asio drivers from the RealtekASIO_7 version to the RealtekASIO_8 version

githubbapoopa commented 3 years ago

@ epman100 Thanks for pointing me in the right direction. I never use "secure boot" so TESTSIGNING ON works fine here. But this is a good info. Was able to update the ASIO component to ver 8 from a ASRock driver. Much appreciated!

@pal1000 Your latest driver 6.0.9155.1 is causing some headaches here.

First of all the actual drivers are not in folder Codec_8924 but in folder UpdatedCodec. They seem not to be installed but have to manually copied over, right? Why not putting the actual drives in the right folder (e.g. Codec_9155.1). Or even better why dont you just use a folder called Codec so you don't have to use a folder for updates? I manually copied the newest driver files (RTKVHD64,sys beeing 6.0.9155) and they run fine. Nonetheless the driverversion states 6.0.8924.1. I dont understand this...

SharedScreenshot

Why is your script setting a restore point and therefore bloating up windows? I find this useless.

Thanks!

pal1000 commented 3 years ago

Your latest driver 6.0.9155.1 is causing some headaches here.

First of all the actual drivers are not in folder Codec_8924 but in folder UpdatedCodec. They seem not to be installed but have to manually copied over, right? Why not putting the actual drives in the right folder (e.g. Codec_9155.1). Or even better why dont you just use a folder called Codec so you don't have to use a folder for updates? I manually copied the newest driver files (RTKVHD64,sys beeing 6.0.9155) and they run fine. Nonetheless the driverversion states 6.0.8924.1. I dont understand this...

The reason for all of this is WHQL validation. We don't have access to generic INF and CAT files for current driver anymore so it's necessary to install the newest driver that did first, then overwrite it. That's why there are 2 codec folders and that's why driver appear as 6.0.8924.1 in device manager.

githubbapoopa commented 3 years ago

Thanks for your explanation. I'm learning a lot here

Well in that case I got a ThinkPad Realtek UAD driver with .inf and .cat files for you to play around.

https://pcsupport.lenovo.com/de/de/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-carbon-9th-gen-type-20xw-20xx/downloads/driver-list/component?name=Audio

Choose extract > choose a folder > make a subfolder > extract in that subfolder

The files are .inf and .cat. format. I suppose I can edit

HDX_LenovoExt_DOLBY_Wrap_NoCapture.inf just the same (as described above) with my

VEN_10EC&DEV_0285&SUBSYS_17AA2259

?

pal1000 commented 3 years ago

I looked at CAT files. They lack hashes for HDXRT.inf, HDXRTSST.inf and HDX_GenericExt_RTK. So it doesn't help.

eebssk1 commented 3 years ago

The owner can make his own certification and regenerate all the cat file and then sign them, however this requires end users to trust owner's certification and disable secure boot which is unlikely possible...

shiyu1314 commented 2 years ago

Already added https://github.com/shiyu1314/Realtek-UAD-generic-ASIO/releases

Tarek-Hasan commented 10 months ago

Is there any possibility of adding ASIO to this driver pack? If not, simply close this issue. It gives a perception that work is ongoing. Also, ASIO_10 has released few months ago.

epman100 commented 8 months ago

Is there any possibility of adding ASIO to this driver pack? If not, simply close this issue. It gives a perception that work is ongoing. Also, ASIO_10 has released few months ago.

not unless there are modifications to the HDX_GenericExt_RTK.inf file to add the necessary asio entries and doing that will break the original signature and the edited/modded HDX_GenericExt_RTK.inf file will be treated as unsigned.

so the answer is probably no for asio and this issue should definitely be "closed" to prevent further discussions of adding the asio driver onto the uad generic driver