majrul Posted February 13, 2012 Posted February 13, 2012 Hi, I am facing all those artifacts on my ASUS X53SC Laptop and found that many were able to solve the problem by editing the DSDT by adding the following code: Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "AAPL00,DualLink", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } But the problem is that the DSDT for my system already contains the following method with this code: Method (_DSM, 4, Serialized) { Name (_T_0, Zero) If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B, 0x1B, 0x47, /* 0008 */ 0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5, 0xBE, 0xE0 })) { Store (Zero, Local0) Store (ShiftLeft (DerefOf (Index (Arg3, 0x03)), 0x18), Local0) Add (ShiftLeft (DerefOf (Index (Arg3, 0x02)), 0x10), Local0, Local0) Add (ShiftLeft (DerefOf (Index (Arg3, One)), 0x08), Local0, Local0) Add (ShiftLeft (DerefOf (Index (Arg3, Zero)), Zero), Local0, Local0) If (LNotEqual (Arg1, 0x0100)) { Return (Buffer (0x04) { 0x02, 0x00, 0x00, 0x80 }) } Store ("Optimus _DSM is called ", Debug) While (One) { Store (Arg2, _T_0) If (LEqual (_T_0, 0x00)) { Store ("Optimus _DSM subfunc 0, return 0x04000001 ", Debug) Return (Buffer (0x04) { 0x01, 0x00, 0x03, 0x04 }) } Else { If (LEqual (_T_0, 0x1A)) { Store ("Optimus _DSM subfunc 26 ", Debug) If (And (Local0, One)) { ShiftRight (Local0, 0x18, Local2) If (LEqual (Local2, 0x03)) { Store ("Optimus _DSM subfunc 26, OMPR=3", Debug) Store (0x03, \OMPR) } If (LEqual (Local2, 0x02)) { Store (0x02, \OMPR) } } If (LEqual (\PO54, Zero)) { Return (Buffer (0x04) { 0x59, 0x00, 0x00, 0x01 }) } Else { Return (Buffer (0x04) { 0x41, 0x00, 0x00, 0x01 }) } } Else { Return (Buffer (0x04) { 0x02, 0x00, 0x00, 0x80 }) } } Break } } Return (0x00) } Because i am very new to DSDT patching, i am unable to understand where should i incorporate the changes required so that i can make Intel HD 3000 Graphics work smoothly. I even tried some heroic things but then the output was a blank screen. Please help me in editing this _DSM method. My device id is 116.
Cassio Posted February 13, 2012 Posted February 13, 2012 I would try replacing Return (0x00) by Store (Package (0x02) { "AAPL00,DualLink", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) Or replace the existing _DSM by the new one, since it looks like to be related to nVidia Optimus, which doesn't work in hackintosh. -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
majrul Posted February 15, 2012 Author Posted February 15, 2012 Hi Cassio, Thanks a lot for the suggestion. I see you are almost replying to all the posts here. That's great! People come to this forum for help and they don't return back disappointed. Hats off! My problem hasn't got resolved. I've tried all different DSM methods i could find, tried replacing the existing one as you recommended, also tried modifying the default one with the extra stuff, but none of them are removing the artifacts on my Laptop. QE/CI is also not working. In the game of Chess, after 2 moves, the game hangs. So please guide me as to what can i do..
Cassio Posted February 15, 2012 Posted February 15, 2012 Maybe your problem needs more than injecting properties in ioreg, like patching connector info or VRAM size in kexts. http://www.insanelymac.com/forum/index.php?showtopic=259705 http://revogirl.wordpress.com/2011/08/21/curing-the-intel-hd-3000-artifacts/ http://revogirl.wordpress.com/2012/01/29/about-vrammethod-and-vramsize-properties/ -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
majrul Posted February 17, 2012 Author Posted February 17, 2012 I did go through with the revogirl's blogs to increase the VRAM size and i was able to do so. But still bad luck. No QE/CI. If i play the game of chess, after 2 moves, it's still the same old story of freeze.
majrul Posted February 22, 2012 Author Posted February 22, 2012 After multiple attempts, i have still not succeeded in making the display work 100%. I don't know why DSDT editing of _DSM method is not working for me. The only result i see if i edit the DSDT is a garbage screen. My device id is 116, so the system detects the card only if i set GraphicsEnabler=No and if set to Yes, it will show the card as unknown. Increasing the VRAM also didn't help. Still those artifacts are haunting me. Everytime i play the game of Chess, it hangs after 2 moves. Someone please help!
Cassio Posted February 22, 2012 Posted February 22, 2012 This guy was having the same problem and found that the problem is in the LCD, he replaced the display (physically) and the problem is gone http://Olarila.com/forum/viewtopic.php?f=6&t=924 (portuguese) -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now