Jump to content

Dual Screen Not Working


srmusico
 Share

9 posts in this topic

Recommended Posts

Hello guys!

I Have my hackintosh finally working with 12.5.

All seems to work, but dual screen is not working at all.

 

There are 2 vga monitors connected  in Displayport and HDMi (with connectors)

 

I can use both only if first I boot with one of them.

then in desktop I can plug the other monitor and works.

 

If I boot with both monitors connected , the hackintosh boot showing image in only one monitor, and after of the apple screen it stops showing image  (only colors)

 

The components are:

-Asus Z170-A

-i7 7770k (Kabylake)

-32 GB Ram 2400 DDR4 GSkill Ripjaws

-Kingston SSD.

 

What could happen?

 

Thanks you so much!

Link to comment
Share on other sites

Hi! Thanks for your reply!

Im new with ioreg. And im trying to learn how it works.

could you help me to find graphic lines in my ioreg?

 

after of that, how can I apply the changes???

 

here is my ioreg:

iMac.zip

 

Thanks you for your help!!!

Link to comment
Share on other sites

  • 1 year later...
On 6/16/2017 at 2:34 PM, Hervé said:

Your iGPU is found in IOReg as device GFX0 located at address 0x00020000 (GFX0@2 under PCI0@0). IOReg shows iGPU PCI id 8086:5912 and model "Intel HD Graphics 630" (in Hex) which is totally inline with Intel ARK info for i7-7770K CPU. IOReg also shows that you're using layout-id 0x19120000.

post-851564-0-81979000-1497616416_thumb.png

 

IOReg info shows a display (labelled display0) under 2 x framebuffers: FB@1 and FB@2,

post-851564-0-20237200-1497616430_thumb.png post-851564-0-66552100-1497616438_thumb.png

 

In terms of attached displays, IOREg shows:

  • FB@1 -> connector type 0x00040000 (i.e. DP output) + port number 0x05
  • FB@2 -> connector type 0x00040000 (i.e. DP output) + port number 0x06

 

Connector types are of the following range:

  • 0100 0000 for VGA
  • 0200 0000 for LVDS (built-in LCD of laptops)
  • 0400 0000 for eDP (built-in LCD of laptops)
  • 0002 0000 for DVI
  • 0004 0000 for DP
  • 0008 0000 for HDMI

 

At this stage, all you would normally need to do would be to identify which output really is DP and which really is HDMI. How? Simple: whilst running IORegistryExplorer, disconnect one of your external screen, refresh IORegistryExplorer and check which port has disconnected (-> no display0 seen under the FB@x).

 

You may then patch your framebuffer kext accordingly so that the system knows what gets attached to each port. To patch the framebuffer kext, you would open its binary file (found in Contents/MacOS folder of the kext package) with a Hex editor (apps such as 0xED or HexFiend for instance), look for the 19120000 layout and edit the code for the port as required (change DP connector type 00 04 00 00 to HDMI connector type 00 08 00 00 to begin with). In your case, we're talking about Skylake framebuffer kext, i.e. AppleIntelSKLGraphicsFramebuffer.kext found in /S/L/E.

 

I've no Skylake of Kaby Lake platform and have not looked much into patching this specific framebuffer but, building on previous SNB/Capri/Azul frambebuffer experience, I'm pretty sure you need to look at patching the following layout in the kext binary file:


00001219 00000000 4F880800 00000000          // layout 19120000 ...
01030303 00002002 00005001 00000060
6C050000 6C050000 00000000 00000000
FF000000 01000000 20000000 01050900
00040000 87010000 02040A00 00040000
87010000 03060A00 00040000 87010000
0F110000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000

`

In the same fashion as connector types, port numbers fall within the following typical range:

  • 0000 ... for framebuffer #0 / port #0
  • 0105 ... for framebuffer #1 / port #5
  • 0204 ... for framebuffer #2 / port #6
  • 0306 ... for framebuffer #4 / port #7

 

You will therefore play with the code starting by 0105 (port #5) or 0204 (port #6), i.e. :


01050900 00040000 87010000          // port #5, priority 09, DP output
02040A00 00040000 87010000          // port #6, priority 0A, DP output

and, for instance, if port #6 is HDMI, you would try and change the line starting by 0204 to:


02040A00 00080000 87010000          // port #6, HDMI output

to reflect the correct HDMI connector type. The priorities differ so you should be Ok on that front.

 

Can't guarantee 100% it'll work, but I'm sure this would put you on the correct path.

 

my external monitor is plugget on the only hdmi but System Profiler show this like DP port. I tried to patch the framebuffer but it doens't work, how to?

debug_30585.zip

Schermata 2018-08-13 alle 11.00.03.png

Link to comment
Share on other sites

Many thanx for reply Hervé!

 

I tried what you wrote to me ... it seems to work, but when I connect the external monitor it goes back to 00040000 .... I do not understand why! Look Yourself in the attacched.

 

I ask you something else, you can tell me why if you imposed as SMBIOS MacBook Pro 13.3 the external monitor is not right, while with the other SMBIOS works (example, works with Macbook pro 13.1 - 13.2 - 9, 1)

MacBook Pro with HDMI.ioreg

MacBook Pro No connection HDMI.ioreg

Link to comment
Share on other sites

 

I use a Mini HDMI to HDMI adapter, as the output port is HDMI only. Now I correct and put the patch 1. Thanks for the help. Regarding the MacBook Pro 13.3 maybe I have not explained well. If I use this SMBIOS and connect an external monitor, nothing is detected but only the integrated notebook screen works. This model has two Thunderbolt ports as video outputs, so I ask you where I need to change to change from Thunderbolt to HDMi and activate video output

 

You need some output files from my system?

Edited by gigibatt
Link to comment
Share on other sites

mmm ok...

 

I do not know any non-Apple notebook with two thunderbolt outputs. So you're telling me that it makes no sense to use the SMBIOS MacBook Pro 13.3 because there are no notebooks with thunderbolt outputs? I thought it was possible to simply say to use an HDMI port instead of a thunderbolt ....

Link to comment
Share on other sites

 

Thank you for what you taught me and for the time you spent for me!

 

the last question: Rehab says the lags / pauses / unresponsiveness shortly after boot is caused from unused 
connectors. Do you think I have to remove connectors from the ig-platform? How to?
Edited by gigibatt
Link to comment
Share on other sites

  • 2 weeks later...
On 8/13/2018 at 11:01 PM, Hervé said:

I would leave things as they are.

Herve! I have a pc clone of the notebook of which I asked you above. The only problem I have is that if I start with the external 
monitor connected to the HDMI output, the internal monitor remains black and only the external one works. Can you tell me what I 
have to do for you? Mount an Intel HD620 (framebuffer 59160000)
Link to comment
Share on other sites

 Share

×
×
  • Create New...