Jump to content

Help with getting both displays working please!?!?


gotmilk70
 Share

17 posts in this topic

Recommended Posts

Hey all, I was looking to see if I can get some help for my situation. Here is my laptop configuration:

 

System: Alienware M15x + Clover 4061 (Legacy)

CPU: Intel i7-920XM + Intel PM55 Chipset @ 2.0Ghz
Graphics: AMD Radeon HD 5730M + 1600 x 900 Resolution (1002:68C0)

 

I have followed the steps in Vlada's tutorial and have gotten a little further than I have before so thanks for Vlada.! Here is the situation I'm in. 

 

When I turn the machine on, the Clover boot loader loads in high res. (1600x900) and displays the verbose boot info in that res too. When it gets to the login page...my laptop display does not work at all (Black screen but has brightness). It uses LVDS. I have a Sony Bravia TV that I hook up through DisplayPort. It looks like the screen is cut in 4. I am able to navigate (somehow) to the desktop. Once there, I can open the display preferences and if I change the resolution on the TV to 720P then 1080P...it displays the screen correctly! So something is definitely fishy there. Does that mean the correct framebuffer is loading? Is there a way from macOS to see what FB is currently in use? I also have a VGA port but I don't use it and I think Sierra isn't compatible with it anyway. I am currently using the Orangutan FB, but I also tried Galago too. 

 

​It's weird because my graphics card comes up as ATI Radeon HD 5000 1024MB when it should be the 5730M. Most likely thats cosmetic, but I wonder if that impacts the displays working correctly? 

 

What I would like to do is ask for any help someone or anyone can provide and see what is preventing this system from displaying correctly on both outputs? I have been at this for almost 2 weeks and I feel like I'm close. If anyone needs more information or any of my files I used, please let me know and I can provide them asap! Thanks for any help!

 

Here is some information I have so far:

 

GPU info from System profiler:

 

ATI Radeon HD 5000:

 

  Chipset Model: ATI Radeon HD 5000

  Type: GPU

  Bus: PCIe

  PCIe Lane Width: x16

  VRAM (Total): 1024 MB

  Vendor: ATI (0x1002)

  Device ID: 0x68c0

  Revision ID: 0x0000

  Displays:

Display:

  Resolution: 1600 x 900

  Pixel Depth: 32-Bit Color (ARGB8888)

  Mirror: Off

  Online: Yes

  Rotation: Supported

  Automatically Adjust Brightness: Yes

SONY TV:

  Resolution: 1920 x 1080 @ 60Hz (1080p)

  Pixel Depth: 32-Bit Color (ARGB8888)

  Main Display: Yes

  Mirror: Off

  Online: Yes

  Rotation: Supported

  Automatically Adjust Brightness: No

  Connection Type: DisplayPort

  Television: Yes

 
Info from the decoders and FB programming:
 
01 [LVDS] 

redsock_bios_decoder :

enc obj 0x1e transmitter 0x10 dual link 0x0 enc 0x0

radeon_bios_decode:

Connector at index 0

Type [@offset 44998]: LVDS (7)

Encoder [@offset 45002]: INTERNAL_UNIPHY (0x1e)

i2cid [@offset 45072]: 0x94, OSX senseid: 0x5

 

Code construction: 10 00 01 05

 

02 [DISPLAY_PORT] 

redsock_bios_decoder :

enc obj 0x20 transmitter 0x11 dual link 0x1 enc 0x2

radeon_bios_decode:

Connector at index 1

Type [@offset 45008]: DisplayPort (10)

Encoder [@offset 45012]: INTERNAL_UNIPHY1 (0x20)

i2cid [@offset 45095]: 0x90, OSX senseid: 0x1

 

Code construction: 11 02 02 01

 

03 [VGA] 

redsock_bios_decoder :

enc obj 0x15 transmitter 0x00 enc 0x1

radeon_bios_decode:

Connector at index 2

Type [@offset 45018]: VGA (1)

Encoder [@offset 45022]: INTERNAL_KLDSCP_DAC1 (0x15)

i2cid [@offset 45122]: 0x97, OSX senseid: 0x8

 

Code construction: 00 01 03 08

 

Original:

Personality: Orangutan

ConnectorInfo count in decimal: 2

Disk offset in decimal 821904

0000000 020000004000000019010000000000000000000500000000

0000024 000400000406000000730000000000001102010100000000

0000048

 

Patched:

Personality: Orangutan

ConnectorInfo count in decimal: 2

Disk offset in decimal 1642672

0000000    02  00  00  00     00  01  00  00     09  01  01  00     10  00  01  05

0000010    00  04  00  00     04  02  00  00     00  01  02  00     11  02  02  01

0000020

 

Insert Into Clover:

 

