Jump to content

Help with HDMI output


26 posts in this topic

Recommended Posts

 

I’m trying to get a second monitor connected to my laptop via HDMI. I am running macOS Ventura with OpenCore 0.8.3. I have checked in windows and the nvidia control panel shows both the internal display and the external monitor are connected to the iGPU so I know I can get it to work, just getting it to work seems to be where I am stuck. I have tried setting the ports in hackintool to HDMI with and without the hdmi2.0 patch. I have tried con0 all the way to con6 without any luck.

I have uploaded my config.plist and ioreg and will add what ever else is needed to get this working.

The most I have had “working” is when I plug and unplug the hdmi cable is the laptop screen goes black then comes back like it has detected a connection on the HDMI but I get no signal.

Spoiler

windows.jpg.fb883fd52c34add6e89312ed215397e8.jpg

 

 

Sent from my iPhone using Tapatalk

 

Archive.zip

Edited by SavageAUS
Link to comment
Share on other sites

From ioreg I see there is to fix: audio, touchpad. In configplist I don't see any IGPU patches, in short, your EFI needs to be reviewed.

Test this EFI in USB , if start new ioreg.

The DSDT extracted from Bios could be useful.

 

Touchpad:

425652075_Screenshot2022-07-24alle09_15_04.thumb.png.4ab545e92bb4e5ce4bb8002f4b2b99cc.png

 

 Audio and touchpad not work

1073625360_Screenshot2022-07-24alle09_15_56.png.3f39a6db0a41b41fc593c30d305a80b9.png

 

I looked for info, it looks like VoodooPS2 + is needed VoodooI2C + VoodooRMI to make the touchpad work431057805_Screenshot2022-07-24alle09_18_52.png.035f655f261b17dfb4f91a6a036a4406.png

 

EFI.zipIn my EFI you have to add your Kext USBPorts.kext in Kexts folder then try to boot.

Edited by Baio77
  • Like 1
Link to comment
Share on other sites

I don’t need any iGPU patches, WEG takes care of that. I have full graphics acceleration.
I have sound just not on that reboot, you will see in my config that I have a device property for it @ layout 6.
Touchpad works fine with rehabmans kext but I may look into the acidanthera one again.
My main and only issue is hdmi out.


Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

 

It's not what you think, WEG works well for IGPU but NOT as far as connectors are concerned, IGPU patch is needed, read WEG manual

 

https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md


For touchpad :

with the kext I recommended the gestures for active touchpads, the Rehabman kext are from 2018, to date some changes and improvements have been made, try the efi I passed you, if you start ioreg and let's see to fix it better.

 

 

 

Edited by Baio77
  • Like 1
Link to comment
Share on other sites

@Baio77 Any chances you can stick to the topic of the thread and avoid/refrain going off-topic with matters such as audio and trackpad that the OP has not even been mentioned (and has since stated to be working Ok) ? As clearly re-specified by the OP himself:

6 hours ago, SavageAUS said:

[...]
My main and only issue is hdmi out.
[...]

 

On the matter at a hand, OP's IOReg clearly shows that con1 and con2 output ports are already patched for HDMI type (required for HDMI audio). con0 is the built-in screen and should stay untouched of course.

 

In addition, your proposed config is incorrect since you keep con1 and con2 to DP type (merely patching the flags and BusId for reasons you've not explained) and add patches for a con3 ; there's no such connector con3 in the selected framebuffer 3EA50009 as shown in WEG's user manual and OP's posted IOReg extract so this is useless !

ID: 3EA50009, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00830B0A
TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)
Model name: Intel HD Graphics CFL CRB
Camellia: CamelliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz
Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000001C7 - ConnectorDP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000001C7 - ConnectorDP
00000800 02000000 98000000
01050900 00040000 C7010000
02040A00 00040000 C7010000

 

I would not trust what Windows says/shows about the physical ports and I'd bet the HDMI output is actually wired to the dGPU. Check your connectors con1 and con2 in IORegistryExplorer when you plug the HDMI screen in. If no display gets listed, consider that you'll probably never obtain HDMI output.

  • Like 1
Link to comment
Share on other sites

9 hours ago, Hervé said:

@Baio77 Any chances you can stick to the topic of the thread and avoid/refrain going off-topic with matters such as audio and trackpad that the OP has not even been mentioned (and has since stated to be working Ok) ? As clearly re-specified by the OP himself:

 

On the matter at a hand, OP's IOReg clearly shows that con1 and con2 output ports are already patched for HDMI type (required for HDMI audio). con0 is the built-in screen and should stay untouched of course.

 

In addition, your proposed config is incorrect since you keep con1 and con2 to DP type (merely patching the flags and BusId for reasons you've not explained) and add patches for a con3 ; there's no such connector con3 in the selected framebuffer 3EA50009 as shown in WEG's user manual and OP's posted IOReg extract so this is useless !

ID: 3EA50009, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00830B0A
TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)
Model name: Intel HD Graphics CFL CRB
Camellia: CamelliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz
Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000001C7 - ConnectorDP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000001C7 - ConnectorDP
00000800 02000000 98000000
01050900 00040000 C7010000
02040A00 00040000 C7010000

 

I would not trust what Windows says/shows about the physical ports and I'd bet the HDMI output is actually wired to the dGPU. Check your connectors con1 and con2 in IORegistryExplorer when you plug the HDMI screen in. If no display gets listed, consider that you'll probably never obtain HDMI output.

I am at work at the moment but have the laptop with me and a HDMI dummy plug.
With the dummy plug plugged in i get nothing listed in ioreg.

 

