tallest Posted July 12, 2011 Share Posted July 12, 2011 EDIT: You can see my solution in post #8, below, as well as various versions of the kext below that. When in Lion, the OS thinks it has two displays, when in fact it only has one. I see an arrangement tab in the system preferences, I can move my mouse off the screen, and System Information reports ATI Radeon HD 5700 Series: Chipset Model: ATI Radeon HD 5700 Series Type: GPU Bus: PCIe PCIe Lane Width: x16 VRAM (Total): 1024 MB Vendor: ATI (0x1002) Device ID: 0x68b8 Revision ID: 0x0000 Displays: SHARP HDMI: Resolution: 1920 x 1080 @ 60 Hz Pixel Depth: 32-Bit Color (ARGB8888) Main Display: Yes Mirror: Off Online: Yes Rotation: Supported Television: Yes VGA Display: Resolution: 800 x 600 @ 60 Hz Pixel Depth: 32-Bit Color (ARGB8888) Mirror: Off Online: Yes Rotation: Supported Display Connector: Status: No Display Connected Display Connector: Status: No Display Connected I have a Gigabyte GA-P35-DS3R with an MSI R5770 (ATI Radeon HD 5770). QE/CI work, out of the box, with GraphicsEnabler=Yes. I followed MaLd0n's installation instructions for Lion, found here. I used his DSDT Auto-Patcher, here. The only kexts I've installed are Lnx2Mac's Realtek Ethernet, the IntelCPUMonitor and SuperIOFamily FakeSMC plugins, AHCIPortInjector, and IOAHCIBlockStorageInjector. I do not have the same problems in my Snow Leopard install. How can I rid myself of this ghost display? Thanks in advance. Apologies if this has been asked before, I couldn't think of a good way to Google for the topic without getting lots of posts about actually having two displays. 19 July 2011: Edited title to better reflect problem and solution. Link to comment Share on other sites More sharing options...
axm Posted July 14, 2011 Share Posted July 14, 2011 For me exactly the same thing happens. I've got a MSI 5770 card... Do you have already a solution for the second VGA screen? Link to comment Share on other sites More sharing options...
tallest Posted July 14, 2011 Author Share Posted July 14, 2011 No solution yet. We probably have the same card (MSI R5770 Hawk?). I've been waiting for the official release of Lion to see if the problem persists before investigating/pushing for an answer. Does yours work properly in Snow Leopard? Post here if you figure it out; I'll do the same. Glad to hear I'm not the only one. Thanks. Link to comment Share on other sites More sharing options...
axm Posted July 17, 2011 Share Posted July 17, 2011 Hello, Yes, I have the same MSI Hawk 5770 card. I've started my Osx86 project only with Lion GM, never tried it on Snow Leopard... At the moment I try to set up the HDMI output... When I connect a HDMI <--> DVI-D cable on the card, the screen is detected as VGA display, like the "ghost display". But I can not choose the right resolution for my screen (1680x1050). Link to comment Share on other sites More sharing options...
wolodya Posted July 17, 2011 Share Posted July 17, 2011 Vervet->Eulemur Link to comment Share on other sites More sharing options...
tallest Posted July 18, 2011 Author Share Posted July 18, 2011 Vervet->Eulemur I booted with AtiConfig=Eulemur (this is the only 5000 personality that works with my card, other than Vervet), but it still results in an extra display. If I boot with GraphicsEnabler=No, everything works properly, except DVD Player, etc. It took me a minute of Googling to figure out what you're talking about, but now I feel much more informed about AtiConfig. Here's what I think I learned: Booting with GraphicEnabler=No uses the RadeonFramebuffer personality. This results in a working system but some programs, like DVD Player, crash. All three connectors for my card are correctly detected: DP (0x400), HDMI (0x800), and DVI (0x4). Booting with GraphicsEnabler=Yes AtiConfig=Vervet uses the Vervet personality (default for this card). It defines four connectors: DVI (Single link? 0x200), DP (0x400), HDMI (0x800), and DVI (0x4). When this profile is used, Lion recognizes the unnecessary 0x200 DVI as being connected to a VGA display, hence the "Ghost display". Booting with GraphicsEnabler=Yes AtiConfig=Eulemur uses the Eulemur personality. It defines three connectors: VGA (0x10), HDMI (0x800), DVI (0x4). When this profile is used, Lion recognizes the unnecessary 0x10 VGA as being connected to a VGA display, hence the "Ghost display". I am considering modifying the ATI kext per the instructions here. I believe this would let me replace the VGA (0x10) entry in Eulemur with the DP (0x400) entry in Vervet. I hope this would result in Eulemer having the correct three connector entries. Any other suggestions? Am I way off base here? Thanks in advance. Link to comment Share on other sites More sharing options...
wolodya Posted July 19, 2011 Share Posted July 19, 2011 1. Put in extra video card BIOS file 2. In com.apple.Boot.plist add <key> UseATIRom </ key> <string> Yes </ string> Link to comment Share on other sites More sharing options...
tallest Posted July 19, 2011 Author Share Posted July 19, 2011 Editing the Eulemur personality per the instructions here worked! Below I outline the steps I took to replace the Eulemer personality with the Vervet personality modified to only use three connectors. I used ati_personality.pl.0.7 (from the above link) to read all the personalities. I'm only interested in the two working personalities, Vervet and Eulemer. For 32-bit: $ perl ati-personality.pl -a ... Kext ATI5000Controller ... Personality: Vervet ConnectorInfo count in decimal: 4 Disk offset in decimal 488552 0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 02 0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 04 0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 03 0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 01 0000040 ... Personality: Eulemur ConnectorInfo count in decimal: 3 Disk offset in decimal 488664 0000000 04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04 0000010 00 08 00 00 00 02 00 00 00 71 00 00 12 04 04 02 0000020 10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01 0000030 ... For 64-bit: $ perl ati-personality.pl -x ... Kext ATI5000Controller ... Personality: Vervet ConnectorInfo count in decimal: 4 Disk offset in decimal 167264 0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 02 ... Personality: Eulemur ConnectorInfo count in decimal: 3 Disk offset in decimal 167376 ... The only difference between the 32 and 64 bit output is the disk offset for each, I will use both later. To fix my problem, I extracted the Vervet personality first. It has 4 connectors, so we dump 4*16=64 bytes. Its offset it 488552 from above. $ cp -r /System/Library/Extensions/ATI5000Controller.kext ./ $ dd if=ATI5000Controller.kext/Contents/MacOS/ATI5000Controller of=Vervet.orig bs=1 skip=488552 count=64 Then I converted it to hex $ xxd < Vervet.orig > Vervet.orig.hex $ cat Vervet.orig.hex 0000000: 0004 0000 0004 0000 0071 0000 1204 0402 .........q...... 0000010: 0400 0000 1400 0000 0071 0000 0112 0104 .........q...... 0000020: 0002 0000 1400 0000 0071 0000 0000 0603 .........q...... 0000030: 0008 0000 0002 0000 0071 0000 2205 0501 .........q.."... Now I edit the hex file with a text editor, delete the second line (for the unnecessary 0x200 DVI connector), and modify the new second line's first string appropriately (0000030->0000020). I save the new file as Eulemer.new.hex $ cat Eulemur.new.hex 0000000: 0004 0000 0004 0000 0071 0000 1204 0402 .........q...... 0000010: 0400 0000 1400 0000 0071 0000 0112 0104 .........q...... 0000020: 0008 0000 0002 0000 0071 0000 2205 0501 .........q.."... I convert back to binary and write the new Eulemer profile into the kext. I write the same data to two addresses. From the ati_personality.pl.0.7 output above, the Eulemer personality has a disk offset of 488664 (32-bit) and 167376 (64-bit). It has only 3 connectors, so we write 3*16=48 bytes. $ xxd -r < Eulemur.new.hex > Eulemur.new $ dd if=Eulemur.new of=ATI5000Controller.kext/Contents/MacOS/ATI5000Controller bs=1 count=48 seek=488664 conv=notrunc $ dd if=Eulemur.new of=ATI5000Controller.kext/Contents/MacOS/ATI5000Controller bs=1 count=48 seek=167376 conv=notrunc Now all that's left is to backup the original ATI5000Controller.kext, replace it with the new one, rebuild caches, and reboot. Voila, no more ghost display. Tell me if this helps or if I've got any typos here. Link to comment Share on other sites More sharing options...
axm Posted July 20, 2011 Share Posted July 20, 2011 Good to hear, that there is a method to fix the problem. Thank's for your investigation and your work tallest!! Would it be possible, that you share your modified ATI5000Controller.kext for all the MSI Hawk 5770 users here? Link to comment Share on other sites More sharing options...
jsl Posted July 20, 2011 Share Posted July 20, 2011 Thanks for your information. After patching your ATI5000Controller, can you use your HDMI audio now in Lion ? I also use MSI 5770 Hawk card in my Asus P6T SE motherboard. In Snow Leopard 10.6.6/10.6.7 I can use DP, HDMI, & DVI ports at the same time with working HDMI audio. After patching ATIFramebuffer and DSDT plus set GraphicsEnabler=Y and Kabyl's boot. However in Lion I can only use HDMI & DVI ports without working HDMI audio now (just set GraphicEnabler=N). [solved] After patching AppleHDA.kext to new 2.05 version, my HDMI audio works again with the following: _____________________________________________________________ Personality: Vervet 0000000 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 05 (HDMI audio) 0000010 00 04 00 00 04 06 00 00 00 71 00 00 12 04 04 02 (DP-->HDMI audio with Eyefinity convertor) 0000020 04 00 00 00 14 00 00 00 00 71 00 00 01 02 01 04 (DVI) 0000030 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 00 _____________________________________________________________ Link to comment Share on other sites More sharing options...
tallest Posted July 20, 2011 Author Share Posted July 20, 2011 Here's my kext. This is based on the one in the GM, I assume it will be the same in 10.7.0, but you might check. EDIT: Replaced the attachment with the correct file. The attachments here and the one three posts down are now the same. ATI5000Controller.kext.zip Link to comment Share on other sites More sharing options...
axm Posted July 21, 2011 Share Posted July 21, 2011 Hm, I've tried your kext, but no difference for me. Here, what I've done: 1. Installed your ATI5000Controller.kext via Kext Utility 2. Insert <key>GraphicsEnabler</key><string>Yes</string> <key>AtiConfig</key> <string>Eulemur</string> into org.chameleon.Boot.plist. But there's no change, still the "ghost VGA screen" beside my DVI screen. Link to comment Share on other sites More sharing options...
tallest Posted July 21, 2011 Author Share Posted July 21, 2011 Sorry. I think I uploaded the wrong kext (I think mine was the original). I've attached my modified kext again. ATI5000Controller.kext.zip Link to comment Share on other sites More sharing options...
axm Posted July 21, 2011 Share Posted July 21, 2011 Thanks for your work tallest! :D Your kext solves my "ghost VGA monitor" problem. For MSI Hawk 5770 your next is the perfect one! Link to comment Share on other sites More sharing options...
Rolgar Posted August 17, 2011 Share Posted August 17, 2011 Many thanks for the fix. I applied the above outlined fix to the ATI5000Controller.kext which comes with 10.7.1. It is working with my MSI Hawk 5770. Feel free to use it. Rolgar ATI5000Controller.kext.zip Link to comment Share on other sites More sharing options...
Pintglass Posted September 1, 2011 Share Posted September 1, 2011 tallest Do you have any issues with your display waking from sleep when using your modified eulemur personality? I have the same ports as you on a sapphire 5770, i was getting the ghost display, which i managed to remove following your guide ive just got the display problem. The problem occurs on the dvi port i have not tested it on the hdmi/dp connector. Is your dvi port dual link? Thanks Pintglass Link to comment Share on other sites More sharing options...
axm Posted October 17, 2011 Share Posted October 17, 2011 Has anyone done this patching for 10.7.2 already? Link to comment Share on other sites More sharing options...
tallest Posted October 17, 2011 Author Share Posted October 17, 2011 Yes. I can upload it later today or you can follow the instructions above to make your own. It seems to be working just fine. Link to comment Share on other sites More sharing options...
axm Posted October 18, 2011 Share Posted October 18, 2011 Yes. I can upload it later today... Would be very nice, if you can upload it. Not only for me, but also for the other users, who switches to 10.7.2 with a MSI HAWK 5770. Thanks in advance. Link to comment Share on other sites More sharing options...
tallest Posted October 18, 2011 Author Share Posted October 18, 2011 The modified 10.7.2 kext is attached. ATI5000Controller.kext.zip Link to comment Share on other sites More sharing options...
Narayana Posted October 20, 2011 Share Posted October 20, 2011 Hello- I am planning on installing Lion on my HTPC, which has a R5770, today. Assuming I follow the same steps as axm in post 12, will I have a ghost free machine in addition to HDMI sound? Or is the ket posted above only a fix for the ghost issue? Thanks! (I'm horribly unclear on how to get the 5770 working with sound in Lion) Link to comment Share on other sites More sharing options...
tallest Posted October 20, 2011 Author Share Posted October 20, 2011 I can't help you there. I use DVI to HDMI for my video output and a USB DAC for audio. I don't see HDMI as an option for audio output in System Preferences, but maybe it requires being connected to an audio capable device. Link to comment Share on other sites More sharing options...
nesnfsn Posted October 23, 2011 Share Posted October 23, 2011 Tallest: This thread has provided me hope that I can get my Powercolor HD6850 to recognize all 4 video ports on the card. I am posting here, but do not want to hijack your thread. So, I apologize in advance for any appearance of hijacking the thread. I would have just sent a PM, but could not figure out how to attach files to PM. After Installing xCode 4.2 for Lion, I reran in terminal "perl ati-personality.pl -x". When I had run it before, it errored out with some message about not finding my ATi1300Controller.kext. This terminal command generated a slew of txt files on my desktop. Amongst them are the three (3) attached files. ATI6000Controller.txt ATI6000Controller.lipo.txtATI6000Controller.l.txt Can you help me get my card running as it is capable (recognizing all 4 ports and still being QE/CI compatible (Card is recognized OOB in Lion without adding boot flags/options for AtiConfig or AtiPorts, but no ports listed, and only 1 DVI port works with DVI-I DL to VGA adapter)? I would appreciate your guidance, as I know you had figured out how to do this with your MSI R5570 Hawk card for the ATI5000Controller.kext. So as to avoid any (further?) hijacking, I would welcome your reply by PM if you deem it more appropriate. Thank you for any help you can provide. nesnfsn in sunny South Florida Link to comment Share on other sites More sharing options...
Narayana Posted October 25, 2011 Share Posted October 25, 2011 I'm still having trouble getting my 5770 working in Lion with no ghost image and HDMI sound. So far, this is what I have done: 1. Followed directions on enabling HDMI sound on toleda's guide here. 2. Modified ATIController5000 by swapping searching/replacing Vervet personality hex string with those provided by jsl in post #10. i.e. I searched each line of Vervet in ATIController5000 and replaced with the ones given. Each string (i.e. line of the original vervet) was replaced twice. jsl's string for HDMI sound (i.e. replacing the last 01 for HDMI with 05) was consistent with the changes in toleda's guide above. 3. added the following to org.Chameleon.Boot.plist: <key>GraphicsEnabler</key> <string>Yes</string> <key>AtiConfig</key> <string>Vervet</string> Unfortunately, this neither fixed the ghost display or gave me HDMI sound. I will need to start again, undoing the changes I have made. If anyone has HDMI sound working without the ghost display in Lion 64-bit, any pointers would be greatly appreciated. This is the last thing i need to get my HTPC up and running... Thanks! EDIT: tallest, looking at your post for the Eulemer fix that worked for you, do you think replacing the last 01 with 05 (which should enable HDMI sound) and setting AtiConfig to Eulemer would work in my situation? Did you make changes to both the 32-bit and 64-bit address spaces in the ATIConfig5000 you posted? Link to comment Share on other sites More sharing options...
Narayana Posted October 25, 2011 Share Posted October 25, 2011 FINALLY! I was able to get HDMI sound (without the ghost screen) through my R5770 in 10.7.2: 1. I was able to get my ALC889 working using this kext and DSDT edit. 2. Followed toleda's instructions here. 3. Used ATIController5000.kext that tallest provided and changed the last 01 for the hdmi string to 05. Thanks to the authors of the above! Now, I'm off to rock some LCD Soundsystem (and turn off verbose mode)! Link to comment Share on other sites More sharing options...
Recommended Posts