Jump to content

Lord Kamina

Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by Lord Kamina

  1. So... I know HWMonitor has a fan controlling module, which can be accessed by hovering over the fans on the list of sensors. I also know this dialog does not generally show on hackintosh. There is evidently something the program is looking for, and that something determines whether to show it or not.

     

    I'm trying to figure out what that check is... Anybody familiar with the HWMonitor code, that might give me a hand with this?.

  2. Actually, the App Store problem can also be solved relatively easily by disabling network cards, deleting AppStores caches and NetworkInterfaces (Google it, there's at least one good tutorial) and then re-adding/re-enabling the network cards.

  3. DISCLAIMER:I have made this guide for people using ATI/AMD GPUs because that is what I have, because as-far-as-I-know AMD uses only one audio codec and because it's what I've tried and know, works. Still, the principle should be just as valid for NVIDIA or even Intel HD cards.

     

     

    My Build:


    • [*:27ud9cd4]Motherboard: Asus P5G41T-M LX PLUS
      [*:27ud9cd4]CPU: Intel E7400, overclocked @ 3.37GHz
      [*:27ud9cd4]Memory: 4GB Ram DDR3 1333
      [*:27ud9cd4]Ethernet: Realtek RTL8169
      [*:27ud9cd4]Audio Codec: ALC887-VD
      [*:27ud9cd4]Graphics: XFX Radeon HD 5570 1GB DDR3
      [*:27ud9cd4]OS: Mountain Lion 10.8.2

     

    I bought this Asus board a couple months ago and mostly it works very well. Now, when I bought it I looked at the audio codec but I didn't search for actual user experiences getting it to work (my mistake) and to my surprise, upon getting home I quickly realized that AppleHDA and my board just weren't the best of buddies.

     

    Flash-forward a couple of weeks and I'm resigned to using VoodooHDA. Now, VoodooHDA doesn't make friends with my HDMI audio so I have to choose between AppleHDA and HDMI or Voodoo and on-board and frankly, that sucks.

     

    The solution? Use both at the same time!

     

    Now, usually this will result in a kernel panic. Why? Because by default both these kexts try to match devices by their PCI-Class and logically end-up trying to take control of the same devices and that's not good.

     

    But, with a few minor edits it's possible to have them both coexist peacefully.

     

    Normally, AppleHDA(AppleHDA.kext/Contents/Plugins/AppleHDAController/Contents/Info.plist) will have these lines near the bottom:

     

    IOClass
    AppleHDAController
    IOPCIClassMatch
    0x04020000&0xFFFE0000
    IOProviderClass
    IOPCIDevice
    

     

    And VoodooHDA.kext/Contents/Info.plist will have these:

     

    IOClass
    VoodooHDADevice
    IOPCIClassMatch
    0x04020000&0xFFFE0000
    IOProviderClass
    IOPCIDevice
    

     

    See the similarity?

     

    Now, if instead you change them to the following (note, the actual values might and probably will change depending on your actual on-board codec and GPU)

     

    IOClass

    AppleHDAController

    IOPCIPrimaryMatch/key>

    0xaa601002 (0x1002:aa60 is the PCI Vendor ID for my Radeon's HDMI device, you can check these by using "System Info.app")

    IOProviderClass

    IOPCIDevice

     

    And

     

    IOClass

    VoodooHDADevice

    IOPCIPrimaryMatch

    0x27d88086 (0x8086:27d8 is the PCI Vendor ID for my on-board ALC887 device, you can check these by using "System Info.app")

    IOProviderClass

    IOPCIDevice

     

    Now Voodoo will know to try and match only your on-board audio and AppleHDA will know to try and match only your GPU's audio.

     

    Clearly, you're not yet quite done. For this to work, you will need more-or-less the same DSDT edits you would use to enable HDMI audio normally (and if you're using an AMD card like me, you need to be sure your Framebuffer is correct, which I won't go into now)

     

    The only departure from the tried-and-true DSDT edit for AMD cards is the following (I'm not entirely sure it is needed but I did it this way and it worked)

     

    You must add the layout-id that normally goes in the HDEF section to the HDAU section, like this:

     

    Device (HDAU)

    {

    Name (_ADR, One)

    Method (_DSM, 4, NotSerialized)

    {

    Store (Package (0×04)

    {

    “hda-gfxâ€,

    Buffer (0x0A)

    {

    “onboard-1″

    },

    "layout-id",

    Buffer (0x04)

    {

    0x01, 0x00, 0x00, 0x00

    }

    }, Local0)

    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

    Return (Local0)

    }

    }

     

    Once all that is done, you need to edit AppleHDA proper:

     

    Since Mountain Lion supports ATI HDMI audio OOB, you only need to change the layout/pathmap to suit your card. You will find numerous tutorials explaining in details how to do that. For now, what I did was use layout id: 1 and defined it thus:

     

    <?xml version="1.0" encoding="UTF-8"?>

    LayoutID

    1

    PathMapRef

    CodecID

    268610049 (My Radeon's codec ID in decimal, should be the same for all ATI/AMD cards)

    HDMI

    Outputs

    HDMI

    PathMapID

    268610049 (Following Apple's example on a layout that included an Nvidia HDMI audio, I used the Device ID as the PathMapID, the actual number is mostly irrelevant as long as it matches Platforms.xml though)

     

    And then in Platforms.xml, I did this:

     

    PathMaps

    PathMap

    NodeID

    3

    NodeID

    2

    PathMapID

    268610049 See? Same ID

     

    The Node IDs I just get from a codec dump of my HDMI card done in Linux.

     

    After all this was done, I deleted all other layouts and Pathmaps (left the DSP section alone, though) and compressed those XMLs again using zlib.pl, just ran MyFix, rebooted and all was working as expected.

     


    • [*:27ud9cd4]System Info:
    http://olarila.com/forum/viewtopic.php?f=6&t=63
    [*:27ud9cd4]How to modify your DSDT to add your ATI/AMD GPU: http://rampagedev.wordpress.com/2012/07 ... dsdt-36-2/
    [*:27ud9cd4]zlib.pl: http://www.olarila.com/forum/viewtopic.php?f=27&t=1702

     

    I am attaching both my own modified AppleHDA (done as per the instructions here, the binary itself is intact, I just messed with the Info.plists, pathmaps and whatnot) and my IORegistry so you can have fun with it:

    AppleHDA_HDMI.kext.zip

    Tiamat_Voodoo_AppleHDA.ioreg.zip

  4. Wrong layout ID or using the wrong AppleHDA. There are two different versions of ALC887.

     

    But, why? What did you find backing that?

     

    My codec is ALC887-VD, on Address 0. Does the layout number really matter? I used what the kext had for default and then manually edited both the layout to make sure it fitted with what I've really got and did the same for the pin configs and path maps.

     

    Wouldn't a wrong layout/kext make all devices disappear? Not, for example, if I open an audio application while IOregistryExplorer is open, it will be updated with a new IOAudioClient (or IOHDAClient, can't remember the proper name...) meaning the system IS recognizing the audio, and it does try to output sounds through the appropriate ports (seeing as I only get the clicking/popping noise if I select the actual port onto which the headphones are plugged in)

     

    P.S. I just attached my codec dump (from Ubuntu) and the codecgraph generated out of that dump.

    P.S.2. Hmm, if you said it because of the whole "layout-id: c" and "layout-id" Unicode("c") in the DSDT... I fell for it at the beginning too, but it appears to be one of IASL's compiling optimizations and mac apparently translates it to "99" wherever it actually matters.

    card0-codec#0.txt

    card0-codec#0.txt.svg.zip

  5. Hello!

     

    I've been trying to get this audio to work properly for a few weeks now, so far unsuccessfully.

    Here's where I'm at: I've edited my DSDT properly, I dumped my codecs and got my verbs, I tried to patch my own AppleHDA (but I failed miserably :lol:, so instead I downloaded one of two 10.8.2 ALC887 AppleHDA.kexts found on osx86.net, though I only replaced the binary, since I had already edited my layout and pathmaps and pin configs)

     

    With that, I boot and get a single sound assertion from AppleHDAController (I've noticed a few others triggered under specific circumstances: trying to change the sample rate or bit-depth in the Audio/MIDI Setup, for example) but otherwise AppleHDA appears to load properly.

     

    My IOReg shows AppleHDA and all its components loaded, it shows several HDAStreams, etc etc.

    In devices, I can see a Line-in, Speakers, a Line-Out and a Digital Out.

     

    If I connect my headphones to the appropriate port and try changing the output volume I get a single, relatively loud "POP" and then nothing. So, it happens the first time a sound would be output through the phones after being plugged in, basically.

     

    And I have tried editing everything I can think off, with no success. Either I break it and the Devices stop showing or just nothing changes.

     

    Attached are the a screenshot , the DSDT I'm using and the IORegistry. So far, the only "weird" thing I've been able to notice is under "AppleHDADriver", the "PowerProfile" has "CurrentPowerLevel", "IdlePowerLevel" and "MaxPowerLimit" all set to 0x0. I have no idea if this is at all related but from the symptoms it seems to me like it could be a power issue?

     

    If not, maybe someone else will have a better answer?

    Archive.zip

    post-2205-13826558086309_thumb.jpg

  6. Ugh... I hate introductions.

     

    Anyway, I'm from Santiago, Chile and am running my first ever hackintosh:

     

    (Formerly Foxconn G41MD, currently) Asus P5G41T-M LX PLUS), an Intel E7400, overclocked at 3.37GHz, 4GB DDR3 RAM an XFX Radeon HD-5570 and a few fossils: A Pioneer DVR-110D DVD/RW and an 80 GB PATA disk (which I don't use as main but I can't believe it still works so well)

     

    What got me into this? Bit of a long story. my brother got his first 386 way back in 1993, when I was still learning to read. As a result of this, I grew on the right side of the technological breach and have been using computers since being a kid. I've assembled quite a few computers and if you'd asked me 10 years ago, I would have never touched a mac.

     

    After a stint of Overclocking idiocy and hopping between Intel/AMD architectures, all the while losing interest in PC gaming and having less money, we eventually ended up with a dump of a computer. After two or three atrocious upgrades (think my current Core2Duo running with DDR400 RAM) and compatibility woes, my brother said "Oh fuck this" and got an Intel Macbook in 2006. A year later came the iPhone... and from then on, we just hopped over into the dark side. All this while, we still had this atrocious PC running (we used it as a server in our home network) and generally raining on our party, what with awful networking and 32-bits and stuff. One day, *something* broke in that setup and when we realized we needed a new motherboard (because we had one with DDR1 and AGP4x), I began looking at the cheapest ways to get it running again and then said... "Well, hey... how about we try a hackintosh? That way finally everything will work nicely together" and here we are.

     

    I'm 25 years old, I'm not an expert but I definitely know my stuff computing-wise. I know a bit of HTML, CSS, PHP, Javascript, and a few other things. Mostly though, I do all these things as a hobby because I am a doctor; not an engineer, god damn it. I've been around since games came in six floppies, "RAR 3.0" was just a trojan and ARJ was something people actually used.

     

    Oh, and I can translate stuff. My first tongue is Spanish, so there's that.

×
×
  • Create New...