jrrjrr Posted January 22, 2007 Share Posted January 22, 2007 This is work towards a new set of kexts that will work in more situations than the present Natit and Titan sets do. Particularly for people with laptops. Avoiding the clip trick is one part of it. Link to comment Share on other sites More sharing options...
Jabba_ Posted January 22, 2007 Share Posted January 22, 2007 you can't fake EDID it's must be exact for your LCD or won't work btw what is this panel max resolution ? Ah, I'm loosing hope again... Max resolution is 1440x900. By the way! I studied Bimmers files -since our laptops are almost the same - and I saw this in one of his ATI kexts: <key>AAPL,EDID</key> <data><00ffffff ffffff00 06101d92 ...> But Bimmer claims that it is working for him on a zd8000. Which has the same internal display as mine. And as you can see it from the EDID line, his EDID is also for an Apple display! To make it clear here's what I get from MonInfo: For the 1st output it is default monitor on NVidia GeForce FX Go5600 and no EDID. For the 2nd output it is Apple monitor on Auxiliary port with this EDID: Monitor Windows description......... Apple Monitor Manufacturer description.... Color LCD Manufacturer................ Apple ———————————————————————————— Plug and Play ID............ APP9C2C Serial number............... n/a EDID data source............ I2C bus (real-time) ———————————————————————————— Manufacture date............ 2003, ISO week 1 EDID revision............... 1.3 Display type and signal..... Digital Sync input support.......... n/a Screen size................. 370 x 230 mm (~18") Power management............ n/a Color characteristics Display gamma............... 2.20 Red chromaticity............ Rx 0.609 - Ry 0.340 Green chromaticity.......... Gx 0.324 - Gy 0.550 Blue chromaticity........... Bx 0.145 - By 0.114 White point (default)....... Wx 0.319 - Wy 0.329 Timing characteristics VESA GTF support............ Not supported Horizontal scan range....... n/a Vertical scan range......... n/a Video bandwidth............. n/a Extension blocks............ n/a Timing recommendation #1.... 1440x900 at 60Hz Modeline................ "1440x900" 96.210 1440 1504 1536 1760 900 903 906 912 -hsync -vsync Standard timings supported n/a Raw EDID base 00: 00 FF FF FF FF FF FF 00 06 10 2C 9C 00 00 00 00 10: 01 0D 01 03 80 25 17 78 0A 03 1D 9C 57 53 8C 25 20: 1D 51 54 00 00 00 01 01 01 01 01 01 01 01 01 01 30: 01 01 01 01 01 01 95 25 A0 40 51 84 0C 30 40 20 40: 33 00 6F E6 10 00 00 18 00 00 00 01 00 06 10 30 50: 00 00 00 00 00 00 00 00 0A 20 00 00 00 FE 00 4C 60: 50 31 37 31 57 30 31 00 00 00 0A 20 00 00 00 FC 70: 00 43 6F 6C 6F 72 20 4C 43 44 0A 20 20 20 00 56 Link to comment Share on other sites More sharing options...
claps Posted January 22, 2007 Share Posted January 22, 2007 Hi i have an inspiron 8500 with a Geforce4 4200 Go and i have managed to get QE working with natit. oh god, I've been waiting for this ! Could you please go on this topic and explain how you got your nvidia working ? Link to comment Share on other sites More sharing options...
joshlawless Posted January 22, 2007 Share Posted January 22, 2007 you need to add one key to File DisplayProductID-1247 ( file you create with displayutility) under "IOGFlags" add this IODisplayEDID as key , type is data, and paste your EDID ie 00FFFFFFFFFFFF0006AF471200000000010F0103801E13780A87C594574F8C272550540000000101 1010101010101010101010101013822A0A050840C303020360030BE100000180000000F000000000 000000000000000020000000FE0041554F0A202020202020202020000000FE 004231343150573031205632200A006D safe file and reboot use plist editor ! np_, Thanks for the response. I have already added the IODisplayEDID value using Plist editor as described in a previous post. Doing so dumps a file that looks like this: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>DisplayProductID</key> <integer>4679</integer> <key>DisplayProductName</key> <string>Asus LCD</string> <key>DisplayVendorID</key> <integer>1711</integer> <key>IODisplayEDID</key> <data> AP///////wAGr0cSAAAAAAEPAQOAHhN4CofFlFdPjCclUFQAAAABAQEBAQEBAQEBAQEB AQEBOCKgoFCEDDAwIDYAML4QAAAYAAAADwAAAAAAAAAAAAAAAAAgAAAA/gBBVU8KICAg ICAgICAgAAAA/gBCMTQxUFcwMSBWMiAKAG0= </data> <key>IOGFlags</key> <integer>4</integer> <key>dmdg</key> <data> AAAAAg== </data> </dict> </plist> Are you indicating that I should replace the "AP//// . . . KAG0=" information in this file with the EDID in plaintext, separated into eight-character blocks? Also, PList editor placed the <key> IODeviceEDID before IOFlags, presumably organizing them alphabetically. Is it important to reorder them in the outputted file manually? As you can see, I have renamed the default "Color LCD" to "Asus LCD" to see if this file is being loaded while booting. It would appear not, as the system profiler shows "Color LCD" Finally, I note that nearly _EVERY_ extension (except IOKIT) in system profiler has dependency issues. Namely, none of them can find a valid version of iokit or anything dependent therefrom. Does anyone else have this issue, with at least half a dozen dependency errors for almost EVERY extension? Link to comment Share on other sites More sharing options...
sheriffbounce Posted January 22, 2007 Share Posted January 22, 2007 (edited) ... laptopdisplay working.... then the problem is my ati drivers!! callisto, atiinject etc.. not working!!! i do know.... dear alexxxxxx attached you can find the correct atiinject.kext for your internal display (if the EDID you provided was correct) grab the files posted in the mobilityx1600 thread and use them together with this atiinject.kext i did NOT prepare you the inject with external monitor working for 2 reasons:- it's not perfectly working(screen splitted mainly on ASUS machines) -you should learn how to edit the files yourself since it's perfectly described in the other thread... cheers sheriff ATIinject.kext_alexxxxxx.zip Edited January 22, 2007 by sheriffbounce Link to comment Share on other sites More sharing options...
Alexxxxxx Posted January 23, 2007 Share Posted January 23, 2007 thank scerif! i try your file now!!! thank again... if i have problem i write in this post all information... to solve it! Link to comment Share on other sites More sharing options...
Alexxxxxx Posted January 23, 2007 Share Posted January 23, 2007 (edited) scheriff: your Atiinject not working! the procedure do from me to install ati inject is: copy your atiinject in extensions.. copy relates file in extensions (ATINDRV.kext ... IONDRVSupport.kext) repair permissions from diskutils and from terminal: cd /System/Library/Extensions sudo chown -R root:wheel ATIinject.kext sudo chmod -R 755 ATIinject.kext and remove from library the 2 cache files... restart... at restart (-v parameter) my screen is posted... my screen is blocked to image attach... solutions??? Edited January 23, 2007 by Alexxxxxx Link to comment Share on other sites More sharing options...
King George Posted January 23, 2007 Share Posted January 23, 2007 Hi everyone, First: great stuff going on here, really! Ï hope It's OK to consult you about my situation here... After QE/CI on external monitor only, getting my laptop back to being a laptop seems to be the next step... Here's what I've done so far: -Got EDID from moninfo, made file with DisplayUtitity (showed correct DeviceID), added 2 lines in Info.plist with EDID key -Put this file in overrides folder and fix permissions -Put Laptopdisplay and IOGraphicsfamily in extensions folder, fixed perm and own -Deleted extensions.kextcache and extensions.mkext In this state, I can boot the machine without QE or CI, but system profiler shows "color LCD", that's some progress already... BUT When I move NvidiaEFI.kext into the extensions folder, I have a black screen (and probably image on VGAout) When I move natit or titan in, same as usual, black screen and QECI display on VGA output. When -v booting with NvidiaEFI, I can see something like: .... NVDANV40hal loaded and registered IOPanelDevice: Machine is Laptop! IOPanelDevice: Registered OK! IOPanelDevice: Started OK! NGFX: family specific matching fails NV:NVidiaEFI support version 1.0.1, build .... Internal LCD Panel Detected on output: A, Head N: 0 Internal LCD Panel Max Resolution: 1280x800 (which is correct) ... Is there something (sorry if it's obvious ) that I forget doing? Some way of using natit/titan/NvidiaEFI with this detected panel? One more question... Is nvidiaEFI a kext to use with others, or is it a standalone QE/CI-"driver" like natit and titan? Thanks, Regards KG Link to comment Share on other sites More sharing options...
Mr. Green Posted January 23, 2007 Share Posted January 23, 2007 open LaptopDisplay plist look for key "brightness" and modifity "max" from 100 to 255 min from 0 to 31 and try again if not work set max = 31 , min = 4 No workie. Both displays now detected as "Color LCD" with same proper resolutions on internal display but many very high unsupported resolutions on external. QE continues to work, but i still get fade to white on internal monitor. Link to comment Share on other sites More sharing options...
jakey39 Posted January 23, 2007 Share Posted January 23, 2007 Well after lots of reading buggering around, I've finally got the lcd display on my Samsung X60 with ATI X1400 to work properly check out my screen capture. I followed BorisBadenov X1600/X1800 instructions here just had to add the extra lines to the end of the Info.plist in ATIDRV.kext file because they weren't there. Also used pico as my text editor. if anybody wants a copy of my plist files for their x1400, just email me Hope this works for other ATI mobilty X1400 cards too.... Jakey39 ati_display.tiff Link to comment Share on other sites More sharing options...
jakey39 Posted January 23, 2007 Share Posted January 23, 2007 (edited) Hi All just a quick add on to my earlier post. In System Profile my device ID is 0x7145 and Vendor ID is 1002; in the example that BorisBadenov gave for getting the drivers working, there is a 'c' in the device id. I couldn't find this on my card(but mine is an ATI Moblity X1400, so that could be why) Also I couldn't find emacs, so used pico instead Anyhow, if any body wants a copy of the modified files, just email and I'll gladly send them Jakey39 Edited January 24, 2007 by jakey39 Link to comment Share on other sites More sharing options...
Mr. Green Posted January 23, 2007 Share Posted January 23, 2007 I have replaced Natit with NvidiaEFI. Now, when i boot, by external monitor is still detected properly, but my internal monitor is detected the same as my external with the same resolutions and name. However, when i press "detect displays", the internal monitor is detected as Color LCD with proper resolutions. The screen is white the whole time, and doesn't change when i press detect displays, although it becomes properly detected. I think the LaptopDisplay.kext is not initilized at startup wth NvidiaEFI, and requires pressing "detect displays", but by then, the screen is already having problems. I tried changing the brightness settings as np_ told me, and that seemed to have some effect on what the white screen looks like as it is fading. I also added the EDID key and my EDID to the file produced by DisplayUtility, but that didnt do it either. Just trying to be as helpful as I can thanks for all your work np_ Link to comment Share on other sites More sharing options...
Guest goodtime Posted January 24, 2007 Share Posted January 24, 2007 (edited) | +-o backlight <class IOPanelDevice, registered, matched, active, busy 0,$ | | { | | "IOProbeScore" = 0 | | "IOResourceMatch" = "ACPI" | | "IOClass" = "IOPanelDevice" | | "name" = "backlight" | | "compatible" = <"backlight"> | | "IOProviderClass" = "AppleACPIPlatformExpert" | | "CFBundleIdentifier" = "com.free.LaptopDisplay" | | "IOMatchCategory" = "IOPanelDevice" | | } | | | +-o LaptopPanelA <class LaptopPanelA, !registered, !matched, active, b$ | { | "IOMatchCategory" = "IODefaultMatchCategory" | "IOClass" = "LaptopPanelA" | "IODisplayParameters" = {"brightness"={"min"=0,"max"=255},"commit$ | "IOProviderClass" = "IOPanelDevice" | "IONameMatched" = "backlight" | "CFBundleIdentifier" = "com.free.LaptopDisplay" | "IONameMatch" = "backlight" | "IOProbeScore" = 0 | } | | Just curious. Seems to load correctly on my ATI Radeon 9200 Mobility. What does Laptopdisplay.kext and NVidiaEFI.kext do? Do I need to use them in conjunction with Callisto b003, AGPGart 2.1 or 2.2, Natit, ATI Radeon 8500 Kext's? Thanks for your help and doing something cool for Laptop users! LaptopDisplay: Version: 1.0.0d1 Last Modified: 1/23/07 9:53 PM Get Info String: LaptopDisplay 1.0.0d1, Copyright 2007 Free Computer, Inc. Location: /System/Library/Extensions/LaptopDisplay.kext kext Version: 1.0.0d1 Load Address: 0x316ed000 Valid: Yes Authentic: Yes Dependencies: Incomplete Dependency Errors: com.apple.iokit.IONDRVSupport: No valid version of this dependency can be found Integrity: Unknown Which Version of the IONDRVSupport kext should we be using? I have 1.4.3 loaded. gt Edited January 24, 2007 by goodtime Link to comment Share on other sites More sharing options...
joshlawless Posted January 24, 2007 Share Posted January 24, 2007 Well, I'm stymied. I reinstalled 10.4.8 a few times, to figure out and fix the dependency issues in system profiler. I have not been able to get the monitor information to work (i.e., I'm still stuck at 1024x768). I am attaching the output from moninfo.exe, including my EDID. Using that EDID, I generated the attached DisplayProductID-1247 (which is located in a DisplayVendorID-06af folder, and which I have zipped to satisfy the upload requirements) I have also added the EDID information to this file using the Plist editor, as you can see from the IODisplayEDID <key> I have installed the most recent laptopdisplay.kext (from totest.zip posted by np_), with correct permissions, and the updated iographicsfamily.kext (the one with probescore set to 0). I tried it with and without nvidiaefi.kext. Still no luck. Sytem profiler indicates that the laptopdisplay.kext has dependency issues with iographicsfamily and ionvdrvsupport. both kexts are present and claim to be loaded when I run "kextload -t" on them in terminal. I see iographicsfamily in the system profiler, but not iondrvsupport. Has anyone figured out how to solve the dependency issues for laptopdisplay.kext? Are these dependency issues what are preventing me from getting full resolution out of my monitor? moninfo_output.txt DisplayProductID_1247.zip Link to comment Share on other sites More sharing options...
sheriffbounce Posted January 24, 2007 Share Posted January 24, 2007 scheriff: your Atiinject not working! the procedure do from me to install ati inject is: copy your atiinject in extensions.. copy relates file in extensions (ATINDRV.kext ... IONDRVSupport.kext) repair permissions from diskutils and from terminal: cd /System/Library/Extensions sudo chown -R root:wheel ATIinject.kext sudo chmod -R 755 ATIinject.kext and remove from library the 2 cache files... restart... at restart (-v parameter) my screen is posted... my screen is blocked to image attach... solutions??? then the EDID you gave me was not the correct one... Link to comment Share on other sites More sharing options...
np_ Posted January 24, 2007 Author Share Posted January 24, 2007 Using that EDID, I generated the attached DisplayProductID-1247 (which is located in a DisplayVendorID-06af folder, and which I have zipped to satisfy the upload requirements) I have also added the EDID information to this file using the Plist editor, as you can see from the IODisplayEDID <key> can you rename folder DisplayVendorID-06af to DisplayVendorID-6af and try again Link to comment Share on other sites More sharing options...
joshlawless Posted January 24, 2007 Share Posted January 24, 2007 can you rename folder DisplayVendorID-06af to DisplayVendorID-6af and try again Tried renaming to DisplayVendorID-6af, still no luck. Here's what I see in System Profiler: NVIDIA GeForce Go 7700: Chipset Model: NVIDIA GeForce Go 7700 Type: Display Bus: PCIe VRAM (Total): 256 MB Vendor: NVIDIA (0x10de) Device ID: 0x0397 Revision ID: 0x00a1 Displays: Color LCD: Resolution: 1024 x 768 Depth: 32-bit Color Core Image: Not Supported Main Display: Yes Mirror: Off Online: Yes Quartz Extreme: Not Supported Display: IOGraphicsFamily: Version: 1.4.4 Last Modified: 1/22/07 9:44 PM Get Info String: 1.4.4, Copyright Apple Computer, Inc. 2000-2004 Location: /System/Library/Extensions/IOGraphicsFamily.kext kext Version: 1.4.4 Load Address: 0x41ac0000 Valid: Yes Authentic: Yes Dependencies: Satisfied Integrity: Kext is modified LaptopDisplay: Version: 1.0.0d1 Last Modified: 1/22/07 9:01 PM Get Info String: LaptopDisplay 1.0.0d1, Copyright 2007 Free Computer, Inc. Location: /System/Library/Extensions/LaptopDisplay.kext kext Version: 1.0.0d1 Load Address: 0x41b05000 Valid: Yes Authentic: Yes Dependencies: Incomplete Dependency Errors: com.apple.iokit.IOGraphicsFamily: No valid version of this dependency can be found com.apple.iokit.IONDRVSupport: No valid version of this dependency can be found Integrity: Unknown IONDRVSupport does not appear in system profiler list, but according to kextload -t iondrvsupport.kext, it is valid and already loaded. I have attached my ioreg log as well. It seems that the LaptopPanel class is there okay. Still just 1024x768 resolution, though. Any other thoughts? a8js.txt Link to comment Share on other sites More sharing options...
PopMishima Posted January 24, 2007 Share Posted January 24, 2007 (edited) Hello np_, thank you for your great work, however I still have some problem. This is what I have done so far: (using ToTest.zip and the later LaptopDisplay file) Replace 'IOGraphicFamily' in the 'Extensions' folder without changing anything, Place 'LaptopDisplay' in the 'Extensions' folder without changing anything, Place 'DisplayVendorID-3ac4' in the 'Override' folder with EDID key added in the <data> tag, Place 'NVidiaEFI.kext' in the 'Extensions' folder and edit the DevID to 0x016710DE My laptop boots up perfectly (fortunately), but without CI/QE, so I 'replace' NVidiaEFI.kext with Natit.kext, and still no CI/QE. However, I do notice that the software rendering is much much faster and smoother (or is it my processor that's working ) anyway, thank you very much and well done on your great great work. Please have a look at my IOREG files if you'd please. -- 6200go_Natit.txt 6200go_NVidiaEFI.txt Edited January 24, 2007 by PopMishima Link to comment Share on other sites More sharing options...
np_ Posted January 24, 2007 Author Share Posted January 24, 2007 Hello np_, thank you for your great work, however I still have some problem. This is what I have done so far: (using ToTest.zip and the later LaptopDisplay file) Replace 'IOGraphicFamily' in the 'Extensions' folder without changing anything, Place 'LaptopDisplay' in the 'Extensions' folder without changing anything, Place 'DisplayVendorID-3ac4' in the 'Override' folder with EDID key added in the <data> tag, Place 'NVidiaEFI.kext' in the 'Extensions' folder and edit the DevID to 0x016710DE My laptop boots up perfectly (fortunately), but without CI/QE, so I 'replace' NVidiaEFI.kext with Natit.kext, and still no CI/QE. However, I do notice that the software rendering is much much faster and smoother (or is it my processor that's working :mellow: ) anyway, thank you very much and well done on your great great work. Please have a look at my IOREG files if you'd please. -- please post full ioregs , in this one missing most import part Link to comment Share on other sites More sharing options...
np_ Posted January 24, 2007 Author Share Posted January 24, 2007 Any other thoughts? yep need new IOGraphicsFamily this one do not read displayvendor/product ID's see in your ioreg they are "0" :mellow: Link to comment Share on other sites More sharing options...
joshlawless Posted January 24, 2007 Share Posted January 24, 2007 (edited) yep need new IOGraphicsFamilythis one do not read displayvendor/product ID's see in your ioreg they are "0" Ah. I thought that this was the IOGraphicsFamily I downloaded from your totest.zip post. I'll reinstall it and try again. Are the dependency errors anything that would be preventing this from working? Thanks for all your help, by the by. Also, I notice that the DisplayVendorID in the IOreg is "1970170734" -- I can't see my MAC drive right now, but isn't there a DisplayVendorID-1970170734 folder in /system/library/displays/overrides ? Is this an apple VendorID? Edited January 24, 2007 by joshlawless Link to comment Share on other sites More sharing options...
joshlawless Posted January 24, 2007 Share Posted January 24, 2007 (edited) Also, here's a follow up thought -- Could I cheat and just rename the DisplayVendorID-06af and ProductVendorID-1247 folder and file that I generated with the display utility to match what IOReg is outputting? (e.g., DisplayVendorID-1970170734 and DisplayProductID-0) And, I presume, I would also change the Display Vendor and Display Prodct properties within the file (to their integer values) using PList editor? I mean, if IOGraphicsFamily thinks I have a VendorID of 1970170734 and a Product ID of 0, rather than trying to convince it that I have, in fact, a Vendor ID of 6af and a ProductID of 1247, I could just edit the DeviceProductID-0 file to include my EDID data string, and therefore feed it the correct resolutions / support for CI and QE. I can't try it until tonight, but what are your thoughts? Edited January 24, 2007 by joshlawless Link to comment Share on other sites More sharing options...
Alexxxxxx Posted January 24, 2007 Share Posted January 24, 2007 (edited) then the EDID you gave me was not the correct one... no sheriffbounce! my edid was correct! my laptop il blocked.. die .. not response.. at screen posted in previous post... in attach my windows screen to verify edid.... the problem for my laptop is misterious... Edited January 24, 2007 by Alexxxxxx Link to comment Share on other sites More sharing options...
nody Posted January 24, 2007 Share Posted January 24, 2007 (edited) Hello everybody, second time running test: This time LaptopDisplay.kext, NVidiaEFI.kext (with deviceID 0x034810de) didn´t understand the first time should edit, or should Not?? and modified IOGraphicsFamily.kext. System Pro reports: Display: Type: VGA-Compatible Controller Bus: PCI VRAM (Total): 256 MB Vendor: nVIDIA (0x10de) Device ID: 0x0348 Revision ID: 0x00a1 Kernel Extension Info: No Kext Loaded Displays: Color LCD: Resolution: 1280 x 1024 (this res got it by editing com.appleBoot.plist, i think all i can manage by the time is only the 1024x768, like many others) Depth: 32-bit Color Core Image: Not Supported Main Display: Yes Mirror: Off Online: Yes Quartz Extreme: Not Supported and system log Jan 24 22:15:58 localhost kernel[0]: IOPanelDevice: Machine Is Laptop! Jan 24 22:15:58 localhost kernel[0]: IOPanelDevice: Registered OK! Jan 24 22:15:58 localhost kernel[0]: LaptopPanelA: Started Ok! Jan 24 22:15:58 localhost kernel[0]: ApplePS2Trackpad: Synaptics TouchPad v5.8 Jan 24 22:15:58 localhost kernel[0]: wl0: Broadcom BCM4320 802.11 Wireless Controller Finally ioreg: ioreg_nVidiaGeForceFXGo5700.txt could you be kind to give feedback on this np_?? and give some more instructions if need it, or should i just keep on waittin for you to solv all of our problems?? Edited January 24, 2007 by nody Link to comment Share on other sites More sharing options...
joshlawless Posted January 24, 2007 Share Posted January 24, 2007 NVidiaEFI.kext (with deviceID 0x034810de) How do you edit NVidiaEFI.kext with your deviceID? I know where to do so in Natit.kext and Titan.kext, but I don't see any key in the NVidiaEFI.kext to replace. Are you adding a key to the file, and if so, where? Link to comment Share on other sites More sharing options...
Recommended Posts