1 hour ago, Allan said:

Optimus is the problem, I face the same thing as you...😪


At your BIOS you're able to disable the optimus?

 

I will have to recheck but i do not think so. I know there is an option for GPU scaling or something but not to disable Optimus.
Might need to look into unlocking my bios's advanced features.

Link to comment
Share on other sites

The option in the bios is gpu performance scaling.
Even with it disabled I get nothing in ioreg.
Will a type c to hdmi adapter work?


Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

Disabling Optimus does not disable the nVidia dGPU, quite the contrary! If you disabled Optimus, you'd only run off the nVidia dGPU so you must keep it enabled to run off the iGPU; but it sounds like your PC does not give you the option anyway.

 

If you have a USB-c with DP capability, yes, you may obtain video on your screen with a USB-c-to-HDMI adaptor. But there's no way to guarantee this.

Link to comment
Share on other sites

Posted (edited)
On 7/25/2022 at 5:54 PM, Hervé said:
Disabling Optimus does not disable the nVidia dGPU, quite the contrary! If you disabled Optimus, you'd only run off the nVidia dGPU so you must keep it enabled to run off the iGPU; but it sounds like your PC does not give you the option anyway.
 
If you have a USB-c with DP capability, yes, you may obtain video on your screen with a USB-c-to-HDMI adaptor. But there's no way to guarantee this.


Thanks, I have ordered an adapter so will see how it goes and will let you know.

I have also just remembered by seeing i have also have a mini DP on the back of my laptop.

Is there a way to find out if this is connected to iGPU or dGPU?


Sent from my iPhone using Tapatalk

Edited by SavageAUS
Link to comment
Share on other sites

Plug a cable and a screen to your mDP and you'll find out; DP outputs usually work OOB. Certainly is the case on my Skylake/HD520 laptop (mDP output) but there's no dGPU of course...

Link to comment
Share on other sites

On 7/31/2022 at 2:24 AM, SavageAUS said:


Thanks, I have ordered an adapter so will see how it goes and will let you know.

I have also just remembered by seeing i have also have a mini DP on the back of my laptop.

Is there a way to find out if this is connected to iGPU or dGPU?


Sent from my iPhone using Tapatalk

Boot Windows and see there.

In my case HDMI output is possible only from dGPU (Nvidia) as seen from Windows.

Link to comment
Share on other sites

Boot Windows and see there.
In my case HDMI output is possible only from dGPU (Nvidia) as seen from Windows.

So I have now tried miniDP to hdmi. In windows it shows connected to dGPU so macOS will not use it at all. The USB-C to hdmi adapter did not also work (contacted laptop vendor and my laptop doesn’t support video through usb-c apparently)
HDMI does still show in windows as using the iGPU so I haven’t fully given up. Yet.


Sent from my iPhone using Tapatalk
Link to comment
Share on other sites

20 hours ago, theroadw said:
Dump and post all your acpi tables


What’s the best way to do that nowadays? I’m using OpenCore as the boot loader.

 

Attached DSDT from windows dump.

I have also attached a screen shot from arch linux with a hdmi monitor connected and it says that nvidia card is off.

I am currently trying to disable the nvidia card completely in linux to see if HDMI still works which should tell me definitely where the HDMI port is routed.


Sent from my iPhone using Tapatalk

dsdt.zip

Screenshot_20220805_210304.jpg

Edited by SavageAUS
Link to comment
Share on other sites

The DSDT by itself is not useful at all, but there are usually SSDT's that relate to how IGPU and DGPU are set up and if it's a hybrid or muxed config, outputs, etc...
It's those SSDT's that could hold the key as to what is outputting where.

you can use https://dortania.github.io/Getting-Started-With-ACPI/Manual/dump.html#sysreport-quirk

Edited by theroadw
Link to comment
Share on other sites

17 hours ago, theroadw said:

The DSDT by itself is not useful at all, but there are usually SSDT's that relate to how IGPU and DGPU are set up and if it's a hybrid or muxed config, outputs, etc...
It's those SSDT's that could hold the key as to what is outputting where.

you can use https://dortania.github.io/Getting-Started-With-ACPI/Manual/dump.html#sysreport-quirk

I tried that guide but it spat out over 200 files. 
I’ll boot with clover and get them that way soon. 

Hope this helps.

origin.zip

Edited by SavageAUS
Link to comment
Share on other sites

Interesting findings, it is an optimus configuration so in theory it will not work, but it also looks like the physical outputs are actually connected to the IGPU and maybe they are switched by the IGPU itself, so it is likely that if the DGPU is turned OFF, all outputs will be patched to IGPU internally and will work.


Try to turn the DGPU OFF using an SSDT and see if it makes a difference, you may also need to brute force patch the output properties like bus id, pipe and connector type if not detected by whatevergreen.

Link to comment
Share on other sites

1 hour ago, theroadw said:

Interesting findings, it is an optimus configuration so in theory it will not work, but it also looks like the physical outputs are actually connected to the IGPU and maybe they are switched by the IGPU itself, so it is likely that if the DGPU is turned OFF, all outputs will be patched to IGPU internally and will work.


Try to turn the DGPU OFF using an SSDT and see if it makes a difference, you may also need to brute force patch the output properties like bus id, pipe and connector type if not detected by whatevergreen.

I do have the dGPU turned of with an SSDT already.

I also just found this information in windows which confirms that it should work, it is just a matter of trying every configuration.

Spoiler

image.png.d52af0c6be1c12497881ac5dd18e9845.png

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...