Contribute
Register

[Solved] HDMI Audio on Dell Inspiron 7577 (intel 630 igpu)

Status
Not open for further replies.
Joined
Jul 6, 2015
Messages
50
Motherboard
Dell 7577 + OC
CPU
i7-7700HQ / HM175
Graphics
GTX 1050 Ti + HD 630 (1920x1080)
Mac
  1. MacBook Pro
Dear fellow hackintoshers,

I have recently installed High Sierra on my Dell Inspiron 7577 and was blown away by the amount of useful information on this forum.
I got it mostly working following several installation guides, however since this laptop has a dedicated gpu (nvidia 1050ti) which needs to be disabled, I expected the hdmi port not to work.
But to my surprise after connecting it to a monitor I got a fully working video stream.
I am now wondering if there is any way to implement hdmi audio, since, apparently, there is some sort of communication between the integrated graphics (intel 630) and the hdmi port. I could not find any hint online and it is definitely something that I would not be able to implement on my own.
As I am completely new to hackintoshing I might have overseen some very obvious things and might have a somewhat messy clover folder, so please point out any mistakes that I made in the process of installing the OS.

Thank you!
 

Attachments

  • debug_2558.zip
    3.5 MB · Views: 121
Dear fellow hackintoshers,

I have recently installed High Sierra on my Dell Inspiron 7577 and was blown away by the amount of useful information on this forum.
I got it mostly working following several installation guides, however since this laptop has a dedicated gpu (nvidia 1050ti) which needs to be disabled, I expected the hdmi port not to work.
But to my surprise after connecting it to a monitor I got a fully working video stream.
I am now wondering if there is any way to implement hdmi audio, since, apparently, there is some sort of communication between the integrated graphics (intel 630) and the hdmi port. I could not find any hint online and it is definitely something that I would not be able to implement on my own.
As I am completely new to hackintoshing I might have overseen some very obvious things and might have a somewhat messy clover folder, so please point out any mistakes that I made in the process of installing the OS.

Thank you!

HDMI audio guide:
https://www.tonymacx86.com/threads/...o-sandy-ivy-haswell-broadwell-skylake.189495/
 
Dear RehabMan,
thank you very much for your quick reply. I tried to follow the guide as well as I could but again, at times I am really lost.

What I did:

Framebuffer Patching: I followed the instructions here:

In the plists linked by my guide, you will find patches for each connector in various ig-platform-id data.

http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html

The patches in each are disabled by default. You can read about disabled patches and how to enable them in post #2 of the guide.

The patch you need to use depends on which port the HDMI connector is plugged into. Each port has its own AppleIntelFramebuffer node under IGPU. For example, this image shows each framebuffer node under IGPU on my Lenovo u430:


which took me here:

https://github.com/RehabMan/OS-X-Clover-Laptop-Config

where I selected the config_HD615_620_630_640_650.plist.

Looking at IORegistryExplorer I found that the external Display would connect to AppleIntelFramebuffer@2.
So I "blindly" copied all the Framebuffer@2 relevant parameters into the Devices/Properties of my config.

I am quite confident, that despite my best effort, I must have missed some very important things.

The the case of my Lenovo u430, the HDMI port is associated with AppleIntelFramebuffer@2. Each framebuffer (@0, @1, @2, @3) corresponds to a set of connector data inside the ig-platform-id data, which resides in the framebuffer kext binary. Each connector has a prefix that describes the port number and each is positional within the kext (for example: 0105, 0204, 0306, in that order).

When I click on AppleIntelFramebuffer@2 I do indeed find the layout-id, but I have no clue where the prefixes are.

That is why I was unable to perform the last step and resorted to "blind" copying:

As I mentioned before, it was the 0204 connector (framebuffer@2). As a result, the Lenovo u430 uses the patch labeled "HDMI-audio, port 0204, 0x0a260005 0x0a260006".

However, if I look at IORegistryExplorer I find that the connector is recognised as <00 08 00 00> HDMI, which might make the whole process superfluous anyway.

Proceeding with your checklist I get:

"hda-gfx"="onboard-1" in HDEF which I implemented in MaciASL with a static patch to the DSDT from your audio repository.

"layout-id" <07 00 00 00> which I don't understand. In the Devices/Audio section of my config file I am injecting 13, shouldn't they match? Or are they two completely different things? And if so, what is the purpose of this layout-id?

Again, sorry if I am asking some obvious questions and making all sort of beginner's mistakes. Also, there are some unneeded dsdt and kext patches in my config, which are leftovers of some trial and error attempts.

Thank you and everybody else who will look into this!
 

Attachments

  • debug_32018.zip
    6.3 MB · Views: 65
Dear RehabMan,
thank you very much for your quick reply. I tried to follow the guide as well as I could but again, at times I am really lost.

What I did:

Framebuffer Patching: I followed the instructions here:




which took me here:

https://github.com/RehabMan/OS-X-Clover-Laptop-Config

where I selected the config_HD615_620_630_640_650.plist.

Looking at IORegistryExplorer I found that the external Display would connect to AppleIntelFramebuffer@2.
So I "blindly" copied all the Framebuffer@2 relevant parameters into the Devices/Properties of my config.

