Jump to content
InsanelyMac Forum
Micky1979

[Guida] AppleHDA su Mountain e Lion

Recommended Posts

Download

 

Suono 3.png

Perchè modificare AppleHDA

 

Semplice, perchè il PC non è un Mac, ed anche di fronte a codec audio che portano lo stesso nome, il suono non uscirà dai vostri altoparlanti semplicemente perchè il codec è stato modificato con le specifiche di Apple per i veri Mac.

Però quasi tutti i Controller dei PC sono gli stessi e la compatibilità strettamente Hardware è massima, quindi il lavoro da effettuare si sposta quasi sempre solo sul codec audio:

 

quest'ultimo è l'oggetto di questo Topic, in quanto sarà proprio questo che dovrà essere ricostruito per far uscire l'audio dai Vostri altoparlati!

 

Codec Audio

 

Il codec Audio è un programma che contiene un algoritmo di compressione o decompressione del flusso dei dati audio, che permette di usare un numero minore di bit, ma con qualità, all'interno della banda passante dentro al Controller.

 

AppleHDA è meglio di VoodooHDA?

 

Onestamente, si!

VoodooHDA è una soluzione fantastica perchè permette a tutti, o quasi, di avere l'audio sui propri Hackintosh, il che di per se è già un grande successo, e va considerato il gran lavoro fatto dal Voodoo lab e gli sviluppatori che vi partecipano.

Ovviamente AppleHDA è un estensione che nasce per OSx e quindi gode sicuramente della grande stabilità che c'è sui veri Mac! Purtoppo non si può dire la stessa cosa per VoodooHDA, che in molte occasioni causa Kernel Panic durante l'avvio, e qualche volta anche durante il funzionamento, e questo è realmente seccante!

Altro punto a vantaggio di AppleHDA è sicuramente la qualità del suono, che gode di tutti i miglioramenti software di Osx, mentre VoodooHDA rilascia un suono un pò più "povero" perchè non dispone di tutti i controlli e filtri digitali che ci sono con il kext originale di Apple.

E' ancora ovvio, che il Vostro AppleHDA.kext, deve essere aggiustato con le procedure di cui discuteremo in questo Topic, e questo è l'unico punto debole, rispetto al VoodooHDA.kext.

 

Come ci riusciamo?

 

Il primo grande aiuto ce lo danno i driver ALSA di Linux, grazie ai quali siamo in grado di creare il dump (discarica) del codec audio utilizzato sulle nostre macchine, e di conseguenza sapere e risalire alla configurazione del codec, anche se brandizzato dal produttore della scheda madre o del Notebook.

Quindi un grazie meritato va a tutta la comunità di Linux.

 

ALSA

 

ALSA è l'acronimo di Advanced Linux Sound Architecture, ed è di solito un componente del kernel Linux (può essere anche un driver), che praticamente permette di avere il suono su tutti i PC dove si istallano le varie distribuzioni.

 

High Definition Audio

 

A partire dal 2004 Intel (e non solo) ha introdotto un nuovo sistema per i suoi controller, che è in grado di riprodurre più canali ad alta qualità rispetto ai precedenti codec audio integrati come AC'97, dove sono diverse le specifiche per molti aspetti, come i canali multipli e i jack da 3,5 mm etc. Proprio questi ultimi hanno grazie alle nuove specifiche i "sense signal", vale a dire la capacità di scambiare il flusso audio tra cuffie/altoparlati, microfono/microfono esterno ecc. con l'ausilio di un segnale che viene dato dal device audio e ricevuto dal software, al contrario della vecchia tecnologia abbastanza "meccanica" e con molti limiti.

 

Qui il manuale:

 

high-definition-audio-specification.pdf.zip

Share this post


Link to post
Share on other sites
Advertisement

Download AppleHDA.kext, vari codec

 

ADI1988B.zip layout-id 0x01, 0x00, 0x00, 0x00

AD2000B.zip layout-id 0x63, 0x00, 0x00, 0x00 by ErmaC

ALC268.zip No dsdt, contiene Enabler by Taruga (perfect Sound)

ALC269.zip No dsdt, contiene Enabler + IOAudioFamily.kext

ALC270.zip layout-id 0x01, 0x00, 0x00, 0x00

ALC272.zip layout-id 0x0C, 0x00, 0x00, 0x00

ALC662.zip No dsdt, contiene Enabler By: @KemalALKIN

ALC670.zip layout-id 0x41, 0x00, 0x00, 0x00

ALC883.zip layout-id 0x01, 0x00, 0x00, 0x00 by @mirone

ALC887.zip layout-id 0x63, 0x00, 0x00, 0x00

ALC888.zip layout-id 0x0C, 0x00, 0x00, 0x00

ALC892 GENERICO.zip layout-id 0x20, 0x00, 0x00, 0x00

ALC892 MIRONE.zip layout-id 0x01, 0x00, 0x00, 0x00 by @mirone

ALC898.zip No dsdt, contiene Enabler

ALC1200.zip layout-id 0x63, 0x00, 0x00, 0x00

ALC1200 layout-id 0x0C, 0x00, 0x00, 0x00 by marionez

Conexant CX20561.zip layout-id 0x63, 0x00, 0x00, 0x00

IDT 92HD87B1.zip layout-id 0x0C, 0x00, 0x00, 0x00

 

Questi kext non sono stati creati da me, ma sono kext presi da altri utenti, qui o sul altri Forum come osx86.com, e olaria.com, a scopo di creare un Database.

 

Dowload Utenti

Spazio riservato ai "successi" degli utenti che hanno creato un AppleHDA.kext funzionante

I migliori AppleHDA.kext modificati per i vari codec, saranno appesi in questo post, con tanto di credito all'utente che ha creato il kext.

Dovranno essere specificate tutte le uscite/entrate Audio funzionanti ed il tipo di scheda madre o il modello del Laptop.

 

 

 

Laptop

 

 

 

 

Desktop

 

Share this post


Link to post
Share on other sites

Materiale Necessario:

 

 

- Ubuntu live cd

- Codec_Dump (che farete con Linux )

- patch_hda (grazie a bcc9)

- graphviz (scaricate la versione compatible con quell di OSx)

- codecgraph-20120114.tar (rinominate la cartel come "codecgraph" per semplicità di utilizzo, controllate eventuali aggiornamenti qui)

- convert_hex_to_dec.rb.zip

