1,333 posts in this topic
Recently Browsing 0 members
No registered users viewing this page.
KX AUDIO DRIVER MOD
Hi guys i am a small developer, i really like to use my sound blaster cards on my machines and i love also coding, so when i find the source code for the kx audio driver on git hub and then Eugene, the creator of kx audio driver decided to no longer maintain the project, i decided to start working on a mod of this driver.
With my mod, created starting from the sources of the last version of kx audio driver, and also by using apple developer documentation for pci and audio drivers as reference, i am working to achieve 2 things mainly: get all the cards supported by the driver to work with all the recent versions os macOS and add support for other cards that are not officially supported by the driver that works or could, but needs to be more properly supported.
This driver is made to support cards based on the E-mu 10k1, 10k2 and similars (like what is used by audigy rx and audigy 4 cards).
Supported cards are:
- most of the sound blaster live!, live! 5.1 and live! 5.1 digital series
- sound blaster 512
- sound blaster 256
- other creative and e-mu sound cards based on the 10k1 chip (cards with the ES1370/ES1371/ES1372/ES1373 chips are not supported)
- sound blaster Audigy series (1 st gen)
- sound blaster Audigy 2 and audigy 2 zs series
- E-MU cards based on the 10k2 sound chip
- Some Audigy 4 cards (SB0610 only) and the audigy 4 pro
- Sound blaster Audigy RX (sb0155)
- other creative and e-mu cards based on the (10k2, 10k2,5 and CA10300 based cards)
NOT supported cards:
- Any ISA Sound card
- ES1370/ES1371/ES1372/ES1373 based sound cards
- CMI8738/CMI8788 based cards
- Any CA0106 based card and cards with similar architectures (like sound blaster live! 24 bit, sound blaster audigy SE SB0570, audigy LS and similars, but audigy SA is supported)
- Any sound blaster x-fi (some of them works on macOS using a modified version of voodoo hda)
- Any sound blaster recon3D
- Any sound blaster Z/ZS/ZX and similar series
- Any sound blaster AE5 series
In the time being the things i have modded or added with this mod are:
- increased the simple buffer frames number with different values for emu10k1 based cards and emu10k2 based cards (including recent audigy 4 and rx) to reduce and all the audio cracking issues and possibly fixing all of them on a lot of cards
- added a more proper support for the pci express sound blaster audigy rx (which basically is an audigy 4 with a pcie bridge chip)
- added more fancy names for the cards in the settings and other menus (so the name will be, for example, SB live! 5.1 SB0060 instead of kx SB0060 [e880] witch was shown in the original driver)
- added support to sample rate changing and added lots of sample rates (from 8 khz to 176,4 khz) to accomodate any possible usecase (note that 10k1 sound cards are limited up to 48khz sample rate, and 10k2 based cards are limited to 176,4 khz because of issues getting 192 khz to work, for now the driver goes up to 176,4 khz for such cards)
- added boot args to manage the driver:
Boot args to use with the kx audio driver mod: -kx_disable or -kxdisable or -kxoff This will prevent the driver from doing any initialization work, so the driver is basically disabled, use it to boot your ssytem in case the driver is giving you issues and kernel panics while you are trying to boot/using your system, so you are able to remove this driver or replace it with another version of it or to do some truble shooting. -kx_debug or -kxdebug or -kxspec Will show more debug info about the card, mainly the i/o port address and the kind of bus that it uses -kx_exp_deb or -kx_beta or -kxbeta Will enable experimental and probably not working or unstable features like showing inputs for the card or 192 khz sampling rate, use it only for testing and debug purposes, this may likely cause instability and problems in the everyday usage! Use it at your own risk! -kx_original or -kxoriginal This will basically turn off almost all the mods of this mod, so the driver will come to work as it was before modding it, this can be usefoul as a "safe mode" like feture to have a working driver in case of problems with features of the mod, so using this means no crsking issues improvements, only 48 khz sample rate and only features of the non-modded kx audio driver for mac os x
- created a script file to use with the driver for installing the driver and also to load/unload, update, repolace it and it's libraries.
What i'd like to implement but i don't know how to do:
- I'd like mainly to add a more proper support to the pci bridge chip of the audigy rx,
- have audio inputs working,
- fix the support when using more than one card, to get all the cards shown in the settings and other menus,
- have the gameport/midi port of older cards to be used in mac os as a midi in/out
If other developers would like to join and help me, you can, and also an hand from other people with testing and feedback will be nice.
link for the kext only (if you have clover put it in [your clover efi folder]/clover/kexts/[your macOS version]/ so it will not be deleted when updating macOS):
- download from the downloads section: kX Audio Driver Mod by ITzTravelInTime 1.01 - external download: https://dl.dropboxus...Driver.kext.zip link for the installer pack (the best way to install it, but you have to reinstall it when you upgrade macOS, remeber to fix kext permitions and rebuild the kernelcache if you want to remove the kext from it's install directory without using the unistall feature of the provvided script): - download: https://dl.dropboxus...aller pack.zip Source code from Git Hub: - github repo: https://github.com/ITzTravelInTime/kx-audio-driver NOTE: Some system because of some problems with the HPET may need to use FixHPET in clover and to install the kext in /System/Library/Extensions or to do other kind of hpet mods to run the driver properly, but only on some systems, most systems should not require it
I've been hockintoshing for a long while, since Leopard to be exact and last week I replaced my Nvidia 9600GT with a brand new 1050 Ti...
I have a Lion and El Capitan both were running fine before the 1050 Ti arrived, I read that my new Geforce needs new drivers that are readily supported by Sierra and High sierra.
So I deleted Capitano and installed High Sierra 10.13 using Niresh distro. All went well and smooth and all my hardware was recognized the only problem left is this:
My Nvidia driver "WebDriver-3184.108.40.206.15.121" installs well with SIP enabled (aka 0x0 with clover) and after reboot the system is perfect with Nvidia web driver running fine
However after rebooting the Default slow OSX graphics driver is loaded and stays that way until I resinstall the web driver....
It's very annoying, I just can't make it work, I've been reading posts and tutorials for more that a week, nothing works, help is needed
Things I've tried already:
1. Boot using different clover revisions as old as 3911 and as new as 3509 (the latest)
2. Tried with clover in the EFI partion and/or Boot partition
3. Tried using different combos of nvda_drv,, nvidia webdriver, inject stuff (all possible combos in boot and graphics settings)
4. Tried all available kext (Lilu, Nvidia fixup, Nvidiaegpusupport, NVlibvalfix..) single and combos - in clover kext folder and L/E folder
5. Tried all different NVram recommendation - problem persisted even when nvram.plist is present or not
6. Tried running the postscripts from the driver installer pkg
7. Tried installing the driver via webdriver.sh
8. Fixing permissions and what not
And maybe other stuff that I forgot
Things to note:
When the graphics web driver loads fine KCPM kext utility works fine too but when the default driver is loaded KPCM warns that B0 and B1 SIP options are not enabled even though they are when I test csrutil status
So I'm somehow thinking of a bug in Clover not applying the SIP restrictions correctly
I don't know what happens when the driver is reinstalled that makes it work after reboot for 1 time only (I've went through all the pre post scripts in the installer and didn't find anything magical)
It seems nothings works except reinstalling the driver - nothing else matters
I'm almost pulling my hair - haven't faced such a problem since a very long time
Any advice is greatly appreciated
Being asked to add support for Realtek's Fast Ethernet PCIe NICs to my RTL8111 driver I got tired of answering the same old question again and again so that I finally decided to write a separate driver for these chips and to make a few of you guys and gals happy.
As of now the driver supports the following members the RTL810X Fast Ethernet family:
RTL8101E RTL8102E RTL8103E RTL8401E RTL8105E RTL8402 RTL8106E RTL8106EUS RTL8107E Here is a list of the driver's basic features:
Supports Sierra (maybe El Capitan). 64 bit architecture only. Support for multisegment packets relieving the network stack of unnecessary copy operations when assembling packets for transmission. No-copy receive and transmit. Only small packets are copied on reception because creating a copy is more efficient than allocating a new buffer. TCP, UDP and IPv4 checksum offload (receive and transmit). TCP segmentation offload under IPv4. Support for TCP/IPv6 and UDP/IPv6 checksum offload. Supports Wake on LAN. Support for Energy Efficient Ethernet (EEE) which can be disabled by setting enableEEE to NO in the drivers Info.plist without rebuild. The default is YES. The driver is published under GPLv2. Built using Xcode 4.6.3.
Changelog Version 2.0.1 (2018-05-10): Fixes a problem with retrieval of the permanent MAC address on some chips. Version 2.0.0 (2017-04-04): Uses Apple's private driver interface introduced with 10.8. Adds support for the RTL8107E. Supports packet scheduling with QFQ. Adds support for flow control and EEE. Version 1.0.0 (2014-05-24): First offical release. Installation Before you install the driver you have to remove any installed driver for RTL810X. Goto /S/L/E and delete the old driver. Recreate the kernel cache. Open System Preferences and delete the corresponding network interface, e. g. en0. If you forget this step you might experience strange problems with certain Apple domains, iTunes and iCloud later. Install the new driver and recreate the kernel cache. Reboot Open System Preferences again, select Network and check if the new network interface has been created automatically or create it manually now. Configure the interface. Troubleshooting Make sure you have followed the installation instructions especially when you have issues with certain domains while the others are working fine. Use the debug version to collect log data when trying to track down problems. The kernel log messages can be retrieved with "grep kernel /var/log/system.log" in Terminal. Starting from Sierra use "log show --predicate "processID == 0" --debug" in order to retrieve kernel logs. Include the log data when asking for support or giving feedback. I'm an engineer, not a clairvoyant. Don't copy and paste large amounts of log data to your post. Create an archive with the log data and attach it to your post. In case you don't want to make your log data publicly accessible, contact me via PM and I will provide you a mail address to send it directly to me. Check your BIOS settings. You might want to disable Network Boot and the UEFI Network Stack as these can interfere with the driver. Double check that you have removed any other Realtek kext from your system because they could prevent the driver from working properly. Delete the following files: /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist /Library/Preferences/SystemConfiguration/preferences.plist Verify your bootloader configuration, in particular the kernel flags. Avoid using npci=0x2000 or npci=0x3000. In Terminal run netstat -s in order to display network statistics. Carefully examine the data for any unusual activity like a high number of packets with bad IP header checksums, etc. In case auto-configuration of the link layer connection doesn't work it might be necessary to select the medium manually in System Preferences under Network for the interface. Use Wireshark to create a packet dump in order to collect diagnostic information. Keep in mind that there are many manufacturers of network equipment. Although Ethernet is an IEEE standard, different implementations may show different behavior causing incompatibilities. In case you are having trouble try a different switch or a different cable.
Getting the driver
There is a prebuilt binary in the Download section of this site: http://www.insanelymac.com/forum/files/file/259-realtekrtl8100-binary/ The source code can be found on Github: https://github.com/Mieze/RealtekRTL8100 Mieze