I am quite confident, that despite my best effort, I must have missed some very important things.



When I click on AppleIntelFramebuffer@2 I do indeed find the layout-id, but I have no clue where the prefixes are.

That is why I was unable to perform the last step and resorted to "blind" copying:



However, if I look at IORegistryExplorer I find that the connector is recognised as <00 08 00 00> HDMI, which might make the whole process superfluous anyway.

Proceeding with your checklist I get:

"hda-gfx"="onboard-1" in HDEF which I implemented in MaciASL with a static patch to the DSDT from your audio repository.

"layout-id" <07 00 00 00> which I don't understand. In the Devices/Audio section of my config file I am injecting 13, shouldn't they match? Or are they two completely different things? And if so, what is the purpose of this layout-id?

Again, sorry if I am asking some obvious questions and making all sort of beginner's mistakes. Also, there are some unneeded dsdt and kext patches in my config, which are leftovers of some trial and error attempts.

Thank you and everybody else who will look into this!

Try with FakePCIID_Intel_HDMI_Audio.kext.
 
I tried that by subsequently placing FakePCIID_Intel_HDMI_Audio.kext in my kext/other folder, then by installing it to L/E and S/L/E, but to no avail.
In every case I checked with 'kextstat | grep Fake' but the only loaded kext seemed to be FaceSMC.

Thank you again!
 

Attachments

  • debug_8905.zip
    3.7 MB · Views: 75
I tried that by subsequently placing FakePCIID_Intel_HDMI_Audio.kext in my kext/other folder, then by installing it to L/E and S/L/E, but to no avail.
In every case I checked with 'kextstat | grep Fake' but the only loaded kext seemed to be FaceSMC.

Thank you again!

FakePCIID_Intel_HDMI_Audio.kext requires FakePCIID.kext.
Your kextcache proves you forgot to install FakePCIID.kext.

Also, note other problems:
YamahaSteinbergUSBAudio.kext has no Info.plist file.
YamahaSteinbergUSBAudio.kext has no Info.plist file.
YamahaSteinbergUSBAudio.kext has no Info.plist file.

Also...
Your kextcache output proves kexts are not installed correctly (kextcache proves FakeSMC.kext is not installed).
All kexts you need must be installed to the system volume.
Read post #2 of the Clover guide for details:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

Don't forget to set InjectKexts="Detect" (as per guide, post #2).
 
RehabMan, thank you for your time and your patience!

Following your guide, this has been a complete eye-opener, as I too tended to believe the opposite!

It is a mistake to install everything to Clover/kexts. Contrary to popular hackintosh myth, it does not result in a cleaner install (the opposite is true). Many kexts will not work from Clover/kexts, so installing them to /S/L/E where they can be included in kernel cache is the best approach.

I have installed all of my kexts in L/E and if I am reading it right kextcache should prove that they are there.

However if I set InjectKexts="Detect" I can no longer boot and get the error messages in the attachment.

I therefore reverted InjectKexts="Yes" and manage to boot the Os, but now, unfortunately, my speaker icon is greyed out and no devices is recognised.

As for the YamahaSteinberg kext, it is an audio interface that I am having problems with, but if it's not relevant for this thread I would keep fixing that for another day (besides, I don't really how it could not have a Info.plist file, given that I only downloaded the driver from the manufacturer's website and installed it, without any additional tweaking...)
 

Attachments

  • IMG_20181008_092157.jpg
    IMG_20181008_092157.jpg
    3.4 MB · Views: 148
  • IMG_20181008_092210.jpg
    IMG_20181008_092210.jpg
    3.1 MB · Views: 127
  • debug_9071.zip
    3.7 MB · Views: 66
RehabMan, thank you for your time and your patience!

Following your guide, this has been a complete eye-opener, as I too tended to believe the opposite!



I have installed all of my kexts in L/E and if I am reading it right kextcache should prove that they are there.

However if I set InjectKexts="Detect" I can no longer boot and get the error messages in the attachment.

I therefore reverted InjectKexts="Yes" and manage to boot the Os, but now, unfortunately, my speaker icon is greyed out and no devices is recognised.

As for the YamahaSteinberg kext, it is an audio interface that I am having problems with, but if it's not relevant for this thread I would keep fixing that for another day (besides, I don't really how it could not have a Info.plist file, given that I only downloaded the driver from the manufacturer's website and installed it, without any additional tweaking...)

It seems you forgot SATA-100-series-unsupported.kext.
See guide:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
 
True! You are great!

With SATA-100-series-unsupported.kext I set InjectKexts="Detect" and I am able to boot without problems.
There is still no improvement to the audio issue: with FakePCIID_Intel_HDMI_Audio.kext I get a greyed-out icon and no detected internal device.
 

Attachments

  • debug_31893.zip
    3.3 MB · Views: 77
True! You are great!

With SATA-100-series-unsupported.kext I set InjectKexts="Detect" and I am able to boot without problems.
There is still no improvement to the audio issue: with FakePCIID_Intel_HDMI_Audio.kext I get a greyed-out icon and no detected internal device.

Remove FakePCIID_Intel_HDMI_Audio.kext then.
(it is not for all hardware, and only way to determine applicability is to install it and test)
 
Status
Not open for further replies.
Back
Top