- verbit.zip

- Plist Editor (cercate su Google un editor gratuito)

- zlib.pl.zip by Samantha

- layout12.xml.zlib e Platforms.xml.zlib (da prendere dentro ad AppleHDA.kext, per editarli)

- Minime conoscenze e intuito

 

Optional:

 

- HDA Wizard versione 10.8 by janek202 (per sostituire i file già pronti, o quelli che editerete da soli)

- AnalyseVerbs by Andy Vandijck (utile per "debuggare" il nostro pinconfig e vedere subito le modifiche)

 

 

tutti i diritti ai rispettivi creatori.

############################################################################################################

Trovare il codec id:

 

Semplice, quando avrete fatto il dump da Ubuntu, lo troverete scritto in Hex (esadecimale) alla prima riga del file.

 

In Windows, andante in gestione dispositivi cercando "Controller Audio, video e giochi",

Cliccando su una dell tab, (scegliendo il "codec", non il controller) cercate il Vendor ed il Produduct ID,

qualche cosa come da figura:

 

 

device manager.jpg

 

ID Venditore/111d (IDT) ID Prodotto/76e0 completo=111d76e0

 

ora conoscete il vostro codec audio!

 

Come viene usato in AppleHDA:

 

il codec id è usato in più posti in AppleHDA.kext, ma in differenti modi come stringa Hex, a byte invertiti e in decimale

 

Hex__________________11 1d 76 e0

 

decimale______________287143648

Hex byte invertiti_______e0 76 1d 11

 

facile fare la conversione con la Calcolatrice inclusa in OSx con vista impostata come "programmatore"

 

 

calc1.pngcalc2.pngcalc3.png

 

 

############################################################################################################

Riepilogo file da editare/sostituire con quelli disponibili e pronti al I° post di questo Topic:

 

1) AppleHDA.kext/Contents/MacOS/AppleHDA * (nota per chi utilizza Clover bootloader)

 

2) AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist

 

3) AppleHDA.kext/Contents/Resources/layoutxx.xml.zlib

 

4) AppleHDA.kext/Contents/Resources/Platforms.xml.zlib

 

 

1) usare lo script di bcc9 "patch_hda", e invocare il proprio codec audio

 

2) aprire il il file come da percorso, ed espandere l'insieme di IOKItPersonalities=>HDAConfigDefault e settare le seguenti chiavi:

 

- CodecID

- ConfigData

- FuncGroup

- LayoutID

 

come da foto qui sotto:

 

info.plist.png

 

sostituire manualmente il file editato, o utilizzare HDA Wizard.app

 

3) sostituire/aggiungere manualmente il file scaricato e pronto (o quello da voi editato), oppure utilizzare HDA Wizard.app versione 10.8

 

4) sostituire/aggiungere manualmente il file scaricato e pronto (o quello da voi editato), oppure utilizzare HDA Wizard.app versione 10.8

 

 

* Nota x Clover bootloader

Se avete intenzione di utilizzare Clover v2 bootloader, potete provare il "Kext to patch":

 

infatti compilando questo array nel config.plist dentro alla cartella EFI potete fare in modo che sia Clover a patchare "al volo" il binario di AppleHDA.

Fare questo, consiste nell' istruire Clover a cercare la stringa di numeri esadecimali (con cui vogliamo sostituire il nostro codec id), in pratica gli diciamo

 

cerca "questa" sequenza esadecimale

e

sostituiscila con il mio codec id!

 

esempio:

 

<key>KextsToPatch</key>
<dict>
<key>0</key>
<dict>
<key>Name</key>
<string>AppleHDA</string>
<key>Find</key>
<data>84 19 4d 11=</data>
<key>Replace</key>
<data>05 76 1d 11</data>
</dict>
</dict>

 

Ovviamente questo deve essere fatto con un Editor di file plist, in grado di convertire le stringhe esadecimali in BASE64, tipo così:

 

<key>KextsToPatch</key>
<dict>
<key>0</key>
<dict>
<key>Name</key>
<string>AppleHDA</string>
<key>Find</key>
<data>hBlNEQ==</data>
<key>Replace</key>
<data>BXYdEQ==</data>
</dict>
</dict>

 

oppure puo essere utilizzata questa pagina ===> web

per convertire da esadecimale a BASE64, se volete lavorare con TextEdit.

############################################################################################################

Come procurarsi il proprio pinconfig

 

 

Fare il boot con il disco o la chiavetta di Ubuntu, aprire il Terminale e dare questi comandi:

 

Comandi

 

sudo -s

 

poi

 

cat /proc/asound/card0/codec#1 > ~/Desktop/codec_dump.txt

 

se questo non lavora, provate tipo così:

 

cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt

(questo accade se il vostro codec non è 1 ma è 0, fate attenzione perché se non trovate l'indirizzo giusto verrà generato un codec_dump vuoto).

La stessa cosa potrebbe accadere se il device preso in considerazione non è quello ("card0")

 

 

Sul Desktop di Ubuntu troverete ora il file codec_dump.txt, salvatelo dentro una chiavetta, oppure speditelo per email.

Tornate in Osx e mettete la cartella "codecgraph" sul Desktop e copiateci dentro i seguenti file:

 

- codec_dump.txt

- convert_hex_to_dec.rb

- verbit

 

Ora istallate graphviz.pkg (che avrete scaricato compatibilmente con la vostra attuale versione di Osx)

 

Aprite il Terminale, e prendete possesso della cartella "codecgraph", che avete in precedenza copiato e rinominato sulla scrivania:

(potete copiare le righe blu direttamente sul Terminale)

cd ~/Desktop/codecgraph

poi

./codecgraph codec_dump.txt

poi

chmod +x ./convert_hex_to_dec.rb

poi

./convert_hex_to_dec.rb codec_dump.txt > ~/Desktop/codecgraph/codec_dump_dec.txt

poi

./convert_hex_to_dec.rb codec_dump.txt.svg > ~/Desktop/codecgraph/codec_dump_dec.txt.svg

infine*(aspettate, ci può essere un problema…verificate prima...)

./verbit codec_dump.txt > verbs.txt

 

 

 

Nota

 

 

* aprite il codec_dump.txt , e se trovate nelle prime tre righe qualche cosa simile a "AFG Function Id: 0x1 (unsol 1)",

cancellatela, altrimenti verbit fallisce!!

bene, ora abbiamo tutto il necessario, quindi mettetelo da parte:

 

- codec_dump.txt //codec dump originale da Ubuntu in Hex

- codec_dump_dec.txt //codec dump da Ubuntu convertito in decimal, questo tornerà utile in Platforms.xml

- codec_dump.txt.svg //rappresentazione grafica in Hex

- codec_dump_dec.txt.svg //rappresentazione grafica in decimale, tornerà utile in Platforms.xml

- verbitdebug.txt //in questo file troverete cosa verbit ha modificato e perchè

- verbs.txt //verbi aggiustati, qui troverete il vostro pinconfig aggiustato

 

file di testo e grafici, sono ora umanamente comprensibili , in Hex ed in decimale, questo ci aiuterà a compilare il layoutXX.xml, ed il Platforms.xml

Credit a @THe KiNG, Signal64 and Munky

 

############################################################################################################

 

 

verb? cosa sono?

 

guardate la spiegazione qui http://www.projectosx.com/forum/index.php?showtopic=465

 

verbs.png

 

 

I "Verb Data" sono parte del pinconfig:

il pinconfig è colui che dice al nostro controller audio, dove sono le nostre periferiche audio in uscita o in entrata come Altoparlanti, Cuffie, microfoni o i loro Jack.

Se desiderate, il pinconfig, può essere estratto da Windows in questo modo:

aprite regedit.exe e dal menù Apri/Trova digitate "pinconfig":

ok, trovato "PinConfigOverrideVerbs", e procediamo con l'esportazione dal menù File/Esporta, esportare in un file che chiameremo "pinconfig.reg"

 

regedit1.jpgregedit2.pngregedit3.pngregedit4.png

aprendo il file .reg in Osx , sarà simile a questo:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\PinConfigOverrideVerbs]
"0000"=hex:20,1c,a7,00
"0001"=hex:10,1d,a7,00
"0002"=hex:a1,1e,a7,00
"0003"=hex:04,1f,a7,00
"0004"=hex:1f,1c,b7,00
"0005"=hex:10,1d,b7,00
"0006"=hex:21,1e,b7,00
"0007"=hex:04,1f,b7,00
"0008"=hex:f0,1c,c7,00
"0009"=hex:00,1d,c7,00
"0010"=hex:f0,1e,c7,00
"0011"=hex:40,1f,c7,00
"0012"=hex:10,1c,d7,00
"0013"=hex:01,1d,d7,00
"0014"=hex:17,1e,d7,00
"0015"=hex:92,1f,d7,00
"0016"=hex:f0,1c,e7,00
"0017"=hex:00,1d,e7,00
"0018"=hex:f0,1e,e7,00
"0019"=hex:40,1f,e7,00
"0020"=hex:f0,1c,f7,00
"0021"=hex:00,1d,f7,00
"0022"=hex:f0,1e,f7,00
"0023"=hex:40,1f,f7,00
"0024"=hex:f0,1c,07,01
"0025"=hex:00,1d,07,01
"0026"=hex:f0,1e,07,01
"0027"=hex:40,1f,07,01
"0028"=hex:30,1c,17,01
"0029"=hex:01,1d,17,01
"0030"=hex:a3,1e,17,01
"0031"=hex:d5,1f,17,01
"0032"=hex:f0,1c,f7,01
"0033"=hex:00,1d,f7,01
"0034"=hex:f0,1e,f7,01
"0035"=hex:40,1f,f7,01
"0036"=hex:f0,1c,07,02
"0037"=hex:00,1d,07,02
"0038"=hex:f0,1e,07,02
"0039"=hex:40,1f,07,02
"NumVerbs"=hex:28,00,00,00

In pratica in Windows ci sono i verb con i numeri invertiti, quindi voi ora dovrete "raddrizzarli":

esempio:[/font][/color]

