Contribute
Register

Creative Sound Blaster Audigy PCIe 5/RX (Working)

Status
Not open for further replies.
Joined
May 11, 2012
Messages
15
Motherboard
GA-Z97-D3H
CPU
i5-4690K
Graphics
GTX660 TI
Mac
  1. iMac
Classic Mac
  1. 0
Mobile Phone
  1. Android
  2. iOS
The ALC1150 integrated in my mobo was working fine but I was sad to put my Creative card in the box, so I started to look into support for this card and found the KX Drivers for EMU based cards (the Audigy 5/RX is EMU based, take a look on Amazon -> http://www.amazon.com/Creative-Blaster-Audigy-Performance-Headphone/dp/B00EO6X7PG ) but support is dead since years and the last compiled dmg package is from 2009.

On the other hand the source code is just 1 year old and last commits on the kext are 9 months old, so I decided to try and compile it (I'm a total OSX noob, so it took me some time to figure out how...).

I was able to compile the kext with minor warnings (some code deprecation) changing target architecture to x86_64 and target OS 10.10, the result is attached to this thread.

The card is working fine in my system ( Yosemite 10.10.2 ) and does not conflict with the ALC1150, I just dropped the kext in the proper folder in Clover EFI partition and rebooted.

kx01.png

kx02.png

kx03.png


At the moment I have problems compiling the KX Manager and the other parts, will keep trying, probably is just me being noob.
 

Attachments

  • kXAudioDriver.kext.zip
    130.1 KB · Views: 3,646
Was able to compile the libs, the command line utils and the apps, but KX manager doesn't work (blank window) and KX AC97 works but has no effect on the audio at all.

The 2 command line utilities give "Error initializing iKX interface" and "Error initializing kX interface"

Well I think I should just be happy the driver works.
 
Cleaning all caches got the command line tools working:

Code:
xxxxx-iMac:~ xxxxx$ kxctrl
kX Driver Control Program
Copyright ? Eugene Gavrilov, 2001-2014. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

 -cg 				 - get EDSP/FPGA master clock frequency
 -cs <sample rate>		 - set EDSP/FPGA master clock frequency
 -ml <rifx file>		 - load RIFX/bin microcode
 -me <id>			 - enable microcode
 -mb <id> <mode>		 - toggle microcode bypass mode
 -gmf <id> 			 - get microcode flag
 -smf <id> <flag>		 - set microcode flag
 -md <id>			 - disable microcode
 -mu <id>			 - unload microcode
 -mp [id]			 - list all uploaded effects / print fx regs
 -mo id				 - dump microcode (with opcodes)
 -mc <srcid> <reg> <dstid> <reg> - connect (reg is hex w/o '0x' or reg name)
 -mdc <srcid> <reg> 		 - disconnect (reg is hex w/o '0x' or reg name)
				   if src | dst == -1, then reg is physical
 -ma <id> <pgm_name> <reg_name>	 - assign microcode slider to dsp pgm
				   [id: 0..5 - master/rec/kx0/kx1/synth/wave]
				   [set pgm_name to 'undefined'  to unmap]
 -mr				 - reset microcode to default
 -mrc				 - clear all microcode and stop the DSP
 -reset				 - reset settings to defaults
 -rv				 - reset hardware voices
 -dbr				 - re-initialize daughter board card(s)
 -mx <dll_name>			 - extract RIFX effects from DLL to .\rifx
 -da [<file.bin>]		 - disassemble current 10kx/file's microcode
 -co <rifx.rifx> <memdump.bin> 	 - combine rifx & dump to stdout [10k1 only]


 -sg <pgm> <id> <val1> <val2>	 - set GPR
 -gg <pgm> <id>			 - get GPR
 -sr <id> <value>		 - set routing (id, value: hex - aaBBccDD)
 -gr <id>			 - get routing (id, value: hex)
 -sf <id> <value>		 - set FX amount (hex:0..ff)
 -gf <id> <value>		 - get FX amount (hex:0..ff)
 -shw <id> <value>		 - set HW parameter
 -ghw <id>			 - get HW parameter
 -istat				 - get spdif / i2s status

 -dd <num>			 - get driver's dword value
 -ds <num>			 - get driver's string value
 -sdb <id> <val>		 - set driver's buffer value (hex)
 -gdb <id>			 - get driver's buffer value (hex)
 -{s|g}{ac97|ptr|fn0|p|fpga}	 - set/get HAL register [reg [ch] val]
				 (-sac97 0 0 - reset AC97)
 -ufpga <filename> 		 - upload firmware into FPGA
 -link <src> <dst>		 - connect FPGA src to dst
 -sf2 {l|c|p|i|u} {dir|file} [{file|dir}]
				 - Load/Compile/Parse/Info/Unload SoundFonts
 --nokx				 - do not init the driver (should be the last)
 --gui				 - perform interactive commands
 $<x>				 - use card number <x> (should be the first)

Code:
xxxxx-iMac:~ xxxxx$ edspctrl 
kX E-DSP Control Program
Copyright ? Eugene Gavrilov, 2001-2014. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Your card is not E-DSP
Well this is true.

If I can make the KX AC97 panel to work I'll be an happy fella.

EDIT: after reading docs and some old posts from the author, seems KX AC97 works only with cards that have an AC97 codec, it seems that someone found out this card has in fact one, it was tested in windows -> http://www.hardwareheaven.com/commu...-the-new-audigy-5-sb1550.226143/#post-1507674

I was in fact able to read values from the AC97 codec:
Code:
xxxxx-iMac:~ xxxxx$ kxctrl -gac97 0
kX Driver Control Program
Copyright ? Eugene Gavrilov, 2001-2014. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

AC97[reg=0]=6a90
 
Cleaning all caches got the command line tools working:

Code:
xxxxx-iMac:~ xxxxx$ kxctrl
kX Driver Control Program
Copyright ? Eugene Gavrilov, 2001-2014. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

 -cg                  - get EDSP/FPGA master clock frequency
 -cs <sample rate>         - set EDSP/FPGA master clock frequency
 -ml <rifx file>         - load RIFX/bin microcode
 -me <id>             - enable microcode
 -mb <id> <mode>         - toggle microcode bypass mode
 -gmf <id>              - get microcode flag
 -smf <id> <flag>         - set microcode flag
 -md <id>             - disable microcode
 -mu <id>             - unload microcode
 -mp [id]             - list all uploaded effects / print fx regs
 -mo id                 - dump microcode (with opcodes)
 -mc <srcid> <reg> <dstid> <reg> - connect (reg is hex w/o '0x' or reg name)
 -mdc <srcid> <reg>          - disconnect (reg is hex w/o '0x' or reg name)
                   if src | dst == -1, then reg is physical
 -ma <id> <pgm_name> <reg_name>     - assign microcode slider to dsp pgm
                   [id: 0..5 - master/rec/kx0/kx1/synth/wave]
                   [set pgm_name to 'undefined'  to unmap]
 -mr                 - reset microcode to default
 -mrc                 - clear all microcode and stop the DSP
 -reset                 - reset settings to defaults
 -rv                 - reset hardware voices
 -dbr                 - re-initialize daughter board card(s)
 -mx <dll_name>             - extract RIFX effects from DLL to .\rifx
 -da [<file.bin>]         - disassemble current 10kx/file's microcode
 -co <rifx.rifx> <memdump.bin>      - combine rifx & dump to stdout [10k1 only]


 -sg <pgm> <id> <val1> <val2>     - set GPR
 -gg <pgm> <id>             - get GPR
 -sr <id> <value>         - set routing (id, value: hex - aaBBccDD)
 -gr <id>             - get routing (id, value: hex)
 -sf <id> <value>         - set FX amount (hex:0..ff)
 -gf <id> <value>         - get FX amount (hex:0..ff)
 -shw <id> <value>         - set HW parameter
 -ghw <id>             - get HW parameter
 -istat                 - get spdif / i2s status

 -dd <num>             - get driver's dword value
 -ds <num>             - get driver's string value
 -sdb <id> <val>         - set driver's buffer value (hex)
 -gdb <id>             - get driver's buffer value (hex)
 -{s|g}{ac97|ptr|fn0|p|fpga}     - set/get HAL register [reg [ch] val]
                 (-sac97 0 0 - reset AC97)
 -ufpga <filename>          - upload firmware into FPGA
 -link <src> <dst>         - connect FPGA src to dst
 -sf2 {l|c|p|i|u} {dir|file} [{file|dir}]
                 - Load/Compile/Parse/Info/Unload SoundFonts
 --nokx                 - do not init the driver (should be the last)
 --gui                 - perform interactive commands
 $<x>                 - use card number <x> (should be the first)

Code:
xxxxx-iMac:~ xxxxx$ edspctrl 
kX E-DSP Control Program
Copyright ? Eugene Gavrilov, 2001-2014. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Your card is not E-DSP
Well this is true.

If I can make the KX AC97 panel to work I'll be an happy fella.

EDIT: after reading docs and some old posts from the author, seems KX AC97 works only with cards that have an AC97 codec, it seems that someone found out this card has in fact one, it was tested in windows -> http://www.hardwareheaven.com/commu...-the-new-audigy-5-sb1550.226143/#post-1507674

I was in fact able to read values from the AC97 codec:
Code:
xxxxx-iMac:~ xxxxx$ kxctrl -gac97 0
kX Driver Control Program
Copyright ? Eugene Gavrilov, 2001-2014. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

AC97[reg=0]=6a90
you just saved me a lot of digging ;) thank you for this card was working untill i got to 10.10.1

thank you
 
Hello! I have installed the latest kX driver from this topic. Sound work, but microphone doesn't work. Have anyone any ideas to fix this? I need microphone for Skype. OS X 10.10.2. Audio card Creative SB Audigy 2. Thank's!
 
on Yosemite, In the system preferences, audio, it shows the driver on the input and on the output.
output work great but even though it shows input, the input doesn't function, microphone doesn't work, any solution? thanks
 
bubbl3, thank You for compile and kext update

I still have problem with wake up, after sleep sound card not work on 10.11 and latest Clover
I ask advise, where problem? I don't use custom dsdt and disable some Clover fixes

Is theoretically possible to tune SB Audigy 1102:0004 emu10k1 for work after wake up? Maybe CLI way to reload audio system? wrong BIOS settings?
 
can i try it ? I have Creative Soundblaster SB 5.1 VX.Or can you try do a kext for this card ?

How do i install it is it S/L/E or where do i put it ?

Thanks
 
I finally managed to have in el capitan in the system preferences, sound: also in the input I SEE: kx SB0090 10K2 (c000) PCI card with the installation of the kext: kXAudioDriver from here above the thread
even though it is appearing in the input i still don't get input sound from my microphone.
Anybody managed to be able to receive input sound of microphone?
 
Status
Not open for further replies.
Back
Top