Jump to content


Retired Developers
  • Content count

  • Joined

  • Last visited

About dong

  • Rank
    InsanelyMac Sage

Profile Information

  • Gender
  1. Hi mac daw, I checked your log. You have two ATI cards on your system, one is RS780, another is M82 mobility (the one you mentioned). To make RadeonHD work, you have to remove RS780 from the system or somehow disable one of the cards (maybe in BIOS setup). The mode setting of RS780 seems work based on log, but initialization of M82 failed. I am not sure if it's a result of the interfere by RS780 or not. You have to disable one to test another. And the log also shows you have to use versions of RadeonHD contain ATOMBIOS code, otherwise it just failed to retrieve connector information. Dong
  2. I am looking for another job currently. Sorry that I don't have the time now to play with 10.6.8 or lion. Please check my post #847. The linux source part are for ati hardware. It will not work for intel HD. But you can always learn something from RadoenHD.h/cpp if you want to port intel linux code. Because those two files contains the interface you should implement for Mac OSX framebuffer driver.
  3. 10.6.8 and 10.7 updated the graphic driver framework, make present RadeonHD.kext not working any more. Before I have time to rebuild a version for latest system, people can try RadeonHD.kext with 10.6.7 IOGraphicsFamily.kext, IONDRVSupport.kext, IOPCIFamily.kext and AppleACPIPlatform.kext on 10.6.8/10.7.
  4. XCode (can be freely downloaded from Apple) is the tool to program and compile kext driver. When you start a new project, it has an option for this. As above post said, a simple hello kext is just several clicks. For your purpose, you better start from Apple's open source project "IOGraphicsFamily". It's the source code for IOGraphicsFamily.kext and IONDRVSupport.kext. For some reason, the project downloaded is lacking some header files, so directly compilation will lead to a lot of errors and warnings. You will have to provide the missing header files and definitions. Some errors can only be solved by modify the source code. Once you get it done, you can get a feeling how all these works. My RadeonHD.kext main class RadeonHD is inherited from IONDRVFramebuffer (a basic framebuffer driver that does work) in that project. What I did is trying to provide missing functions by using linux driver code. So you can check RadeonHD code linked in my topic to see what can be done by us. Dong
  5. To modify kexts, you better start from posts in "Graphic cards" section. PPL have done a lot research on Apple's ATIFramebuffer for their own cards. You will get some clue there. If you want to dig deeply, you will need to do a lot reverse engineering to get the idea how ATIFramebuffer works. To make kexts from scratch, the only possible way is to port linux open source driver since otherwise we won't know what to do with the hardware. You can only get the framebuffer funtion to work because Apple does not open the interface for acceleration. Even to program the framebuffer driver, you need to read the documents and source code of Apple's IOFramebuffer and IONDRVFramebuffer throughly to understand how the operating system talk with the driver. Dong
  6. Added but not tested. Source code commit to goolge site.
  7. Thank you for your fast test. Something need to be figured out then. It may take me some time. In the mean time, you guys have to use the test (3) version.
  8. Thank you guys for tests. Now I edited 04/26 code to remove problem part. Plz test again to see if it will work or not. Link in topic test (4). POST: ppl's hardware must be different somewhere from mine. I always can't run into those specific problem here on T60.
  9. Ok, previous problem encountered here now. I think mostly it comes from the functions to help system get the EDID data. It may enable other logical route not known by me. Topic has been updated with 2 new part codes added separately. Plz test to see which one is the bad one.
  10. ATI card below 5XXX won't support more than 2 displays at the same time. These hardwares only have 2 CRTC chips. Each CRTC can only drive all displays route from it in mirror mode. Maybe later add user options to select which 2 from all connected displays to use. Don't know how OSX handle this natively.
  11. Added extension Mode. plz test.
  12. plz test new driver with 2nd inactive nub.
  13. I do not find anything special from the log/IOReg except the disabler. But that should not be a problem. Have you tried to enter GUI after that by type: exit Due to kext cache problem with 10.6, I always enter single user mode and type those commands to enter GUI. This way, I am sure I am testing the latest code I compiled. Anyway, it's really weird to me how the other cards can be different from mine.