2

Author Topic: Can I cause drivers to match on hardware using altered Device IDs?  (Read 2085 times)

0 Members and 1 Guest are viewing this topic.

tempolo

  • Member
  • Posts: 82
    • My own Hackintosh page
Here's the issue:

My Asus 1008HA has a Atom N850 CPU and a GSE945 chip that includes a GMA950 compatible(?) graphics unit.

Apple's original drivers (as of 10.5.7) do not match on the graphic because its Device ID is 0x27AE, while the driver only matches on 0x27A2 and a few others.

I've seen GMA950 driver replacements that have got these values patched so that they match on the hardware. But that's not good, because (a) that violates Apple's copyright by redistributing their (modified) software without a license for that. Additionally, if Apple updates their own GMA driver, the patched version needs to be updated as well, possibly, to keep up.

So I wonder if it's instead possible - from within Chameleon - to alter the IO Registry tree in a way that makes the Apple GMA driver believe it has a supported device in front of it, and thus goes ahead to drive it.

I suspect there could be two ways to accomplish that:

1. We could provide Chameleon with a mapping, e.g. inside the Boot.plist file, where it specifies which device IDs to replace or add to the Device Tree. This is probably not implement yet, but I wonder if we could get this added. Would it make sense that way?

2. If I understand the purpose of the dsdt.aml file correctly, it represents a device tree, in fact. I suppose this means one could create it, then alter it as needed. Only problem is that I have no clue of how this file is organized, how to find the device inside, and how to alter it properly. Are there tools for this, maybe?

Actually, I found this post which contains a dsdt patch with instructions for something that sounds like what I need: http://www.insanelymac.com/forum/index.php?showtopic=143340

However, as he points out ("does not work with most Laptops") and I can confirm, it does not work with my netbook because the instructions want me to find a "Scope (_SI)" which doesn't exist.

Unfortunately, they patch is too cryptic for me to make any sense out of it. Anyone knowing a bit more?
« Last Edit: June 22, 2009, 08:34:53 PM by tempolo »

Superhai

  • VoodooLabs
  • Posts: 102
Re: Can I cause drivers to match on hardware using altered Device IDs?
« Reply #1 on: June 23, 2009, 12:30:37 AM »
No, the match tree is created from probing PCI. You could maybe patch your device to use another id. But that is highly not recommended. Or make a kext that changes the matchtree and the pci-id, but maybe that will break something else. Chameleon is too early in the chain to do any of this purpose in a proper manner.