djhansel Posted March 30, 2013 Share Posted March 30, 2013 Hi guys, I recently installed Mountain Lion on my toshiba laptop. When I boot the laptop screen turns black and it only outputs video through the HDMI port. I tried different DSDT hacks as well as hex editing AppleIntelSNBGrpahicsFB.kext custom connector, but had no luck. If I remove the IntelHD kexts it comes up on the laptop's monitor but i get no hardware acceleration. I attached my IORegistryExplorer, any help or guidance will be greatly appreciated. I can give any other information about my system upon request. MacBook Pro.zip Link to comment Share on other sites More sharing options...
mengrh Posted March 30, 2013 Share Posted March 30, 2013 Your display is TOS5091, Which was confirmed can not be used for lion/ML. No EDID available. You may contact TOSHIBA to get the EDID. VNC is ok to check the kext loader status. Link to comment Share on other sites More sharing options...
djhansel Posted March 30, 2013 Author Share Posted March 30, 2013 Your display is TOS5091, Which was confirmed can not be used for lion/ML. No EDID available. You may contact TOSHIBA to get the EDID. VNC is ok to check the kext loader status. Hi mengrh, Thanks for your response. Do you know if it's possible to do any type of EDID injection, or to replace the LCD panel with one that does output EDID information? I was thinking on replacing the panel with a higher resolution one anyways. Link to comment Share on other sites More sharing options...
djhansel Posted March 30, 2013 Author Share Posted March 30, 2013 Ok, I did a little bit of digging and found this thread I'll give it a try once I get home and report back. Link to comment Share on other sites More sharing options...
stacyk819 Posted March 30, 2013 Share Posted March 30, 2013 Hi Ihave the same display on a different laptop (portege r700) like dj hansel said it does not work. You can try EDID injection but it did not work for me, basically toshiba displays have bad edids/ do not output information. If you try to read edid from linux it wont give you anything. Theres a program called MonINfo : http://www.entechtaiwan.com/util/moninfo.shtm for windows that reads edid information but you can see with our display that it is generated by the windows driver (says registry, active NOT Real-time like it should). there are programs that You can get to edit your EDID such as EDID-rw for linux: https://github.com/bulletmark/edid-rw and Phoenix EDID designer for windows: http://www.tucows.com/preview/329441 but you risk ruining your display if you make a mistake. I haven't tried either because I use the laptop for work and dont want to risk ruining my display but someone with more knowledge might be able to come up with a solution this way. (i thought about writing the EDID from Windows to my display using one of the programs but dont know if that will work) Link to comment Share on other sites More sharing options...
stacyk819 Posted March 31, 2013 Share Posted March 31, 2013 I just found out that the panel is a LCD Panel Samsung LTN133AT25-601 with modified EDID maybe if we could write the original EDID that would solve the problem Link to comment Share on other sites More sharing options...
djhansel Posted March 31, 2013 Author Share Posted March 31, 2013 OK, so I tried getting the EDID with linux and it didn't work I got all kinds of errors. I used some software in Windows and was able to pick up an EDID not sure if real or not. Here is the EDID I got: Time: 0:12:44 Date: Sunday, March 31, 2013 EDID Manager Version: 1.0.0.14 ___________________________________________________________________ Block 0 (EDID Base Block), Bytes 0 - 127, 128 BYTES OF EDID CODE: 0 1 2 3 4 5 6 7 8 9 000 | 00 FF FF FF FF FF FF 00 51 F3 010 | 91 50 01 00 00 00 0E 10 01 03 020 | 80 1F 11 FF 2F 00 00 A0 57 49 030 | 9B 26 10 48 4F 00 00 00 01 01 040 | 01 01 01 01 01 01 01 01 01 01 050 | 01 01 01 01 30 1C 56 A0 50 00 060 | 12 30 30 20 35 00 35 AE 10 00 070 | 00 18 00 00 00 FC 00 49 6E 74 080 | 65 72 6E 61 6C 20 4C 43 44 0A 090 | 00 00 00 FD 00 00 3C 00 B7 08 100 | 00 00 00 00 00 00 00 00 00 00 110 | 00 00 00 00 00 00 00 00 00 00 120 | 00 00 00 00 00 00 00 96 (8-9) ID Manufacture Name : TOS (10-11) ID Product Code : 5091 (12-15) ID Serial Number : N/A (16) Week of Manufacture : 14 (17) Year of Manufacture : 2006 (18) EDID Version Number : 1 (19) EDID Revision Number: 3 (20) Video Input Definition : Digital (21) Maximum Horizontal Image Size: 31 cm (22) Maximum Vertical Image Size : 17 cm (23) Display Gamma : 3.55 (24) Power Management and Supported Feature(s): Active Off/Very Low Power, RGB Color, sRGB, Preferred Timing Mode, Default GTF Supported (25-34) Color Characteristics Red Chromaticity : Rx = 0.625 Ry = 0.336 Green Chromaticity : Gx = 0.281 Gy = 0.602 Blue Chromaticity : Bx = 0.148 By = 0.062 Default White Point: Wx = 0.281 Wy = 0.305 (35) Established Timings I (Not Used) (36) Established Timings II (Not Used) (37) Manufacturer's Timings (Not Used) (38-53) Standard Timings (Not Used) (54-71) Detailed Descriptor #1: Preferred Detailed Timing (1366x768 @ 60Hz) Pixel Clock : 72.16 MHz Horizontal Image Size : 309 mm Vertical Image Size : 174 mm Refresh Mode : Non-interlaced Normal Display, No Stereo Horizontal: Active Time : 1366 Pixels Blanking Time : 160 Pixels Sync Offset : 48 Pixels Sync Pulse Width: 32 Pixels Border : 0 Pixels Frequency : 47 kHz Vertical: Active Time : 768 Lines Blanking Time : 18 Lines Sync Offset : 3 Lines Sync Pulse Width: 5 Lines Border : 0 Lines Digital Separate, Horizontal Polarity (-), Vertical Polarity (-) Modeline: "1366x768" 72.160 1366 1414 1446 1526 768 771 776 786 -hsync -vsync (72-89) Detailed Descriptor #2: Monitor Name Monitor Name: Internal LCD (90-107) Detailed Descriptor #3: Monitor Range Limits Horizontal Scan Range: 0kHz-183kHz Vertical Scan Range : 0Hz-60Hz Supported Pixel Clock: 80 MHz Secondary GTF : Not Supported (108-125) Detailed Descriptor #4: Defined by Manufacturer (126-127) Extension Flag and Checksum Extension Block(s) : 0 Checksum Value : 150 ___________________________________________________________________ System Information Summary: Processor : Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz Operating System : Microsoft Windows 7 Ultimate OS Version : 6.1.7600 Service Pack : 0.0 Video Controler: Device ID : VideoController1 Name : Intel(R) HD Graphics Family Adapter Compatibility: Intel Corporation Video Processor : Not Available Video RAM : Not Available Availability : Offline Driver Version : 6.14.10.5394 PNP Device ID : PCI\VEN_8086&DEV_0116&SUBSYS_00041179&REV_09\3&11583659&0&10 Resolution : Not Available Max Refresh Rate : Not Available Min Refresh Rate : Not Available Current Refresh Rate : Not Available Current Scan Mode : Not Available Status : OK ___________________________________________________________________ I tried to do an override and now I get the "SNB Framebuffer did not show up, unload" so that means that something else is happening. Oh and I also tried to do the whole edid-rw thing but that didn't work. I'm gessing that is because linux is having issues with reading the EDID. I will keeep on trying and will post any updates. Link to comment Share on other sites More sharing options...
stacyk819 Posted March 31, 2013 Share Posted March 31, 2013 This EDID information is the same as mine (the TOS5091) which someone already confirmed wouldnt work. I found out from doing a little reasearch that Toshiba re-writes the EDIS on their lcd screen in laptops which are causeing all sorts of error with people and linux/ osx. Im not really sure how to fix it but I think that a solution would be to write a different EDID like I said. The problem would be finding the EDID information as no database exists or anything like that you might not need to do an edid rewrite afterall. apprently someone found a solution here : http://www.tonymacx86.com/lion-laptop-support/42622-solved-lvds-full-qe-ci-hd3000-toshiba-r835-z835-ok.html Link to comment Share on other sites More sharing options...
djhansel Posted April 1, 2013 Author Share Posted April 1, 2013 This EDID information is the same as mine (the TOS5091) which someone already confirmed wouldnt work. I found out from doing a little reasearch that Toshiba re-writes the EDIS on their lcd screen in laptops which are causeing all sorts of error with people and linux/ osx. Im not really sure how to fix it but I think that a solution would be to write a different EDID like I said. The problem would be finding the EDID information as no database exists or anything like that you might not need to do an edid rewrite afterall. apprently someone found a solution here : http://www.tonymacx8...35-z835-ok.html OK I'm doing a fresh re-install and trying this solution, I will post if it works for me or not. Thanks for the find stacyk819! Link to comment Share on other sites More sharing options...
djhansel Posted April 2, 2013 Author Share Posted April 2, 2013 Well something is wrong because now I always get the "SNB Framebuffer did not show up, unload" even without DSDT or any patches. I'm going to re-create my install stick and do another re-installation. Once I get everything working, I'll post a guide with the steps I took. Link to comment Share on other sites More sharing options...
djhansel Posted April 4, 2013 Author Share Posted April 4, 2013 Finally!!!! I did a fresh re-install, updated to 10.8.3, applied the EDID DSDT injection patch described here, and my laptop's LCD got recognized by OSX. As far as steps I followed this post: Finally I had time to work some more on my laptop. (no more phd to write ) Current state of things: LVDS working completely, QE/CI, HDMI working under OSX Lion 10.7.3 It works either as Macbook Air 4,1 or Pro 8,1 Now the guide: To access your OSX: 1.) You can use an HDMI capable monitor. Start the computer with the HDMI plugged in. 2.) If you don't have HDMI boot to single user mode (-s flag), and rename AppleIntelSNBGraphicsFB.kext to AppleIntelSNBGraphicsFB.kext.backup, so it wont load. This way I got my LVDS at 720p resolution. First update to 10.7.3. You can use either the combo update or through software update. I used champlist to set my SMBIOS to macbook pro 8,1.smbios.plist Download DSDTSE and extract your DSDT. In the GFX or IGP (IGPU) device section (depending on what you have) insert the following code just at the beginning: After this: Device (GFX0) { Name (_ADR, 0x00020000) Insert this: Method (_DSM, 4, NotSerialized) { Store (Package (0x1E) { "device_type", Buffer (0x08) { "display" }, "built-in", Buffer (One) { 0x01 }, "AAPL00,backlight-control", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "AAPL,snb-platform-id", Buffer (0x04) { 0x00, 0x00, 0x01, 0x00 }, "AAPL00,blackscreen-preferences", Buffer (0x04) { 0x00, 0x00, 0x00, 0x08 }, "VRAM,totalsize", Buffer (0x04) { 0x00, 0x00, 0x00, 0x20 }, "device-id", Buffer (0x04) { 0x16, 0x01, 0x00, 0x00 }, "vendor-id", Buffer (0x04) { 0x86, 0x80, 0x00, 0x00 }, "model", Buffer (0x17) { "Intel HD Graphics 3000" }, "AAPL,HasLid", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "AAPL,HasPanel", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "AAPL,NumDisplays", Buffer (0x04) { 0x02, 0x00, 0x00, 0x00 }, "AAPL,NumFramebuffers", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "AAPL,DualLink", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "AAPL00,override-no-edid", Buffer (0x80) { /* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, /* 0008 */ 0x51, 0xF3, 0x91, 0x50, 0x04, 0x00, 0x00, 0x00, /* 0010 */ 0x0E, 0x10, 0x01, 0x03, 0x80, 0x1D, 0x11, 0xFF, /* 0018 */ 0x2F, 0x00, 0x00, 0xA0, 0x57, 0x49, 0x9B, 0x26, /* 0020 */ 0x10, 0x48, 0x4F, 0x00, 0x00, 0x00, 0x01, 0x01, /* 0028 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, /* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xC6, 0x1D, /* 0038 */ 0x56, 0x02, 0x51, 0x00, 0x0C, 0x30, 0x22, 0x70, /* 0040 */ 0x12, 0x00, 0x27, 0xA6, 0x10, 0x00, 0x00, 0x18, /* 0048 */ 0xDA, 0x13, 0x56, 0x02, 0x51, 0x00, 0x0C, 0x30, /* 0050 */ 0x22, 0x70, 0x12, 0x00, 0x27, 0xA6, 0x10, 0x00, /* 0058 */ 0x00, 0x18, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x49, /* 0060 */ 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x20, /* 0068 */ 0x4C, 0x43, 0x44, 0x0A, 0x00, 0x00, 0x00, 0xFD, /* 0070 */ 0x00, 0x00, 0x3C, 0x00, 0x3D, 0x08, 0x00, 0x00, /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } In the above code there a three places to make changes according to your "VRAM,totalsize", Buffer (0x04) { 0x00, 0x00, 0x00, 0x20 }, change 0x20 to fit your laptop: 0x18 for 384 MB VRAM size (4GB or less memmory) 0x20 for 512 MB VRAM "device-id", Buffer (0x04) { 0x16, 0x01, 0x00, 0x00 }, Change 0x16, 0x01 to your device id. This is for 116-8086 You can find out yours under Windows (device manager for example, or use AIDA64) or Linux The third part to change is "AAPL00,override-no-edid", Find out your EDID under Windows or Linux and replace my code. (easy under Windows with this:http://www.entechtai...il/moninfo.shtm) What is very important is to use "AAPL,DualLink", not AAPL00 or 01. This was the reason why it wasn't working for me previously. To get display brightness slider you need to insert the following code in Scope SB, after the _INI method: Device (PNLF) { Name (_HID, EisaId ("APP0002")) Name (_CID, "backlight") Name (_UID, 0x0A) Name (_STA, 0x0B) } Compile your DSDT and install it. If you have renamed your KEXT, please restore it. Use kext utility to correct KEXT errors. You are done, reboot. Link to comment Share on other sites More sharing options...
Recommended Posts