Original:

020000004000000019010000000000000000000500000000

000400000406000000730000000000001102010100000000

 

Patched:

020000000001000009010100000000001000010500000000

000400000402000000010200000000001102020100000000

Link to comment
Share on other sites

First of all you are not choosing the right framebuffer. I will tell you why your patched framebuffer doesn't work with your displays right now: your laptop has 3 display connectors, but the framebuffer you patched only supports 2. Re-patch it with a framebuffer that supports 3 display connectors rather than 2.

 

As for HD 5000 1024MB, it is only cosmetic. But it can also mean that an incorrect framebuffer has been loaded, e.g. Futomaki for me says HD 7xxx 2048MB whereas Hamachi says R9 270X. Go figure.

Link to comment
Share on other sites

 

First of all you are not choosing the right framebuffer. I will tell you why your patched framebuffer doesn't work with your displays right now: your laptop has 3 display connectors, but the framebuffer you patched only supports 2. Re-patch it with a framebuffer that supports 3 display connectors rather than 2.

 

As for HD 5000 1024MB, it is only cosmetic. But it can also mean that an incorrect framebuffer has been loaded, e.g. Futomaki for me says HD 7xxx 2048MB whereas Hamachi says R9 270X. Go figure.

 

 

Well I have done a little research on it and have gotten a little farther. My situation now is:

 

When I turn the machine on, the Clover boot loader loads in high res. (1600x900) and displays the verbose boot info in that res too. When it gets to the login page...my laptop display does not work at all (Black screen but has brightness). It uses LVDS. I have a Sony Bravia TV that I hook up through DisplayPort. It looks like the screen is cut in 4. I am able to navigate (somehow) to the desktop. Once there, I can open the display preferences and if I change the resolution on the TV to 720P then 1080P...it displays the screen correctly! So something is definitely fishy there. I am currently using the Nomascus FB, I have load vBios and Patch vBios selected and Inject EDID too.

 

I get the DP/VGA working but still no LVDS. I tried to take out the ram setting, turned off Dual Link, disabled patchvbios and changed video ports to 3. I changed the smbios to MBP 6,2 and removed the kernelpm patch. For now, I just patched the config.plist on the PEGP to GFX0 for now and I get the same result. This is so frustrating but I'm determined to find the solution haha. 

 

It's getting really weird. It's like it is not taking any of my settings and adjusting them. Take a look at these pictures. I injected a Custom EDID via clover and the system is not using it. I also injected the connectors and the Nomascus FB, but it looks like it is using the default fallback FB. What's worse is that the system thinks I have an 11.6' display which from the looks of it doesn't seem to be an internal display. When I take screenshots, it shows the image of the internal display and the TV. But nothing gets outputted to the laptop screen. Is there a way to insert all of this info onto my DSDT/SSDT? I tried to look at the guides for patching the DSDT but they are all for laptops with Intel Graphics and not for discrete/dedicated cards alone. My machine does not have Intel Graphics or dual GPU's so the guides do not help me. I also had to create my own DSDT/SSDT. What can I do next? Thanks!

 

Insert Into Clover:

 

Framebuffer: Nomascus

 

Connectors: 3

 

Patched Connectors:

 

Original:

020000004000000019010000000000000000000500000000

020000000001000019030000000000001204030300000000

000400000406000000730000000000001102010100000000

000400000407000000730000000000002103020200000000

 

Patched:

020000004000000009010000000000001000010500000000

000400000406000000730000000000001102020100000000

100000001000000000010000000000000001030800000000

000400000407000000730000000000002103030300000000

 

Screen%20Shot%202017-05-02%20at%203.41.5

 

Screen%20Shot%202017-05-02%20at%203.43.4

 

Screen%20Shot%202017-05-02%20at%203.41.5

Link to comment
Share on other sites

Update : I think because I have a DSDT.aml file in the patched folder that I made for my laptop and because my particular card is supported in the AMD5000Controller.kext file that even when I remove all Clover ATI injections...I am still able to get a working DisplayPort (no audio) and VGA but no LVDS. I removed Inject ATI/AMD, load/patch vBios, all connectors patches, device/vendor ID's, Inject/Custom EDID's and just left the change PEGP to GFX0 patch. This setup is also still using the default generic RadeonFramebuffer/Legacy RadeonFramebuffer instead of any one that I choose. I have tried every Framebuffer compatible with my setup and it still defaults to the legacy one. I also tried to hot patch the connectors, product/vendor ID's and EDID's. I selected all the FB's that have 3 or more connectors and are compatible with the AMD5000Controller.kext Nothing works and cannot get the internal display via LVDS to work for the life of me. I will post the connector info that I used below, but what other options do I have? Thanks!

 

