Jump to content

FirePro M5800 - No laptop display


toek_boer
 Share

9 posts in this topic

Recommended Posts

Good night everyone,

 

I've got most of my devices fixed, but I have a lot of trouble with the laptop display.

It's an HP EliteBook 8540w with Intel i5 and ATI FirePro M5800.

I'm on Mountain Lion 10.8.2, dual booting with Windows 7 from the same drive.

 

ID: 1002:68c0

Hardware Info does not recognize it, System Info says it a Madison, Mobility Radeon HD 5000 Series.

Wikipedia tells me its based on Mobility Radeon HD 5730, so that can be correct as that one has codename Madison.

I use ATIController5000.kext for it. I don't think I changed anything in the kext, my device id was already in there.

 

I can boot with GraphicsEnabler=Yes or with GraphicsEnabler=No, it doesn't make a difference.

After the verbose logging, when its finished starting up, it tries to display the login screen, in the right upper corner a few pixels start turning greyish like a quick sunrise.

After less than a second it all turns black. It only reaches a few centimeters.

 

After verbose logging the external screen (AOC 1080p display, VGA) is detected, I can also VNC when the external display is disconnected.

 

I have tried this:

http://www.insanelym...splay-problems/

And this:

http://www.insanelym...page__hl__ 68c0

 

That thread used a 1002_68a0.rom, I tried looking for a 1002_68c0.rom, but it was only available on a Chinese website, so I couldnt register to download.

I tried to rename it, but it did not work for me.

 

I'm really desperate, I don't know what I could try anymore. If anyone could help me out that would be great.

 

-tb

Link to comment
Share on other sites

DSDT injection should work. I changed the device ID to match a ATI 5730 which is natively supported. Framebuffer Vervet seems to work the best but not always... You may have to mod the frame buffer. See guide in sig.

 

 

Device (GFX0) /**  for AMD Graphics Cards  **/
               {
                   Name (_ADR, Zero)
                   Name (_SUN, One)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x0E)
                           {
          "device-id", 
                               Buffer (0x04)
                               {
                                    0xD8, 0x87, 0x00, 0x00
                               }, 
                               "@0,name", 
                               Buffer (0x0D)
                               {
                                   "ATY, Vervet"  /** Change to your framebuffer **/
                               }, 
                               "@1,name", 
                               Buffer (0x0D)
                               {
                                   "ATY, Vervet" /** Change to your framebuffer **/
                               }, 
                               "@2,name", 
                               Buffer (0x0D)
                               {
                                   "ATY, Vervet" /** Change to your framebuffer **/
                               }, 
                               "@3,name", 
                               Buffer (0x0D)
                               {
                                   "ATY, Vervet" /** Change to your framebuffer **/
                               }, 
                               "model", 
                               Buffer (0x13)
                               {           
                                   "ATI FirePro M5800" /** Change to your GPU Model **/
                               }, 
                               "hda-gfx", 
                               Buffer (0x0A)
                               {
                                   "onboard-1"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
               Device (HDAU)
               {
                   Name (_ADR, One)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x02)
                           {
                               "hda-gfx", 
                               Buffer (0x0A)
                               {
                                   "onboard-1"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }

Link to comment
Share on other sites

Thanks for your reply Rampage,

 

Ive added your piece of code to my DSDT and tried Vervet bootloader. It gives me 12 tiny screens, and it makes mac actually detect my display in displays.

I took a look at your blog, I tried to mod Zonalis because that one had 6 and my ROM told me I had 5 entries, no luck though. I even broke my VGA with Zonalis, which works on Vervet.

So Ill steal the VGA from Vervet soon, my display is an EDP, this is Embedded Display Port, I tried this as DP, is that okay or should I try the laptop screen?

 

Also if you could give me heads up on making 12 tiny screens one large screen, would be great, otherwise Ill try again tomorrow.

 

Really liked that blog post, very usefull, its hard stuff but very intresting.

Link to comment
Share on other sites

  • 2 weeks later...

Changing it to laptop port doesnt work for me either.

 

Went away on vacation for a few days so couldnt check any sooner.

I managed to make it show 4 screens instead of about 12 on one screen so I guess thats an improvement..

 

Was hoping someone could help me a bit further.

 

Original Vervet:

 Personality: Vervet
ConnectorInfo count in decimal: 4
Disk offset in decimal 166224
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

 

Which I thought was correct:

 0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 02
0000010 02 00 00 00 14 00 00 00 00 71 00 00 02 04 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

 

ROM dump 1:

HP Versace MADISONXT DDR3 64Mx16 600E/800M MXM LVDS/eDP				

Subsystem Vendor ID: 103c
 Subsystem ID: 1521
Object Header Structure Size: 321
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: f7
Display Path Table Offset: 12
Connector Object Id [20] which is [EDP]
encoder obj id [0x21] which is [iNTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [iNTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [5] which is [VGA]
encoder obj id [0x15] which is [iNTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

 

ROM Dump 2:

ATOM BIOS Rom:
SubsystemVendorID: 0x103c SubsystemID: 0x1521
IOBaseAddress: 0x0000
Filename: BR036553.001
BIOS Bootup Message:
HP Versace MADISONXT DDR3 64Mx16 600E/800M MXM LVDS/eDP				

PCI ID: 1002:68c0
Connector at index 0
Type [@offset 45446]: eDP (14)
Encoder [@offset 45450]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45556]: 0x93, OSX senseid: 0x4
Connector at index 1
Type [@offset 45456]: DisplayPort (10)
Encoder [@offset 45460]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 45583]: 0x90, OSX senseid: 0x1
Connector at index 2
Type [@offset 45466]: DisplayPort (10)
Encoder [@offset 45470]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 45610]: 0x91, OSX senseid: 0x2
Connector at index 3
Type [@offset 45476]: DisplayPort (10)
Encoder [@offset 45480]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45637]: 0x92, OSX senseid: 0x3
Connector at index 4
Type [@offset 45486]: VGA (1)
Encoder [@offset 45490]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45664]: 0x97, OSX senseid: 0x8

 

I am seriously in doubt about eDP, whether it should be DP or LVDS...

Also attached my original rom, hope someone could take a look at it...

Madison.zip

Link to comment
Share on other sites

You still do not make a laptop display connector in the Framebuffer.

 

I think you mean this part:

02 00 00 00 14 00 00 00 00 71 00 00 02 04 01 04

  14 00 00 00 00 71  

 

Anything but 71 there and mac does not detect my screen.

When I leave 71 there it is detected but black or 4-12 little screens.

I have tried the first four, all LVDS and DP possibilities, this one seems to be DVI but it gives only 4 little screens instead of 12 so I thought it was the best

 

Any ideas?

Link to comment
Share on other sites

  • 3 weeks later...
 Share

×
×
  • Create New...