HFW Posted April 13, 2011 Share Posted April 13, 2011 Based this on some code I found for ATI Radeon HD 5770 in DSDT... posted it in the topic for ATI 5770. There's probably some code here that isn't actually needed for injection of Framebuffer and whatever else is needed but I'm not sure what's safe to remove =/ Device (GFX0) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x05 }) OperationRegion (PEGH, PCI_Config, Zero, 0x40) Field (PEGH, ByteAcc, NoLock, Preserve) { VID0, 16, DID0, 16 } Method (_DSM, 4, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B })) { If (LNotEqual (And (VID0, 0xFFFF), 0xFFFF)) { Store (Package () { "@0,compatible", Buffer () { "ATY,Vervet" }, "@0,name", Buffer () { "ATY,Vervet" }, "@1,compatible", Buffer () { "ATY,Vervet" }, "@1,name", Buffer () { "ATY,Vervet" }, "@2,compatible", Buffer () { "ATY,Vervet" }, "@2,name", Buffer () { "ATY,Vervet" }, "AAPL00,blackscreen-preferences", Buffer () { 0x00, 0x00, 0x00, 0x08 }, "AAPL01,Coherency", Buffer () { 0x02, 0x00, 0x00, 0x00 }, "device_type", Buffer () { "ATY,VervetParent" }, "model", Buffer () { "ATI Radeon HD 5770" }, "name", Buffer () { "ATY,VervetParent" }, "hda-gfx", Buffer () { "onboard-1" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Return (0x80000002) } } Of course, you'll need to know what PCIE address your GPU is at and add a device for that too. Vervet should of course be changed to the framebuffer for your card & I think you know what to do with model? And if anyone has suggestions for what else can be removed, shoot. I realise some don't like adding add-on cards to DSDT, so for those people, feel free not to use this. I personally don't like having to rely on kexts or Chameleon to get my GPU working. Hope this is useful to someone anyway... 1 Link to comment Share on other sites More sharing options...
Recommended Posts