Jump to content

Editing custom personalities for ATI Radeon HD[45]xxx


  • Please log in to reply
757 replies to this topic

#121
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

I would like to tell you from my experience. I updated OS X to 10.6.6 and tried to used old AppleHDA.kext (10.6.4) and then I could not get HDMI audio for my HD5770. After that I got to use AppleHDA.kext v1.9.9f12 and then I got HDMI audio again. I was thinking that ATIframebuffer might be related to AppleHDA.kext in some way but I had no idea how. In contrast, I got to use old AppleHDA.kext (from 10.6.2-.4) for my GT240 to get HDMI audio after updating to 10.6.5-.6. I hope bbc9 can find out something.

I tried AppleHDA.kext from 10.6.2 - 10.6.6, still failed to get HDMI audio to work. I always get:-
Sound assertion "0 == hdaGfxCandidate" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 889 goto Exit
I think you probably right on the relation between ATIFramebuffer & AppleHDA. I already tried 10.7 AppleHDA.kext. It just failed to load. I guess I have to wait 10.7 (official) to get HDMI audio working.

#122
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
I found when LCD monitor is connected to VGA port, connector-type is 0x10 (I'm using 10.7 kexts):-
Attached File  ati_vga_port.jpg   128.57KB   128 downloads

#123
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,278 posts
  • Gender:Male

I tried AppleHDA.kext from 10.6.2 - 10.6.6, still failed to get HDMI audio to work. I always get:-

Sound assertion "0 == hdaGfxCandidate" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 889 goto Exit

That means the hda-gfx pair are not matching up between the audio&video drivers... You souldn't be getting that assertion failure if you have things configured right.

#124
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

That means the hda-gfx pair are not matching up between the audio&video drivers... You souldn't be getting that assertion failure if you have things configured right.

hda-gfx does matched up between audio & video. You did checked my ioreg earlier.

#125
VCH888

VCH888

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 585 posts

I found when LCD monitor is connected to VGA port, connector-type is 0x10 (I'm using 10.7 kexts):-
Attached File  ati_vga_port.jpg   128.57KB   128 downloads


try to don't inject a name of framebuffer from dsdt since using framebuffer of 10.7

#126
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

try to don't inject a name of framebuffer from dsdt since using framebuffer of 10.7

Going to remove it since I'm able to boot with Kabyl's boot file now (fixed it by adding the device ID for my graphic card in ati.c).

#127
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 949 posts
  • Gender:Male

Yes, I get video output through HDMI.


I'm using 10.7's kext. The 10.7's ATIFramebuffer is different than 10.6's Framebuffer. So I'm unable to test the senseid.

With 10.6's kexts & ATIFramebuffer patched, no output on external monitor (connected to HDMI). The display just sleep. However, monitor does detected in IORegistry with correct EDID & correct connector-type (0x800). When checked via VNC, I found QE/CI are enabled.

These are screenshots of the HDAU device:-



Regarding your screen shot, specifically the one with HDAU highlighted. Where is GFX0? Normally you would see

P0P2 (same as PEGP)
>IOPCI2PCIBridge
->GFX0
--->ATIxxxxController
--->ATIRadeon
--->.......
--->HDAU

In your IOReg, It looks like M86 is in place of GFX0. If M86 does not have hda-gfx <"onboard-1"> there won't be HDMI audio. Verify you have GFX0 functionality (in addition to HDAU) as noted by tmongkol in his reply above.

#128
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,278 posts
  • Gender:Male

hda-gfx does matched up between audio & video. You did checked my ioreg earlier.


That assertion failure:
"Sound assertion "0 == hdaGfxCandidate" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 889 goto Exit"
is what you get if the audio code finds the hda-gfx string under HDEF or HDAU but can't find any hda-gfx for the video device.

In the above message I can see that you're running a pretty old version of AppleHDA - 10.6.2. Antique AppleHDA mixed with 10.7 video drivers is just begging for trouble IMO. The class structure may have changed enough to break the matching. Try 10.6.6 at least.

#129
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

That assertion failure:
"Sound assertion "0 == hdaGfxCandidate" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 889 goto Exit"
is what you get if the audio code finds the hda-gfx string under HDEF or HDAU but can't find any hda-gfx for the video device.

In the above message I can see that you're running a pretty old version of AppleHDA - 10.6.2. Antique AppleHDA mixed with 10.7 video drivers is just begging for trouble IMO. The class structure may have changed enough to break the matching. Try 10.6.6 at least.

The screenshot error message was taken when I tried AppleHDA from 10.6.2. In the process to get HDMI audio working, I tried AppleHDA from 10.6.2 to 10.6.6. With all version, I got the above assertion failure. I don't know why the error occurred because in HDAU & M86 (video) devices, both have "hda-gfx=onboard-1", as you saw in my IORegistry I posted in a couple post back. I'm guessing the assertion failure occurred because I'm using 10.7 kexts. I also tried, which I don't believe will make any different, renamed the M86 device to GFX0 in DSDT. The result is the same assertion error occurred. So, I think 10.7 kext have something to do with the error.

EDIT: Going to try a couple of things & I'll post the IORegistry again.

#130
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
This is my latest IORegistry & also System Profiler dump if anyone want to examine it too.
Attached File  kizwan_macbook.ioreg.zip   597.1KB   9 downloads
Attached File  kizwan_macbook.spx.zip   152.01KB   5 downloads

Remember, I'm using:-
  • 10.7 kexts:-
    • ATI4600Controller.kext
    • ATIFramebuffer.kext
    • ATISupport.kext
  • Kabyl's boot file - add ATI graphic card device ID in ATI.C:-
    • { 0x9553,	0x02BD1028,	CHIP_FAMILY_RV710,		"ATI Radeon 4500 Mobility Series",	kPeregrine	},

These are screenshots I taken for quick look:-
Attached File  hdmi_in_sp.jpg   37.83KB   46 downloadsAttached File  hdmi_monitor_in_sp.jpg   53KB   52 downloadsAttached File  10.6.6_32_bit_in_sp.jpg   38.35KB   41 downloads
Attached File  gfx0_hda_gfx.jpg   375.44KB   38 downloadsAttached File  hdau_hda_gfx.jpg   288.32KB   28 downloadsAttached File  hdau_ioreg.jpg   249.39KB   35 downloads
Attached File  hdaGfxCandidate_assertion.jpg   181.15KB   29 downloadsAttached File  sound_preferences.jpg   93.08KB   23 downloads

Any idea or suggestion please let me know. I'll try them.

EDIT: To anyone who only read this post might have a couple of questions.
FAQ:-
  • Why are you using 10.7 kexts?
    • I got no output on the external monitor with 10.6.6 kexts but the monitors are properly recognized in IORegistryExplorer & System Profiler (checked via VNC). When using 10.7 kexts, I got output on the external monitor.
  • Do you realized this thread is about patching 10.6 ATIFramebuffer to get HDMI audio working?
    • Yes, I realized that but I have plan later to test 10.6.6 kexts again to see whether I can get HDMI audio working with it or not.


#131
VCH888

VCH888

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 585 posts
@ kizwan

I looked at a picture of Display's System Profiler and it told me that you connected to SMB2330H. Then, I searched information of SMB2330H and found out that this monitor doesn't have built-in speakers. Need to connect to an LCD TV or a receiver that supports HDMI audio.
Attached File  smb2330h.jpg   268.05KB   31 downloads
Attached File  smb2330h_1.jpg   316.25KB   19 downloads


I have no idea why you got sound assertion. Could you disconnect HDMI cable and see what's going on?

#132
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

@ kizwan

I looked at a picture of Display's System Profiler and it told me that you connected to SMB2330H. Then, I searched information of SMB2330H and found out that this monitor doesn't have built-in speakers. Need to connect to an LCD TV or a receiver that supports HDMI audio.
Attached File  smb2330h.jpg   268.05KB   31 downloads
Attached File  smb2330h_1.jpg   316.25KB   19 downloads


I have no idea why you got sound assertion. Could you disconnect HDMI cable and see what's going on?

There is an audio out port at the back of the monitor. This shouldn't be a problem right? The monitor can accept audio through HDMI link. I just need to plugged in speaker to my monitor.

Sure. I'll get back to you on this (disconnect HDMI cable). I just tried with 10.6.6 kexts, I got the same assertion error but this is debatable since there is no video output on the external monitor even though the external monitor is properly recognized in IORegistry (EDID is correct).

#133
VCH888

VCH888

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 585 posts

There is an audio out port at the back of the monitor. This shouldn't be a problem right? The monitor can accept audio through HDMI link. I just need to plugged in speaker to my monitor.

Sure. I'll get back to you on this (disconnect HDMI cable). I just tried with 10.6.6 kexts, I got the same assertion error but this is debatable since there is no video output on the external monitor even though the external monitor is properly recognized in IORegistry (EDID is correct).


Attached File  audio.jpg   87.9KB   57 downloads
Please try and let me know.
Thanks.

#134
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

Attached File  audio.jpg   87.9KB   57 downloads
Please try and let me know.
Thanks.

Disconnecting the HDMI cable doesn't help either. The same assertion error occurred. Connecting HDMI cable after boot also doesn't make it to work. I already connected speaker to it. In windows it's working perfectly though.

Thank you for your help. I'll need to examine my DSDT again. Probably something else in it that prevent HDMI audio from working. My DSDT is fresh/new, just added few basic fix (HPET, RTC, HDEF, AppleLPC, SBUS & hda-gfx for HDAU & GFX0) in it.

#135
checcco

checcco

    InsanelyMac Protégé

  • Members
  • PipPip
  • 96 posts
Guys I hope someone can understand what's happening here...

I've got a mobility 5650 and I've got some good results with Lion's kexts, but I wanted to try with 10.6.6 stock kexts.

So I read bbc9 guide and chose to use Vervet because it has 01 as senseid for HDMI just like my card.

So I attached my HDMI monitor and rebooted. The very strange thing is: I got desktop on my internal display while my HDMI remains black, but if I deattach my HDMI my internal turns black too..

So...OSX is convinced to "send images" to my HDMI (system profiler reports my HDMI monitor), but images arrive on my laptop! How can it be?

#136
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

Guys I hope someone can understand what's happening here...

I've got a mobility 5650 and I've got some good results with Lion's kexts, but I wanted to try with 10.6.6 stock kexts.

So I read bbc9 guide and chose to use Vervet because it has 01 as senseid for HDMI just like my card.

So I attached my HDMI monitor and rebooted. The very strange thing is: I got desktop on my internal display while my HDMI remains black, but if I deattach my HDMI my internal turns black too..

So...OSX is convinced to "send images" to my HDMI (system profiler reports my HDMI monitor), but images arrive on my laptop! How can it be?

Please post your connection table (Vervet). This is original connection table for Vervet:-
VERVET:-
0000000	00  04  00  00  00  04  00  00  00  01  00  00  12  04  04  02  
0000010	04  00  00  00  14  00  00  00  00  01  00  00  01  12  01  04  
0000020	00  02  00  00  14  00  00  00  00  01  00  00  00  00  06  03  
0000030	00  08  00  00  00  02  00  00  00  01  00  00  22  05  05  01
Also the readout from the ROM file also can be helpful, for example:-
ATOM BIOS Rom: 
	SubsystemVendorID: 0x1028 SubsystemID: 0x02bd
	IOBaseAddress: 0x0000
	Filename: BR034783.006
	BIOS Bootup Message: 
BR034783-006 M92 DDR3 64bit 500e/800m									   

Connector at index 0 type: VGA (1)
Connector's i2cid: 95
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 91
Connector at index 2 type: LVDS (7)
Connector's i2cid: 90
With these information help will come to you faster. :)

#137
checcco

checcco

    InsanelyMac Protégé

  • Members
  • PipPip
  • 96 posts
Something very strange is happening to my pc...

This is stock Vervet from 10.6.6
0000000	00  04  00  00  00  04  00  00  00  01  00  00  12  04  04  02
0000010	04  00  00  00  14  00  00  00  00  01  00  00  01  12  01  04
0000020	00  02  00  00  14  00  00  00  00  01  00  00  00  00  06  03
0000030	00  08  00  00  00  02  00  00  00  01  00  00  22  05  05  01
and this is my mobility 5650 rom:
ATOM BIOS Rom: 
SubsystemVendorID: 0x103c SubsystemID: 0x1448
IOBaseAddress: 0x4000
Filename: BR38421.001 
BIOS Bootup Message: 
MADISON Lenovo-Yx60-Madison Pro DDR3 64Mx16 500E/600M					   
Connector at index 0 type: LVDS (7)
Connector's i2cid: 96
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 90
Connector at index 2 type: VGA (1)
Connector's i2cid: 97
Since senseid for my HDMI is 01, I booted with AtiConfig=Vervet without patching ATIFramebuffer expecting to have OSX to recognize my HDMI...

Instead...

I got images on my internal display, my HDMI monitor was black but system profiler said it was plugged.
Unplugging the external monitor resulted in black screen on internal laptop too... Why?

I'm kinda a newbie experimenting, so I'm going to say something stupid probably but...maybe some of this numbers
0000030	00  08  00  00  00  02  00  00  00  01  00  00  22  05  05  01
says OSX where to "send" images???

#138
atlee

atlee

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 697 posts
  • Gender:Male
  • Location:South NSW, Australia
Kizwan also to add to this. My ATI Mobility 5650 works using Eulemur with 3D acceleration using 10.7 kexts however when installing Lion and trying to use Eulemur I get blank screen. It is like it goes to change resolution then screen switches black.

I have made a DSDT but i cannot test it until someone gets a bootloader to work with Lion.

Evoenabler produces blank screen.
ATY 5600 edition that netkas made causes CPU panic.

DSDT i was thinking was my only solution.

What I would like to find out is what is the difference between using 10.7 kexts inside 10.6.6 and using 10.7 kexts inside 10.7? Would it be the IOGraphicsFamily.kext causing something.

ATI5000Controller loads in Lion.
ATIRadeonX3000 loads in Lion.
ATISupport loads in Lion.
ATIFramebuffer does not load. However I can use this in 10.6.6 fine?

Startup says CARD in Slot 1 without using any injectors, but nothing happens desktop loads 800x600, sometimes 1024x768.

10.6.6 Injects through PCI0 --> P0P2@3 --> VGA@0 (This makes my LVDA (Laptop screen working and VGA port) Haven't tested HDMI.

@bbc9 this is awsome, will look into editing the Framebuffer personality. I will be reading this section thoroughly. :)

#139
atlee

atlee

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 697 posts
  • Gender:Male
  • Location:South NSW, Australia
Well I have a rom dump, and my ioreg from 10.6.6 and ioreg from 10.7.

OK figured out radeondump, reads rom file.
ATOM BIOS Rom: 
	SubsystemVendorID: 0x103c SubsystemID: 0x1448
	IOBaseAddress: 0x4000
	Filename: BR38421.001 
	BIOS Bootup Message: 
MADISON Lenovo-Yx60-Madison Pro DDR3 64Mx16 500E/600M					   

Connector at index 0 type: LVDS (7)
Connector's i2cid: 96
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 90
Connector at index 2 type: VGA (1)
Connector's i2cid: 97

Attached File  Archive.zip   1.03MB   22 downloads

#140
wmarsh

wmarsh

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 900 posts

10.6.6 Injects through PCI0 --> P0P2@3 --> VGA@0 (This makes my LVDA (Laptop screen working and VGA port) Haven't tested HDMI.

Thank you, very helpful to those of us still trying to get our LVDS working.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy