Contribute
Register

HDMI/VGA Output Problems - Qosmio X775

Status
Not open for further replies.
Joined
Apr 21, 2018
Messages
8
Motherboard
Toshiba PGRAA
CPU
Intel i7-2860QM
Graphics
Nvidia GeForce GTX 560M
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
After years of perseverance, macOS runs like a dream on my laptop alongside Windows and Ubuntu. Along the way, one of the biggest nightmares and challenges that I’ve had regarding this laptop is the Fermi GPU. It’s an “NVIDIA GeForce GTX 560M,” and after a lot of trial and error, I’ve found a happy medium with the GPU on macOS Sierra using Chameleon bootloader.

The biggest pet peeve that I have regarding this GPU in Sierra is the HDMI/VGA outputs.
Using GraphicsEnabler=Yes, I’m able to get a successful boot every single time, however, I can’t get HDMI/VGA working as a result. When I disable GraphicsEnabler, and regardless of whether nvda_drv=1 is used, it takes multiple boot attempts in order to get past the black screen during the GPU’s initialization and reach the desktop successfully. (I know when I’ve reached the desktop because I’ve setup a chime that always plays upon logging into the system.) Afterwards, HDMI works and VGA doesn’t.

This leads me to wonder what is being injected when GraphicsEnabler=No is used, and I get past the black screen.

I’ve generated and attached two sets of problem reporting files:
GraphicsEnabler=Yes | HDMI/VGA Both Don’t Work
GraphicsEnabler=No | HDMI Works / VGA Doesn’t

I figured that there would be some sort of difference between these two sets of files regarding the framebuffer, and that someone on these forums could point out the difference between them. I’m not exactly sure what and where to inject settings for this GPU, and I’d appreciate it if someone could help point me in the right direction in order to at least patch the HDMI output properly (if I could also get VGA working that would be awesome too because I do have a VGA monitor).

I’m not sure if this is the right direction to go, or if it is completely overkill, but I did try injecting the GPU via SSDT using this guide:
(It doesn’t work however because I probably still need to edit out device “GFX0” in the DSDT. I tried deleting the device declaration entirely, but I can’t compile the DSDT afterwards as there are many methods with nested if/else statements in the code that access the variable. I’m not sure how to edit it out entirely if I do go this route, and I’m not sure if I wrote the SSDT properly.)
 

Attachments

  • Hackintosh Diagnostics - Fortitude.zip
    5.4 MB · Views: 171
After years of perseverance, macOS runs like a dream on my laptop alongside Windows and Ubuntu. Along the way, one of the biggest nightmares and challenges that I’ve had regarding this laptop is the Fermi GPU. It’s an “NVIDIA GeForce GTX 560M,” and after a lot of trial and error, I’ve found a happy medium with the GPU on macOS Sierra using Chameleon bootloader.

The biggest pet peeve that I have regarding this GPU in Sierra is the HDMI/VGA outputs.
Using GraphicsEnabler=Yes, I’m able to get a successful boot every single time, however, I can’t get HDMI/VGA working as a result. When I disable GraphicsEnabler, and regardless of whether nvda_drv=1 is used, it takes multiple boot attempts in order to get past the black screen during the GPU’s initialization and reach the desktop successfully. (I know when I’ve reached the desktop because I’ve setup a chime that always plays upon logging into the system.) Afterwards, HDMI works and VGA doesn’t.

This leads me to wonder what is being injected when GraphicsEnabler=No is used, and I get past the black screen.

I’ve generated and attached two sets of problem reporting files:
GraphicsEnabler=Yes | HDMI/VGA Both Don’t Work
GraphicsEnabler=No | HDMI Works / VGA Doesn’t

I figured that there would be some sort of difference between these two sets of files regarding the framebuffer, and that someone on these forums could point out the difference between them. I’m not exactly sure what and where to inject settings for this GPU, and I’d appreciate it if someone could help point me in the right direction in order to at least patch the HDMI output properly (if I could also get VGA working that would be awesome too because I do have a VGA monitor).

I’m not sure if this is the right direction to go, or if it is completely overkill, but I did try injecting the GPU via SSDT using this guide:
(It doesn’t work however because I probably still need to edit out device “GFX0” in the DSDT. I tried deleting the device declaration entirely, but I can’t compile the DSDT afterwards as there are many methods with nested if/else statements in the code that access the variable. I’m not sure how to edit it out entirely if I do go this route, and I’m not sure if I wrote the SSDT properly.)
may need nvidia web driver
 
I wish the solution was that plain simple…
I’ve tried this in the past only to have the same issues as before.
Along with this, the Nvidia web drivers cause frequent freezing which force me to cut off the power and reboot.
 
UPDATE:
Turns out that those boot to black screens are actually kernel panics.
(I just had RebootOnPanic disabled in Chameleon.)
Because the screen goes black when initializing the GPU, I’m unable to view in verbose mode where the actual panic occurs. Unless I could somehow export a log of the boot sequence, any ideas as to why they wouldn’t occur for me when GraphicsEnabler is used?
 
UPDATE:
Turns out that those boot to black screens are actually kernel panics.
(I just had RebootOnPanic disabled in Chameleon.)
Because the screen goes black when initializing the GPU, I’m unable to view in verbose mode where the actual panic occurs. Unless I could somehow export a log of the boot sequence, any ideas as to why they wouldn’t occur for me when GraphicsEnabler is used?
maybe move over to clover or opencore
 
I think you'll have a better chance using Opencore (OC). If you spoof the correct CPUID under the Kernel section and use the correct SMBIOS in your setup (that correspond to a proper iMac model with a similar Fermi/eGPU card), you should be able to run Sierra properly. That's what I did with my Z490 i9 setup with OC to run High Sierra with my GTX1060. With the latest versions of Lilu and Whatevergreen running on OC, you are getting the best overall working and compatibility setup, as they get updated whenever major changes or new bug finds occur.

Chameleon on the other hand does still work, but is no longer being updated (AFAIK) so is not the best option imo. I mean I have it working on my Acer Nitro 5 running High Sierra build but the GTX1050 I have on there is disabled because there are no drivers for the Nvidia Optimus chipset.

As for patching the outputs, I'd recommend taking a look at Hackintool. Hackintool has a number of features that allow you to customise or patch your HDMI and various other outputs.
 
I’ve never had that much luck with Clover, which is why I tried and ended up liking Chameleon.
I haven’t attempted to use OpenCore before, but it looks very promising as there’s a lot of documentation, and the config file seems very cohesive.

It seems like a bit of a stretch just to get my outputs working, but if I can hard code the GPU in OpenCore along with everything else, I shouldn’t have to rely on Lilu/Whatevergreen/GraphicsEnabler in order to inject the device properties. (It’s just really strange because without those two kexts and without GraphicsEnabler, my screen is black. Regardless, half of the time I’ll hear my chime/volume controls, and half of the time kernel panics!)

I’ll give OpenCore a shot and let you guys know what happens. (Hopefully I won’t end up doing anything too stupid along the way.)
 
UPDATE:

I tried out OpenCore, and it’s the best decision that I’ve ever made!

My setup works the same as before, and I’m happy to report that I got my HDMI output working perfectly by following this guide:
The only thing that I did differently was use an NVCAP value from an ioreg dump for when GraphicsEnabler=No worked properly in Chameleon.

HDMI audio also works, but in the weirdest way possible… I ended up having to combine my patched AppleHDA kext with AppleALC and CodecCommander. (There doesn’t appear to be any conflicts between the kexts.)

You can pretty much mark this thread as solved, but I’d really appreciate it if you guys could help me come up with a better NVCAP value to get the VGA output working too. I tried out the NVCAP calculator using this VBIOS and got this result without modifying anything:

Calculated NVCAP: 05010000 00000100 -1c10000 0000000f 00000000

Idk if I set up the heads wrong, but OpenCore doesn’t seem to accept a negative HEX value.

For reference, here’s the NVCAP value that I’m currently using:
Current NVCAP: 05000000 0000ffff ffff0000 0000000e 00000000

Any ideas/guesses on what to do?
(Last thing… Yes! The DGPU is wired to the VGA port.)

If it helps, here I've attached my OpenCore setup:
 

Attachments

  • OpenCore EFI - Fortitude.zip
    9.8 MB · Views: 159
Status
Not open for further replies.
Back
Top