Original:

Personality: Nomascus

ConnectorInfo count in decimal: 4

Disk offset in decimal 821792

0000000 02000000 40000000 19010000 00000000 00000005 00000000

0000024 02000000 00010000 19030000 00000000 12040303 00000000

0000048 00040000 04060000 00730000 00000000 11020101 00000000

0000072 00040000 04070000 00730000 00000000 21030202 00000000

0000096

 

Patched:

Personality: Nomascus

ConnectorInfo count in decimal: 4

Disk offset in decimal 821792

0000000 02000000 40000000 09010000 00000000 10000105 00000000

0000024 00040000 04060000 00730000 00000000 11020201 00000000

0000048 10000000 10000000 00010000 00000000 00010308 00000000

0000072 00040000 04070000 00730000 00000000 21030202 00000000

0000096

 

Original patch made for my card:

02000000 40000000 09010000 10000105 

00040000 04060000 00730000 11020201 

10000000 10000000 00010000 00010308 

00040000 04070000 00730000 21030303

 

Insert Into Clover:

 

Framebuffer: Hoolock

 

Connectors: 3

 

Patched Connectors:

 

Original:

000400000406000000010000000000002103050100000000

000400000406000000010000000000001102040200000000

040000001402000000010000000000000204010300000000

 

Patched:

020000004000000009010000000000001000010500000000

000400000406000000730000000000001102020100000000

100000001000000000010000000000000001030800000000

 

 

 

Try this:

 

Original:

Personality: Hoolock

ConnectorInfo count in decimal: 3

Disk offset in decimal 821248

00040000 04060000 00010000 00000000 21030501 00000000

00040000 04060000 00010000 00000000 11020402 00000000

04000000 14020000 00010000 00000000 02040103 00000000

 

 

Patched:

Personality: Hoolock

ConnectorInfo count in decimal: 3

Disk offset in decimal 821248

020000004000000009010000000000001000010500000000

000400000406000000730000000000001102020100000000

100000001000000000010000000000000001030800000000

 

Or These:

 

Personality: Langur

ConnectorInfo count in decimal: 3

Disk offset in decimal 820832

000400000406000000010000000000002103040200000000

000400000406000000010000000000001102010100000000

040000001402000000010000000000000204050300000000

 

Personality: Baboon

ConnectorInfo count in decimal: 3

Disk offset in decimal 821424

040000001400000000010000000000000102010300000000

000800000002000000710000000000002205020100000000

100000001000000000010000000000000010000200000000

 

 

Personality: Eulemur

ConnectorInfo count in decimal: 3

Disk offset in decimal 821504

040000001400000000010000000000000102010400000000

000800000002000000710000000000001204040200000000

100000001000000000000000000000000010000100000000

 

post-172110-0-12680400-1493809617_thumb.png

post-172110-0-92439600-1493809624_thumb.png

post-172110-0-48339000-1493809634_thumb.png

Link to comment
Share on other sites

UPDATE 2:

So the only way LVDS works is if you use the usb clover boot drive with the device and vendor id's injected wrong for the AMD GPU. It comes up as an unknown device and at least shows a display with 1024 x 768 resolution on both LVDS and DP. :/ What does this mean and how would I go about fixing it? Thanks!

post-172110-0-18625900-1493811845_thumb.png

post-172110-0-30633000-1493811959_thumb.png

Link to comment
Share on other sites

Give this one a try:

02  00  00  00  40  00  00  00  08  01  01  00  00  00  00  00  10  00  01  05  00  00  00  00
00  04  00  00  04  03  00  00  00  01  02  00  00  00  00  00  11  02  02  01  00  00  00  00
10  00  00  00  14  02  00  00  00  01  03  00  00  00  00  00  00  01  03  08  00  00  00  00
 
it's based of Langur, so put that framebuffer as active and the original code from that in KextsToPatch.
One thing that's different with mine from yours is my inclusion of proper display init values.
That is to say the 3rd set of digits. I set the LVDS to init 1, DP to init 2 and VGA to init 3.
 
On yours however, the values are as such:
LVDS: 0
VGA: 0
DP: 0
As you can see, we have a conflict.
 
Another thing to note: I have no idea why you put 73 as the second DisplayPort value. This is only going to screw up your connector detection even more.
  • Like 1
Link to comment
Share on other sites

Thank you so much for your help! I edited the information for clover using the information you provided and nothing has changed. LVDS does not work and the DP has issues unless I change it from 1080p to 720p then from 720P to 1080p. I put 73 on that bit due to someone else's recommendation. The system still uses the generic RadeonFramebuffer and does not load everything correctly. Is there anything else I can try? Thanks again!

post-172110-0-78820900-1493870795_thumb.png

