kxproject / kx-audio-driver

kX driver source code (for Windows and Mac)
Other
143 stars 64 forks source link

Windows on ARM, Support? #26

Open sidd-kishan opened 3 years ago

sidd-kishan commented 3 years ago

Please let us know when can we have an ARM64 version for Windows on ARM OS.

linnaea commented 3 years ago

I'm 99% sure no device supported by Windows on ARM had a PCIe expansion slot, porting this to ARM would be moot.

sidd-kishan commented 3 years ago

We at Windows on Rasberry Pi community have ported windows on arm to Rasberry pi 4 b+ we can help you with the testing. It is WOA deployment and supports ARM64 Drivers. We would be glad to lend you a hand in testing the drivers you build. Raspberry pi CM4 board has PCI-E with is ARM64 based Windows On ARM.

https://www.jeffgeerling.com/project/raspberry-pi-cm4-pci-express-device-database

wyatt8740 commented 3 years ago

Wait, there are PCIe EMU10K1/EMU10K2 cards?

Or are you talking about using bridges to conventional PCI?

linnaea commented 3 years ago

Wait, there are PCIe EMU10K1/EMU10K2 cards?

Or are you talking about using bridges to conventional PCI?

There is one card, Audigy Rx, that has a PCIe x1 interface, however it's really just an Audigy 4 with an integrated PLX PCI bridge, and still only capable of doing 31-bit DMA, pin-based level-trigger interrupts, all that old PCI stuff.

wyatt8740 commented 3 years ago

Ah, I had no idea that used an emu10k chip. I suppose it has an on-board PCIe/PCI bridge chip doing the translation.

Edit: yeah, PEX8112. Interesting. That means Creative made that E-mu chip a lot longer than I thought.

ITzTravelInTime commented 2 years ago

There are also variants of E-MU cards supported by the driver that are pcie and uses a bridge chip. The audigy Rx is probably the only consumer card doing that tho.

BTW i did a port of the macOS kx audio driver to powerpc macs running os x (https://github.com/ITzTravelInTime/kx-audio-driver/tree/PPC_Experimental) and so my fork of the driver is currently capable of working on risc architectures for the macOS part, but the lack of apple silicon macs with pcie slots and the fact that apple won't allow people to compile some kinds of kexts for arm (at least with ease, perhaps some workaround can be made using custom build scripts) might not make it a reality on arm.

wyatt8740 commented 2 years ago

It's worth noting that Apple may well switch the Mac Pro to ARM at some point. If they keep something like the current form factor, that will likely have PCIe slots.

Additionally, the E-MU 4040 and 2020 USB devices use emu10k2 chips from what I gather.

Also, that's awesome; I have a powerbook G4 here so I might actually use that. Thanks for the link. I wasn't aware of Apple's restrictions on kext's, but I'm not really surprised. I remember they already did something like that for graphics card kexts.

ITzTravelInTime commented 2 years ago

The way the kx audio driver is made doesn't allow it to use anything other than pci devices, about the powerbook the windows version might work with pc-card devices the audigy 2 zs mobile, but as far as i know the mac version will not work with them.

BTW usb cards might also support some standards that allows them to work with drivers built into the os, like my sound blaster extigy.

EDIT: About restrictions it's more like they deprecated some features used by some kinds of kexts rather than totally restricting you from building kexts for arm, in fact as of my latest attempts i couldn't compile it because it thwrows an error at the OSMetaclass definition into the kext header file.

EDIT 2: BTW i own an audigy rx and, using my fork of the driver, it works on all the mac pros with pcie and the pcie g5, and it works in monterey too.