[color=#232323][font=Helvetica Neue]20,1c,a7,00 deve diventare 00a71c20

 

questo per tutti i verb.

 

Per salvare tempo, seleziona tutti i verbi e copiali qui:

 

http://www.ipwn.me/HDA/

 

il risultato sara questo:

00A71C20 00A71D10 00A71EA1 00A71F04 00B71C1F 00B71D10 00B71E21 00B71F04 00C71CF0 00C71D00 00C71EF0 00C71F40 00D71C10 00D71D01 00D71E17 00D71F92 00E71CF0 00E71D00 00E71EF0 00E71F40 00F71CF0 00F71D00 00F71EF0 00F71F40 01071CF0 01071D00 01071EF0 01071F40 01171C30 01171D01 01171EA3 01171FD5 01F71CF0 01F71D00 01F71EF0 01F71F40 02071CF0 02071D00 02071EF0 02071F40

 

 

Ma il pinconfig generato è lo stesso che troveremo in "verbit.txt" nella sua originale condizione, con la differenza che ora bisognerà interpretarlo e modificarlo:

 

pinconfig personalizzato

 

Praticamente, in verb.txt trovere il lavoro già pronto e corretto (a meno che non vogliamo farlo a mano se qualche cosa non funziona)

Guardate la differenza tra originale e corretto:

 

 

Verbs from Linux Codec Dump File: codec_dump.txt
Codec: IDT 92HD91BXX Address: 0 DevID: 287143648 (0x111d76e0)
Jack Color Description Node PinDefault Original Verbs
--------------------------------------------------------------------------------------------------------
Mic at Ext Right 0x0a 0x0a 77664288 00a71c20 00a71d10 00a71ea1 00a71f04
1/8 Black HP Out at Ext Right 11 0x0b 0x0421101f 00b71c1f 00b71d10 00b71e21 00b71f04
Unknown Unknown Other at Ext N/A 12 0x0c 0x40f000f0 00c71cf0 00c71d00 00c71ef0 00c71f40
Analog Unknown Speaker at Int Front 13 0x0d 0x92170110 00d71c10 00d71d01 00d71e17 00d71f92
Unknown Unknown Other at Ext N/A 14 0x0e 0x40f000f0 00e71cf0 00e71d00 00e71ef0 00e71f40
Unknown Unknown Other at Ext N/A 15 0x0f 0x40f000f0 00f71cf0 00f71d00 00f71ef0 00f71f40
Unknown Unknown Other at Ext N/A 16 0x10 0x40f000f0 01071cf0 01071d00 01071ef0 01071f40
ATAPI Unknown Mic at Int Top 17 0x11 0xd5a30130 01171c30 01171d01 01171ea3 01171fd5
Unknown Unknown Other at Ext N/A 31 0x1f 0x40f000f0 01f71cf0 01f71d00 01f71ef0 01f71f40
Unknown Unknown Other at Ext N/A 32 0x20 0x40f000f0 02071cf0 02071d00 02071ef0 02071f40
--------------------------------------------------------------------------------------------------------

Jack Color Description Node PinDefault Modified Verbs
--------------------------------------------------------------------------------------------------------
Mic at Ext Right 0x0a 0x0a 77664288 00a71c20 00a71d10 00a71ea1 00a71f00
1/8 Black HP Out at Ext Right 11 0x0b 0x0421101f 00b71c10 00b71d10 00b71e21 00b71f00
Unknown Unknown Other at Ext N/A 12 0x0c 0x40f000f0 00c71cf0 00c71d00 00c71ef0 00c71f40
Analog Unknown Speaker at Int Front 13 0x0d 0x92170110 00d71c40 00d71d00 00d71e17 00d71f91
Unknown Unknown Other at Ext N/A 14 0x0e 0x40f000f0 00e71c50 00e71d00 00e71ef0 00e71f40
Unknown Unknown Other at Ext N/A 15 0x0f 0x40f000f0 00f71c60 00f71d00 00f71ef0 00f71f40
Unknown Unknown Other at Ext N/A 16 0x10 0x40f000f0 01071c70 01071d00 01071ef0 01071f40
ATAPI Unknown Mic at Int Top 17 0x11 0xd5a30130 01171c30 01171d00 01171ea3 01171fd0
Unknown Unknown Other at Ext N/A 31 0x1f 0x40f000f0 01f71c80 01f71d00 01f71ef0 01f71f40
Unknown Unknown Other at Ext N/A 32 0x20 0x40f000f0 02071c90 02071d00 02071ef0 02071f40

 

Forse meglio usare verbit!

 

qui la rappresentazione di come è composto un verb:

 

00a71c20

 

0 = Connection Port

0 = Address

a = Default Device

7 = Connection type

1 = Port Color (unknown in my laptop, because no color exist)

c = other function

2 = Default Association

0 = Sequence

 

Color

 

indica al software il jack usato fisicamente (nel codec_dump), qua i byte da impostare x i colori dei jack:

 

 

 

Unknown 0

 

 

Black 1

 

 

Grey 2

 

 

Blue 3

 

 

Green 4

 

 

Red 5

 

 

Orange 6

 

 

Yellow 7

 

 

Purple 8

 

 

Pink 9

 

 

Reserved A-D

 

 

White E

 

 

Other F

 

 

Crediti a @THe KiNG, Signal64, Munky e Master Chief

 

 

 

Guardate per esempio gli Altoparlanti interni al Nodo 13 :thumbsup_anim:

esempio per il codec 111d76e0

svg IDT 11d76e0.png

 

############################################################################################################

Legenda dei simboli:

 

 

barradeisimboli.png

############################################################################################################

 

Modifica del kext:

 

binario di AppleHDA

AppleHDA.kext/Contents/MacOS/AppleHDA

 

Questa è la parte iniziale nel modificare AppleHDA, e per vari codec le cose possono cambiare su come avveniva in Lion

Semplicisticamente, se volete fare il lavoro in manuale, si tratta di trovare un sequenza esadecimale, che rappresenta un codec vero ed usato da Apple, e quindi trovarlo e sostituirlo con il nostro. Per cercarlo nel binario serve un programma come HexEdit.app (ma ce ne sono altri e gratis come quest'ultimo),con l'ausilio della casella "trova e sostituisci"; Ovviamente questo può essere fatto anche da Terminale.

Purtroppo questo è troppo riduttivo, e vi invito a leggere questi Topic aperti rispettivamente da @nyolc8 e @bcc9:

 

http://www.insanelym...-mountain-lion/

http://www.insanelym...-for-osx107108/

 

I Topic sono entrambi in Inglese, ma credo che nessuno vi fermerà nell'usare Google Translator, per capire che alcuni codec utilizzano e si attivano modificando istanze e codec diversi, all'interno del binario. Nello script di bcc9, patch-hda, sono presenti già un bel numero di codec pronti per modificare il Vs kext Audio, ed è quello che useremo.

 

 

 

Modifica del binario di AppleHDA con lo script di @bcc9

 

Aprite la cartella "patch-hda" e cliccate ancora su "patch-hda"

il Terminale si aprirà e vi notificherà che deve essere inserito il nome del codec, o il codec in Hex, inseritelo e poi vi verrà chiesta la password del vostro account.. non esitate a farlo!

 

Last login: Tue Oct 30 14:08:36 on ttys000
localhost:~ micky1979$ /Users/micky1979/Desktop/patch-hda/patch-hda ; exit;
Codec-id or codec-name to patch (eg 111d7675 or IDT 7675)?

Credito a @bcc9

 

 

info.plist

AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist

Ok, trovate un array (insieme), e cancellate gli altri (questo non è realmente necessario, solo per non fare confusione),

 

infoplist1.png

 

 

ed editate con i vostri dati che sono::

 

- codec ID in decimale

- pinconfig modificato (da inserire in ConfigData)

- FuncGrup settato su 1 (se desiderate che sia così, alcuni sostengono che non deve essere >5)

- LayoutID settato su 12 (se desiderate che sia così, oppure potete assegnarne uno diverso, purchè venga ripetuto dove necessario):

 

info.plist.png

 

 

esempio con il codec ITD 111d7605 = 287143429,

cambiatelo per il vostro

 

 

 

 

Layoutxx.xml and Platforms.xlm (zlib)

AppleHDA.kext/Contents/Resources/layoutxx.xml.zlib

 

 

In Snow Leopard, i due file di cui parliamo, erano raggruppati in un solo plist, mentre da OSx Lion in poi, sono stati divisi in due file distinti!

 

AppleHDA.kext/Contents/Resources

La differenza principale, su come si modifica AppleHDA tra Lion e Mountain Lion, è che in ML i due file plist sono compressi in zlib, altrimenti il metodo sarebbe davvero molto simile (ovviamente è differente il modo di modificare il binario, ma per questo leggete il Topic di bcc9).

Quindi se avete un AppleHDA versione 10.7.x, molto probabilmente vi basterà recuperare tali file e comprimerli con lo script di Samantha.

 

Ora vediamo come decomprimere/comprimere i file xml interessati

 

Decompressione/Compressione

 

 

queste le istruzioni per lo script zlib.pl:

piazzate per comodità lo script dentro AppleHDA.kext/Contents/Resources (potete lasciarlo qui per tutta la durata dei vostri test)

Ora, aprite il Terminale e scrivete cd seguito da uno spazio e poi trascinate sul terminale la cartella Resources che contiene lo script:

 

 

Last login: Fri Oct 26 17:18:47 on ttys000
localhost:~ micky1979$ cd /Users/micky1979/Desktop/AppleHDA.kext/Contents/Resources
localhost:Resources micky1979$

 

layoutxx:

 

decompressione

perl zlib.pl inflate layout12.xml.zlib > layout12.xml

 

 

compressione

perl zlib.pl deflate layout12.xml > layout12.xml.zlib

 

 

 

Platforms:

decompressione

perl zlib.pl inflate Platforms.xml.zlib > Platforms.xml

 

 

compressione

perl zlib.pl deflate Platforms.xml > Platforms.xml.zlib

 

Credito a Samantha aka Revogirl

 

 

 

 

 

Layoutxx.xml

Il file LayoutXX,xml, sembra funzionare come un "inventario" dei dispositivi in uscita e in entrata del nostro pc,

bisogna dichiarare quali e quante uscite o ingressi si ha e come devono essere disposti, ricordandosi di "gruppare" gli ingressi e le uscite, come accadrà nel Platforms.xml

 

 

Esempi di nomi:

 

Mic=Microfono interno

ExtMic=Microfono esterno (Jack)

IntSpeaker=Altoparlanti Interni

Headphone=Cuffie

LineIn= Linea in ingresso

etc...

 

 

Potete usare i nomi che vi pare?

Onestamente No!

Questo ha sicuramente a che fare su come sono stati creati i verb del pinconfig, e se volete usare un Microfono esterno come "LineIn", molto probabilmente dovrà essere

modificato il pinconfig intorno ai Nodi interessati da questa modifica, secondo questa rappresentazione:

 

00a71c20

 

0 = Connection Port

0 = Address

a = Default Device

7 = Connection type

1 = Port Colour

c = other function

2 = Default Association

0 = Sequence

 

 

In aiuto, nel fare questo, @Andy Vandijck ha creato un tool per vedere facilmente come vengono modificati i vostri Uscite/Ingressi Audio e vederlo immediatamente (basta mettere il pinconfig in un file con testo in piano):

 

AnalyseVerbs

 

 

 

layout12 1.png

 

layout12 2.png

 

 

 

Platforms.xml

AppleHDA.kext/Contents/Resources/Platforms.xml.zlib

 

Mentre il Layout è come abbiamo detto un "inventario" dei nostri ingressi, il Platforms.xml contiene di fatto le informazione e gli indirizzi, su dove sono i nostri Altoparlanti, microfoni e quant'altro, ma sopratutto qui devono essere rispettati i percorsi dei Nodi come nella rappresentazione grafica di graphviz: il PathMaps

 

 

Questo è quello che troverete appena avrete decompresso il Platforms.xlm.xlib.

Ci sono due chiavi,

CommonPeripheralsDSP, dove sembrano essere "dichiarati" alcuni dispositivi comuni. Questo non è preso in considerazione da questa guida, semplicemente lo lasciamo stare.

PathMaps, come appena accennato, qui c'è il lavoro più duro, perchè qui vanno definiti i Nodi che portano alla pubblicazione dell'audio da parte del codec al Controller.

Platforms 1.png

 

 

AppleHDA.kext contiene le informazioni per tutti i codec supportati da Apple sui vari modelli che sono in produzione più sicuramente quelli che sono stati dichiarati aggiornabili da Apple stessa, quindi è chiaro che trovere molte opzioni sotto l'array di PathMaps che fanno appunto riferimento a tutte le configurazioni audio che sono supportate.

Se volete, potete cancellare tutti gli array e lasciarne solo uno, facendo attenzione dicorreggere il PathMapID,in modo che combaci con quello dichiarato nel LayoutXX.xml.

Personalmente, ho cercato di scegliere quello che veniva utilizzato, avendo un portatile Ivy Bridge, dal MBP 10,1(avendo uno ioreg da un Mac originale, ho controllato quale layout veniva utilizzato), ma questo non è realmente necessario, ma solo molto interessante.

Platforms 2.png

 

Qui invece potete notare, inanzitutto, che c'è una certa coerenza su come sono disposti le linee in ingresso, e quelle in uscita: sono su due array ben distinti.

L'esempio riportato ha solo il Microfono interno, ma li vanno inserite, se si posseggono, gli input come ExtMic, LineIn ecc.

Stessa cosa per le linee in uscita, infatti fanno parte dello stesso insieme, poi ci sono altri sottoinsiemi dove vengono defiti separatamente i percorsi dei Nodi per gli Altoparlati (in questo caso interni), e il jack delle cuffie.

Platforms 3.png

Guardando la foto, il percorso dei Nodi per arrivare alla pubblicazione dell'audio, seguono lo stesso percorso che trovate sul grafico (quello convertito in decimale), quindi per ogni dispositivo "attivo" che si possiede, va definito il percorso per ogni uscita o ingresso che il vostro pc possiede.

Fatto? ....No

E' chiaro che questa non è una cosa facile, perchè anche il minimo errore può invalidare il lavoro di tutti gli altri Nodi, per cui può venire comodo iniziare solo con gli Altoparlanti per vedere se funzionano, e successivamente provare con gli altri.

Come già detto, una volta editati i file .xml, potete utilizzarli anche in Lion lasciandoli così come sono, comprimeteli in zlib per usarli in Mountain Lion.

 

Utilizzate HDA Wizard versione per 10.8 per sostituire i file che avete editato.

 

############################################################################################################

DSDT Editing*:

 

 

 

E' richiesto in un Hackintosh, per attivare l'AppleHDA, l'inserimento del layout-id nel dsdt.aml

In pratica lo stesso numero di Layout usato in AppleHDA (es. Layout12.xml), deve combaciare con quello nel dsdt convertito in Hex:

 

 

12 in decimale = C in Hex

 

nel DSDT deve essere 0x0C 0x00 0x00 0x00

 

se volete per es. chiamare il vostro file layout885.xml:

 

885 in decimal = 375

 

nel DSDT deve essere 0x75 0x03 0x00 0x00 in Hex bytes invertiti

 

"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},

 

 

esempio di una sezione completa:

 

Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"built-in",
Buffer (One)
{
0x01
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

 

 

 

Ovviamente è richiesto per funzionare, l'inserimento del "metodo DTGP" (che molto probabilmente avrete già inserito nel vostro dsdt per altre patch).

 

 

*Nota: Grazie a .:Ermac:. il layout nel dsdt diventerà un bel ricordo, infatti sarà disponibile (appena lo caricherà sul forum), l'Injector HDAEnabler in Enoch Bootloader, che manderà in pensione l'attivazione di AppleHDA.kext da dsdt negli hackintosh!

Enoch è in grado di iniettare il layout-id e l'HDMI dal org.chameleon.boot.plist :thumbsup_anim: , il Topic sarà aggornato a breve!

############################################################################################################

Edited by Micky1979
Novit� : Enoch inietta layout-id e HDMI senza modificare il dsdt

Share this post


Link to post
Share on other sites

Approfondimenti

 

 

Verranno appese qui, con tanto di link al post, le soluzioni discusse nel Topic!

- VREF

Voltage Reference

 

- MuteGPIO

 

 

Guardando nel codec dump..

Node 10 [Pin Complex] wcaps 4195715: Stereo Amp-In
Control: name="Mic Jack Mode", index=0, device=0
ControlAmp: chs=0, dir=In, idx=0, ofs=0
Control: name="Mic Capture Volume", index=0, device=0
ControlAmp: chs=3, dir=In, idx=0, ofs=0
Control: name="Mic Jack", index=0, device=0
Amp-In caps: N/A
Amp-In vals: [0 0]
Pincap 71484: IN OUT HP EAPD Detect
Vref caps: HIZ 50 GRD 80
EAPD 2: EAPD
Pin Default 77664288: [Jack] Mic at Ext Right
Conn = 1/8, Color = Black
DefAssociation = 2, Sequence = 0
Pin-ctls: 36: IN VREF_80
Unsolicited: tag=02, enabled=1
Power: setting=D0, actual=D0
Connection: 3
 19* 20 28

 

VREF (50/80/100) -> Hex (32,50,64) + 0100 + Nodo ID (hex) -> Convertire in decimale

 

esempio:

 

 

 

Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

Pin-ctls: 0x24: IN VREF_80

-> 0x50010018 -> 1342242840

 

 

Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

Pin-ctls: 0x24: IN VREF_80

-> 0x50010019 -> 1342242841

 

 

Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

Pin-ctls: 0x20: IN VREF_HIZ

-> 0

 

 

Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

Pin-ctls: 0x40: OUT VREF_HIZ

-> 0

 

 

Quando è presente VREF _HIZ, al Nodo interessato (il pincomplex), MuteGPIO è uguale a 0

 

 

 

 

Altro esempio, se state usando nel Platforms.xlm:

 

22

24

10 Pin complex ExtMic

 

 

ed il IN VREF_80 è presente

 

in decimale:

 

 

80

+ 0100 + Nodo ID

10

 

 

convertire in Hex:

 

50 + 0100 + 0a = 5001000a in decimale MuteGPIO=1342242826

 

 

 

Credito a @neXus, su Project OS X Forums

Share this post


Link to post
Share on other sites

Ciao Michele come promesso eccoti l'AppleHDA modificato per Mountain Lion (12D44)

 

Ha bisogno di supporto via DSDT e lavora su layout id 99 (63 in esadecimale).

 

I passaggi per ottenerlo sono gli stessi che usai in questo #post#

 

A tale post trovi anche i singoli file per il "KIT"

 

AppleHDA.AD2000B.12D44.zip

 

Fabio

 

Hardware info da win:

 

HDAUDIO\FUNC_01&VEN_11D4&DEV_989B&SUBSYS_10438372&REV_1003

Share this post


Link to post
Share on other sites

Ciao fiox89, spero di non aver sbagliato sezione, ho installato ML su una gigabyte z77x Up4 con i codec audio ALC892, prima avevo provato con i voodoohda e adesso con quelli postati qui, ma nulla, non vede alcun dispositivo..saresti cosi gentile da darmi una mano?

Share this post


Link to post
Share on other sites

Ciao fiox89, spero di non aver sbagliato sezione, ho installato ML su una gigabyte z77x Up4 con i codec audio ALC892, prima avevo provato con i voodoohda e adesso con quelli postati qui, ma nulla, non vede alcun dispositivo..saresti cosi gentile da darmi una mano?

Ragazzi scusate se nel periodo festivo sono un pò assente...ma sapete..bè.. :blush: ..feste... :P

 

fabiolino, riesci almeno a vedere l'icona del suono?...mettendo un paio di cufffie esce il suono?...hai messo il layout consigliato nel dsdt...se ce l'hai?

Sarebbe utile che mettessi l'hardware in firma, così è più facile aiutarti, senza che nessuno te lo chieda.. :whistle:

 

 

Micky

Share this post


Link to post
Share on other sites

Io ho provato a mettere i kext per alc269 ma appena ho riavviato mac non partiva più. Arrivati alla schermata di chameleon e appena selezionavo mac OS, questo ritornava alla schermata di BIOS (dove c'è il logo Samsung non appena accendi il PC)

Share this post


Link to post
Share on other sites

Io ho provato a mettere i kext per alc269 ma appena ho riavviato mac non partiva più. Arrivati alla schermata di chameleon e appena selezionavo mac OS, questo ritornava alla schermata di BIOS (dove c'è il logo Samsung non appena accendi il PC)

Salve ragazzi, scusate il ritardo...

 

iakughan hai tolto la patch HDEF dal tuo dsdt/controllato se c'è?

Te lo domando perchè mi pare che c'ho messo le mani proprio io al tuo dsdt, senza sapere quale codec avevi.. ma il kext ALC269 nel post dei download non richiede questa cosa perchè al suo interno c'è l'Enabler che la sostituisce...appunto.

Le due cose insieme non andrebbero d'accordo!

Ovviamente prima di istallare un AppleHDA va rimosso VoodooHDA se presente, altrimenti KP assicurato!!

 

 

Micky

Share this post


Link to post
Share on other sites

Salve ragazzi, scusate il ritardo...

 

iakughan hai tolto la patch HDEF dal tuo dsdt/controllato se c'è?

Te lo domando perchè mi pare che c'ho messo le mani proprio io al tuo dsdt, senza sapere quale codec avevi.. ma il kext ALC269 nel post dei download non richiede questa cosa perchè al suo interno c'è l'Enabler che la sostituisce...appunto.

Le due cose insieme non andrebbero d'accordo!

Ovviamente prima di istallare un AppleHDA va rimosso VoodooHDA se presente, altrimenti KP assicurato!!

 

 

Micky

Cosa dovrei eliminare? Io momentaneamente non ho installato nulla, sono con AppleHDA originale, se vado nel dsdt che mi hai modificato in device hdef mi da:

 

Device (HDEF)
       {
           Name (_ADR, 0x001B0000)
           Method (_DSM, 4, NotSerialized)
           {
               Store (Package (0x0A)
                   {
                       "built-in", 
                       Buffer (One)
                       {
                           0x01
                       }, 

                       "device-type", 
                       Buffer (0x0F)
                       {
                           "IDT  92HD91BXX"
                       }, 

                       "hda-gfx", 
                       Buffer (0x0A)
                       {
                           "onboard-1"
                       }, 

                       "layout-id", 
                       Buffer (0x04)
                       {
                           0x0C, 0x00, 0x00, 0x00
                       }, 

                       "PinConfigurations", 
                       Buffer (Zero) {}
                   }, Local0)
               DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
               Return (Local0)
           }

           OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
           Field (HDAR, WordAcc, NoLock, Preserve)
           {
               DCKA,   1, 
                       Offset (0x01), 
               DCKM,   1, 
                   ,   6, 
               DCKS,   1, 
                       Offset (0x08), 
                   ,   15, 
               PMES,   1
           }

           Method (_PRW, 0, NotSerialized)
           {
               Return (GPRW (0x0D, 0x04))
           }
       }

Share this post


Link to post
Share on other sites

Cosa dovrei eliminare? Io momentaneamente non ho installato nulla, sono con AppleHDA originale, se vado nel dsdt che mi hai modificato in device hdef mi da:

 

se non ho le traveggole :o , tu hai detto questo:

Io ho provato a mettere i kext per alc269 ma appena ho riavviato mac non partiva più. Arrivati alla schermata di chameleon e appena selezionavo mac OS, questo ritornava alla schermata di BIOS (dove c'è il logo Samsung non appena accendi il PC)

 

per cui dovresti eliminare questo dal tuo DSDT:

 

Method (_DSM, 4, NotSerialized)
				    {
						    Store (Package (0x0A)
								    {
										    "built-in",
										    Buffer (One)
										    {
												    0x01
										    },
										    "device-type",
										    Buffer (0x0F)
										    {
												    "IDT  92HD91BXX"
										    },
										    "hda-gfx",
										    Buffer (0x0A)
										    {
												    "onboard-1"
										    },
										    "layout-id",
										    Buffer (0x04)
										    {
												    0x0C, 0x00, 0x00, 0x00
										    },
										    "PinConfigurations",
										    Buffer (Zero) {}
								    }, Local0)
						    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
						    Return (Local0)
				    }

....ricompilare ed re-installare la tabella modificata .......per affidarti al AppleHDA.kext x ALC269 che non richiede l'iniezione dal dsdt.

 

 

Micky

Share this post


Link to post
Share on other sites

Eliminata la stringa, ricompilato, 0 errori, riavvio e non succede nulla. Audio non funziona

Share this post


Link to post
Share on other sites

Ho notato solo ora che in sistem profiler mi da questa immagine. Buon segno?

post-771157-13580933185353_thumb.jpg

Share this post


Link to post
Share on other sites

direi di si, ma l'icona del volume invece com'è? appare?

Forse potresti provare ad editare il kext seguendo la guida, adattandolo al tuo laptop...

 

Micky

Share this post


Link to post
Share on other sites

Salve ragazzi, chiedo lumi a riguardo:

pochi giorni fa ho installato Niresh12495 10.8 con successo sul mio pc. Funziona tutto alla grande tranne che per la webcam (poco male) e per l'audio.

La motherboard è una Asus P5G41T-M LE con chip audio Realtek ALC887 High Definition Audio.

Vi chiedo: seguendo questa guida dovrei risolvere il problema audio? O funziona solo su schede più moderne?

Grazie!

Share this post


Link to post
Share on other sites

Buongiorno ragazzi,

 

chiedo aiuto per creare un applehda per la scheda audio via vt1708s, purtroppo mi sono bloccato alla modifica del layoutxx e platform xml. Vi allego i miei codec dump sperando che qualcuno possa darmi una mano nella modifica, inoltre allego anche il data sheet del vt1708s.

VT1708s.zip

DS_VT1708S_100_CCPL.pdf

Share this post


Link to post
Share on other sites

Salve ragazzi, chiedo lumi a riguardo:

pochi giorni fa ho installato Niresh12495 10.8 con successo sul mio pc. Funziona tutto alla grande tranne che per la webcam (poco male) e per l'audio.

La motherboard è una Asus P5G41T-M LE con chip audio Realtek ALC887 High Definition Audio.

Vi chiedo: seguendo questa guida dovrei risolvere il problema audio? O funziona solo su schede più moderne?

Grazie!

Ciao Theparsec, l'ALC887 è presente nella sezione Dowload di questo Topic, e mi viene spontanea la domanda se hai provato ad istallarlo....e con quale esito..

Comunque alla riga dell'ALC887 è presente anche l'ipostazione del "layout-id" che devi inserire nel dsdt per attivare l'AppleHDA da te scelto in questo caso

"layout-id 0x63, 0x00, 0x00, 0x00"

. Se non possiedi un dsdt, puoi istallare Enoch bootloader e settare/abilitare l'audio aggiungendo le chiavi giuste nell'org.chameleon.boot.plist (lo puoi fai direttamente dall'istaller di Enoch)..così eviti di mettere mano al dsdt.

Qui il link al Topic di Enoch by Ermac: #508

questa cosa dell'Enabler audio da bootloader è una novità e le versioni vengono continuamente aggiornate.

 

Ovviamente, quando si istalla una distro (come credo che sia la Niresh12495), dovresti fare attenzione perchè hanno istaller patchati che istallano l'audio in automatico in base ad uno script che rileva il tuo codec audio, quindi si potrebbe verificare che siano presenti kext in System/Library/Extensions tipo HDAEnabler.kext o HDEFEnabler.kext. Se invece hai selezionato in precedenza un voodooHDA.kext l'istaller potrebbe aver istallato anche l'HDADisabler.kext (perchè se si istalla il VoodooHDA si deve cancellare o disabilitare AppleHDA.kext per evitare che il sistema dia un kernel panic), per cui sii sicuro di rimuovere i kext appena menzionati se presenti.

 

Micky

Share this post


Link to post
Share on other sites

Grazie per la risposta Micky,

i kext che sono presenti in System/Library/Extensions sono AppleHDA.kext, HDAEnabler1.kext e credo sia sospetto anche un certo LegacyHDA_ALC888.kext sicuramente installato con qualche mio vano tentativo con ######.

I VoodooHDA li installai senza successo ottenendo solo dei Kernel Panic, ma potrei ritentare alla luce di quanto descritto da te.

Ora cancello LegacyHDA_ALC888.kext e HDAEnabler1.kext lascio solo AppleHDA pulito e provo ad installare il kext ALC887 da te descritto. Vediamo cosa succede. Ti farò sapere!

 

Una sola domanda: per cancellare un kext basta semplicemente cancellarlo da System/Library/Extensions o bisogna fare altro dopo?

Grazie!

 

 

EDIT: Ho notato che scaricando il file all'interno c'è AppleHDA.kext, allora cancello anche quel kext insieme agli altri 2 sostituendolo con questo!

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.



  • Similar Content

    • By LarryKu
      Hi everyone,
      I am new, I hope I am posting in the correct forum.
      My specs:
      Processor: Core i5 6500 Skylake 3.2ghz
      Mobo: Gigabyte h170-d3h
      M2SSD: WD Black 256gb PCIe (Mac OSx)
      SSD: Samsung 860 Evo (WIndows 10)
      HDD: WD Blue 1TB
      GPU: Radeon RX 480
      Monitor: BenQ RL2460 24"


      I was able to install High Sierra on a new m2 drive, that I added to the above configuration with windows 10 already installed.
      I had a few issues during install, including the monitor turning off at boot screen.

      Unfortunately, this persists even now. It turns off at about 60% of the progress bar, and to turn it on again I have to unplug/plug back my hdmi.
      Additionally, while all of the usb ports worked during install and while running it out of the clover I had on the usb stick, only the rear ones appear to work now.
      The audio doesn't work either, though I added the correct patch according to my mobo

      Lastly, my other drives are not recognized in the bios anymore. They run fine from boot override but they don't show up in the boot priority (while multiple entries of mac OS do, and they seem to increase in number at every reboot)

      Thanks in advance for the help
    • By ITzTravelInTime
      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 chaning 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 for now are limited up to 176,4 khz and because of issues getting 192 khz to work, for now the driver goes up to 176,4 khz for supported 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 debug and also installer replacement, it can be also used to unload and reload, replacement of the driver without rebooting
       
      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/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  






    • By ITzTravelInTime
      This driver is a mod of the popular kx audio driver for mac os x, the project goal is to still maintaining it for the future releases of mac os and to include as much cards as possible and to get all the features of the cards to work.
       
      Currently the only features not supported are audio inputs and integrated midi and synth capabilitues of the cards, and some minor things like creative remote controllers or software controlled volume gears on creative external drives and bays)
       
      It supports most the sound blaster live! series cards, the sound blaster PCI 512, most of the audigy (emu 10k2 based) series, audigy 1, audigy 2, audigy 2 zs, audigy 4 (SB0610), audigy 4 pro, audigy 5 and audigy rx (sb1550) and some e-mu edsp audio cards with all the recent versions of mac os, tested to work with mac os yosemite, el capitan, sierra and high sierra on intel based machines from socket 775 to 1151 (including enthusiast platforms like x58, x79, x99, x299) and also confirmed to work on mac pros.
       
      reference topic:
       
      Kx audio driver mod [sound blaster live!, audigy 1/2/4/RX emu edsp]
    • By sect0r5
      Hello guys I need help for tuning my system for better working possibilities.
       
       
      What works:
      Sleep/Wake Audio Ethernet App Store  
      Problems:
       
      CS:GO not working (other Steam games are OK) Bad GPU performance 40 fps on OSX Cinebench vs 85 fps on Windows Cinebench Big audio latency when using line input      //edit : problem is gone  Slow start of Viber Desktop, OBS and some web pages  //edit : OBS is slow on native MacBook too Sometime random mouse freezings            Huge lags on latest NVidiaWeb drivers(158, 159) Sometimes can't awake and stuck on black screen after restart   //edit : now is alright. magic! Sometimes sound start crackling when watching online video     //edit  : magically gone edit : she come again  
      It's happens on a both Kernel's :
       
      Shanee 13.3.3
      Bronya
       
      Clover 4392
       
      What info i can provide for better results?
       
      Thanks!
      With best regards, Stan.
      Send me stanMacs-Pro.zip
    • By Antonio95
      Buonasera a tutti, ho installato con successo macOS High Sierra 10.13 su un notebook Toshiba C660 con le seguenti caratteristiche:
       
      Intel Core i5 2410M Ram 4 GB Chipset Intel HM65 Wi-Fi + BT Atheros AR5B195 (AR9285+ AR3011 Combo) Geforce NVIDIA 315M 1024MB Audio Realtek ALC269 Funziona più o meno tutto, o meglio funzionava poiché ho effettuato l'aggiornamento da macOS 10.3 a macOS 10.3.3 e non ha più funzionato l'audio. Fino alla versione 10.3 ero riuscito a farlo funzionare grazie ad AppleALC.kext cui dipende da Lilu.kext. Ovviamente entrambi i Kext sono aggiornati alle ultime versioni disponibili, ed inutile dire che ho provato più volte a reinstallarli. Si trovano sia in S/L/E che nella partizione EFI dedicata di Clover. Prima durante il boot in verbose vedevo qualcosa come "Sound assertion in AppleHDAController at line 451", cosa che non vedo più dopo l'aggiornamento. Una volta avviato, l'icona dell'audio è praticamente grigia, mentre dalle impostazioni dice "Non è stato trovato nessun dispositivo di uscita".
       
      Ringrazio chiunque voglia aiutarmi.
×