post-172110-0-37962700-1493870819_thumb.png

post-172110-0-27566100-1493870827_thumb.png

Link to comment
Share on other sites

You can try removing Inject ATI, that worked with my GPU.It may cause the loading of the generic RadeonFramebuffer, as inject ATi auto-injects your GPU, but other than that I'm not sure. You can always try using ATIConfig=Langur when you go into the Clover menu at boot and see if it loads it properly there.

Link to comment
Share on other sites

Thank you again! I removed Ati inject and set the FB name to Langur and still no display on the LVDS. It's like because this card is supported in macOS Sierra, it is not allowing me to inject any details via clover. It uses the default frame buffer and does not work with custom EDID or connectors or anything. If I inject a different vendor and device id that is fake, the LVDS will come on, but it does not pick up the card and has 3MB with 1024x768 resolution. Is there any way to force macOS to select the properties that I want? Is there a way to tell which FB Sierra is using? This is so frustrating and the only thing that is preventing my machine from being a fully functional hackintosh is the graphics! I would change the GPU out to an nVidia one, but for my laptop...driver inf files (in Windows) needs to be modified to not conflict with the built in audio controllers hardware. What should I do next? Thanks!

Link to comment
Share on other sites

Try it now, it is still based on Langur but I have made a slight modification.

02  00  00  00  40  00  00  00  09  01  01  00  00  00  00  00  10  00  01  05  00  00  00  00
00  04  00  00  04  03  00  00  00  01  02  00  00  00  00  00  11  02  02  01  00  00  00  00
10  00  00  00  14  02  00  00  00  01  03  00  00  00  00  00  00  01  03  08  00  00  00  00
 

Let me know if it works.

 

As to seeing which framebuffer works, type

ioreg | grep ATY

in Terminal

 

If that command doesn't work you may need to download ioregistryexplorer from the internet and try again.

Link to comment
Share on other sites

Thank you for your reply! Unfortunately, that patch did not work. And it is still using the default Framebuffer. I don't understand why it is not injecting any settings I put in via clover. What do you suggest I do next? Thank you for helping! Here is what showed when I typed in the command in Terminal: 

 

ioreg | grep ATY

    | |   |   | +-o ATY,ATY,RadeonFramebuffer@0  <class AMDLegacyStub, id 0x100000433, registered, matched, active, busy 0 (12 ms), retain 8>

    | |   |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDLegacyFramebuffer, id 0x100000436, registered, matched, active, busy 0 (7 ms), retain 17>

    | |   |   | +-o ATY,ATY,RadeonFramebuffer@1  <class AMDLegacyStub, id 0x100000434, registered, matched, active, busy 0 (2 ms), retain 8>

    | |   |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDLegacyFramebuffer, id 0x10000043c, registered, matched, active, busy 0 (1 ms), retain 16>

    | |   |   | +-o ATY,ATY,RadeonFramebuffer@2  <class AMDLegacyStub, id 0x100000435, registered, matched, active, busy 0 (2 ms), retain 8>

    | |   |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDLegacyFramebuffer, id 0x100000442, registered, matched, active, busy 0 (1 ms), retain 14>

gotmilk70-MBP:~ gotmilk70$

Link to comment
Share on other sites

Very interesting, can you try to inject the framebuffer from Clover's Graphics Patching menu in the actual Bootloader rather than in the plist? Also try this with inject ATi disabled.

Link to comment
Share on other sites

HI !

Please upload you ioreg (when loaded framebuffer is RadeonFramebuffer) and gpu vbios.

 

Done, and attached! Thanks for looking into it!

 

Very interesting, can you try to inject the framebuffer from Clover's Graphics Patching menu in the actual Bootloader rather than in the plist? Also try this with inject ATi disabled.

 

Thanks for the reply! I have tried as you suggested to inject Langur into the Clover boot loaders settings within the boot loader + removed ATI Inject and still, no luck! I must have some really bad luck or something. I mean I got everything else but sleep and LVDS to work on this machine! I am on the verge of a fully functional hackintosh. There has to be a solution somehow lmao! What are my options?

gotmilk70.zip

Link to comment
Share on other sites

Try this config and DSDT. 

 

 

Thank you for your reply! I have tried this and still the same result :/ I'm ripping my hair apart trying to get this to work. I don't have money for a new GPU, but the only thing that is not working on this machine is graphics. Is there anything else I can try?

Link to comment
Share on other sites

Well if I were you the next step I'd take is to inject the framebuffer via DSDT which is more annoying than Clover but looks like our only option. I don't know whether this patch is included in the DSDT that duffs sent you since I'm not on my hackintosh at the moment, but we'll see soon.

Link to comment
Share on other sites

 Share

×
×
  • Create New...