Jump to content

Radeon HD 4850 working with Mavericks + Chameleon, but not with Yosemite + Clover


Romano2K
 Share

34 posts in this topic

Recommended Posts

Hello there!

 

After more than 3 weeks and 75 messages in the French section of this forum, without success until now, I'm trying to state my problem in English here.

 

I'm trying to install Yosemite and Clover on my old but venerable hackintosh, but I can't get graphics acceleration.

 

I have a Gigabyte GA-G31M-S2L motherboard, an Intel Core 2 Duo E8400 CPU and an AMD Radeon HD 4850 GPU. I'm not using the integrated sound controller, but an external MOTU sound interface. Everything works great with Mavericks and Chameleon. I have a handmade DSDT (made by someone from the MyHack forum) so I only need FakeSMC.kext (from the HWSensor binaries), RealtekRTL8111.kext (by Mieze), and I just add the Radeon HD 4850 Device ID to the AMD4800Controller.kext myself. It's strange but it's already in the original ATIRadeonX2000.kext. I then use MyHack's MyFix to repair permissions and handle caches. And I boot with GraphicsEnabler=Yes.

 

With Yosemite and Clover, adding the Device ID to AMD4800Controller.kext and enabling ATI inject in /EFI/EFI/CLOVER/config.plist isn't enough. The DVI output is working, but it's stuck to 1600 x 1200 pixels (my screen is 1920 x 1200), and there's no hardware acceleration. And there's something strange, kexts and framebuffer are loaded:

Romains-iMac:~ Romain$ kextstat | grep AMD
   65    1 0xffffff7f846fb000 0x11f000   0x11f000   com.apple.kext.AMDSupport (1.2.8) <64 63 12 11 7 5 4 3 1>
   66    0 0xffffff7f86dc6000 0x181000   0x181000   com.apple.kext.AMD4800Controller (1.2.8) <65 63 12 11 5 4 3 1>
Romains-iMac:~ Romain$ kextstat | grep ATI
   67    0 0xffffff7f8374f000 0x233000   0x233000   com.apple.ATIRadeonX2000 (10.0.0) <63 12 7 6 5 4 3 1>
Romains-iMac:~ Romain$ ioreg | grep ATY
    | |   |   | +-o ATY,Motmot@0  <class IONDRVDevice, id 0x100000238, registered, matched, active, busy 0 (28 ms), retain 8>
    | |   |   | +-o ATY,Motmot@1  <class IONDRVDevice, id 0x100000239, registered, matched, active, busy 0 (0 ms), retain 8>
Any idea? :-)
Link to comment
Share on other sites

hello

 

try to use this injector + original kext

 

attachicon.gifLegacyATI4800Controller.kext.zip

I was using a file named LegacyATI4800Controller.kext when I was using Lion or Mountain Lion. But I'm pretty sure it's not working anymore with Mavericks, at least with Chameleon and the file in /Extra/Extensions. Are you sure it's still working with newer OS X versions?

 

and must the kext-dev-mode=1

I haven't mentionned it, but I'm already booting with kext-dev-mode=1. Isn't it mandatory to be able to use FakeSMC.kext and RealteakRTL8111.kext?

 

u use chameleon..

Sorry but I don't understand this part.

 

using clover u place the injector in /Clover/kexts/10.10

With my current setup, I had no 10.10 folder in /EFI/EFI/Clover/kexts (ESP setup). I had to create it myself, but my computer wasn't able to boot with FakeSMC.kext and RealtekRTL8111.kext in /EFI/EFI/CLOVER/kexts/10.10. It works with these kexts in /System/Library/Extensions. Can I try with LegacyATI4800Controller.kext in /S/L/E?

 

Anyway thank you!

Link to comment
Share on other sites

hello

 

i use clover and inject in cache all my kext from 10.10 folder .. this way i don't need to use the flag kext-dev-mode=1

I understand what you do. But do you know if it's supposed to be working with Clover in ESP? When I tried for the first time, days ago, it wasn't working: FakeSMC.kext was in /EFI/EFI/CLOVER/kexts/10.10 but OS X was hanging right after login.

 

sorry try this new one .. the kext in yose change name

 

attachicon.gifLegacyAMD4800Controller.kext.zip

 

good hack

I think the name of the file has no consequence, but thank you anyway. :-)

 

 

 

Anyway let's try with your LegacyAMD4800Controller.kext in /S/L/E. Here's what I did in Terminal:

 

Romains-iMac:Extensions Romain$ pwd
/System/Library/Extensions
Romains-iMac:Extensions Romain$ sudo mv /Users/Romain/Downloads/LegacyAMD4800Controller.kext .
Romains-iMac:Extensions Romain$ sudo chown -R root:wheel LegacyAMD4800Controller.kext
Romains-iMac:Extensions Romain$ sudo chmod -R 755 LegacyAMD4800Controller.kext
Romains-iMac:Extensions Romain$ sudo kextcache -prelinked-kernel
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext RealtekRTL8111.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext LegacyAMD4800Controller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
Romains-iMac:Extensions Romain$
Let's reboot and see what happens. :-)
Link to comment
Share on other sites

hello

 

is not only the name u compare the 2 ..

 

anyway it should work from 10.10 folder 

 

Last login: Mon Nov 17 18:29:03 on console

MacBook-Pro:~ artur_pt$ sudo kextcache -prelinked-kernel

Password:

 

MacBook-Pro:~ artur_pt$

 

 

good hack

Link to comment
Share on other sites

It doesn't work with LegacyAMD4800Controller.kext in /S/L/E. Still no graphics acceleration.

 

But AMD kexts are loaded, according to kextstat:

 

Romains-iMac:~ Romain$ kextstat | grep AMD
   44    1 0xffffff7f846fb000 0x11f000   0x11f000   com.apple.kext.AMDSupport (1.2.8) <43 42 12 11 7 5 4 3 1>
   45    0 0xffffff7f86dc6000 0x181000   0x181000   com.apple.kext.AMD4800Controller (1.2.8) <44 42 12 11 5 4 3 1>
Romains-iMac:~ Romain$ kextstat | grep ATI
   82    0 0xffffff7f8374f000 0x233000   0x233000   com.apple.ATIRadeonX2000 (10.0.0) <42 12 7 6 5 4 3 1>
What can be wrong?

_________

 

Anyway, in fact, it works exactly the same with kexts in /EFI/EFI/CLOVER/kexts/10.10 and without kext-dev-mode=1.

 

Just for information. :-)

Link to comment
Share on other sites

hello

 

very stange that situation .. sure u are doing something wrong..

 

http://www.insanelymac.com/forum/files/category/3-graphics-cards/

 

try to talk with fantomas1 ..

 

good hack

Hehe thanks, but I'm already in contact with him. He suggested several solutions in the topic I created in the French section, including injecting through Clover, but none worked. I double checked everything that I did, and even restarted from scratch twice. He's out of idea right now.

 

That's why I created this thread in English.

 

 

 

Anyway I just tried to reinstall Yosemite from scratch, this time using Chameleon as the bootloader. I get perfect graphics acceleration easily, just with GraphicsEnabler=Yes and your LegacyAMD4800Controller.kext file in /Extra/Extensions.

 

So it seems to be a problem related to Clover, only I don't know what.

 

Any new idea from this?

Link to comment
Share on other sites

hello

 

u can try to inject the dev id directly in info.plist in the kext... using clover ...

 

but the injector should work also in clover

 

remember .. clover inject the kexts in cache or apply any patch in cache .. sometimes must reboot several times to the kext be in cache

 

i use 2 injectors in clover without any problem ..

 

good hack

Link to comment
Share on other sites

hello

 

u can try to inject the dev id directly in info.plist in the kext... using clover ...

 

but the injector should work also in clover

 

remember .. clover inject the kexts in cache or apply any patch in cache .. sometimes must reboot several times to the kext be in cache

 

i use 2 injectors in clover without any problem ..

 

good hack

I'm not sure that I waited several reboots before trying yet another solution.

 

But do you remember that the 3 needed kexts were loaded? So the manual Device ID injection was working, isn't it?

Link to comment
Share on other sites

  • 2 weeks later...

I have restarted from scratch with Yosemite + Clover (last version).

 

I configured Clover step by step, in case it would have learned something to me, but I still get the same result.

 

Here's what I did:

  • Installed Yosemite
  • Rebooted and completed the welcome wizard
  • Installed Clover with standard settings (ESP, RC scripts)
  • Copied my DSDT.aml file to /Volumes/EFI/EFI/CLOVER/ACPI/patched
  • Copied FakeSMC.kext and RealtekRTL8111.kext to /Volumes/EFI/EFI/CLOVER/kexts/10.10
1.

I then tried to reboot once, it went fine. I executed ioreg | grep ATY, which returned nothing, then kextstat | grep AMD then ATI, and got AMDSupport.kext and ATIRadeonX2000.kext loaded.

 

2.

Then I enabled Inject ATI True and rebooted. This time ioreg showed that the ATY framebuffer was activated.

 

3.

Lastly I enabled the ATI FakeID with a Radeon HD 4870 ID (0x94401002) and rebooted. As expected AMD4800Controller.kext was loaded. But I still have no QE/CI, graphics acceleration or native resolution.

 

What can be wrong? Damn I'm stuck for weeks now! :-|

Link to comment
Share on other sites

in clover plist, boot section

<key>Arguments</key>

<string>kext-dev-mode=1</string>

this is needed, event if the kext was patched from native kext and current version.

 

i may be incorrect,  graphic kexts must be in SLE.

 

Grep bootlog will not give correct kext status.

 

goto: About this mac -> System Report - > Software -> Extension (take a about a minutes to list)

 

You will find your patched kext  as unsigned. (whether is loaded or not)

 

if you have 1024x768 and no qe/ci,  normally means, no kext of fb were loaded. (likely unloaded by OS X)

 

Why not roll back to chameleon loader.

  • Like 1
Link to comment
Share on other sites

in clover plist, boot section

 

<key>Arguments</key>

<string>kext-dev-mode=1</string>

 

this is needed, event if the kext was patched from native kext and current version.

 

i may be incorrect, graphic kexts must be in SLE.

I'm not using any graphics kext here, I'm only using parameters in Clover's config.plist. And it's enough to get AMDSupport.kext, AMD4800Controller.kext, ATIRadeonX2000.kext and the ATY MotMot framebuffer loaded.

 

I've enabled kext-dev-mode but it doesn't help.

 

Grep bootlog will not give correct kext status.

 

goto: About this mac -> System Report - > Software -> Extension (take a about a minutes to list)

 

You will find your patched kext as unsigned. (whether is loaded or not)

I'm not using the bootlog, I'm using live commands like ioreg and kextstat. They've been returning exactly the same results as the System profiler's Extensions list until now, but I've double checked and here are the results:

*AMD4800Controller is listed as loaded and "obtained from Apple" (my system is in french, I don't know if it's the same words in english)

*AMDSupport is loaded too

*ATIRadeonX2000 is loaded too

 

I discovered an AMDFramebuffer extension, which isn't loaded, but I don't know it should be.

 

if you have 1024x768 and no qe/ci,  normally means, no kext of fb were loaded. (likely unloaded by OS X)

ioreg | grep ATY returns two lines with ATY,Cardinal (I specified this framebuffer in Clover's config.plist). It means that it's loaded, isn't it?

 

Why not roll back to chameleon loader.

Because I'd like to use iMessage and it's impossible (at least with my knowledge) with Chameleon. And Clover has become some sort of challenge, I don't want to give up after so much time and tries. :-)

Link to comment
Share on other sites

If you do not have  any Patched  Graphics kexts installed,  then this kext-dev-mode=1  is NOT  needed.

then you should put,  FakeSMC, NullCpuPower, Lan, Audio, etc in Clover Kext 10.10 folder.

Then  ThisMAC->Software->Extensions will show every kext as APPLE,  others are not loaded.

NONE of those kexts installed in Clover's Folder, will be listed.

First, Confirm that is the case.

 

may try this,  different version or bared FakeSMC (no plugins)

Clover will inject SMBBios info,  you may override it , with your chameleon's hardware info.

 

Can you list your graphic info like this,

 

Zotac GeForce GT 630:

 

  Chipset Model: Zotac GeForce GT 630

  Type: GPU

  Bus: PCIe

  Slot: PCI Slot 0

  PCIe Lane Width: x16

  VRAM (Total): 2048 MB

  Vendor: NVIDIA (0x10de)

  Device ID: 0x0f00

  Revision ID: 0x00a1

  ROM Revision: 70.08.AD.00.1B

  Displays:

SONY AVAMP:

  Resolution: 1920 x 1080 @ 60Hz (1080p)

  Pixel Depth: 32-Bit Color (ARGB8888)

  Mirror: Off

  Online: Yes

  Rotation: Supported

  Television: Yes

SAMSUNG:

  Resolution: 1920 x 1080 @ 60Hz (1080p)

  Pixel Depth: 32-Bit Color (ARGB8888)

  Main Display: Yes

  Mirror: Off

  Online: Yes

  Rotation: Supported

  Television: Yes


if all required graphics kexts are loaded (with exception of FB)

you may try this following. (i tested similar method on INTEL hdgrahics FB, and succeeded)

 

Find and download a number of patched Kexts known to work with your graphic card (10.9 to 10.8).

Extract the FB from it 

add kext-dev-mode=1  boot flag

install one at time, to test the FB will be loaded with you current KEXT.

Link to comment
Share on other sites

If you do not have any Patched  Graphics kexts installed, then this kext-dev-mode=1 is NOT  needed.

then you should put,  FakeSMC, NullCpuPower, Lan, Audio, etc in Clover Kext 10.10 folder.

Then  ThisMAC->Software->Extensions will show every kext as APPLE, others are not loaded.

NONE of those kexts installed in Clover's Folder, will be listed.

First, Confirm that is the case.

I'm not using any patched kext, I'm only using third party kexts in /CLOVER/kexts/10.10 and Clover parameters. So I can confirm that I haven't any unsigned kexts in the Extensions list.

____

 

may try this,  different version or bared FakeSMC (no plugins)

Clover will inject SMBBios info,  you may override it , with your chameleon's hardware info.

 

Can you list your graphic info like this,

 

Zotac GeForce GT 630:

 

  Chipset Model: Zotac GeForce GT 630

  Type: GPU

  Bus: PCIe

  Slot: PCI Slot 0

  PCIe Lane Width: x16

  VRAM (Total): 2048 MB

  Vendor: NVIDIA (0x10de)

  Device ID: 0x0f00

  Revision ID: 0x00a1

  ROM Revision: 70.08.AD.00.1B

  Displays:

SONY AVAMP:

  Resolution: 1920 x 1080 @ 60Hz (1080p)

  Pixel Depth: 32-Bit Color (ARGB8888)

  Mirror: Off

  Online: Yes

  Rotation: Supported

  Television: Yes

SAMSUNG:

  Resolution: 1920 x 1080 @ 60Hz (1080p)

  Pixel Depth: 32-Bit Color (ARGB8888)

  Main Display: Yes

  Mirror: Off

  Online: Yes

  Rotation: Supported

  Television: Yes

 

Here is the result on my Mavericks + Chameleon hard drive:

 

ATI Radeon HD 4850 Series :

 

Jeu de composants : ATI Radeon HD 4850 Series

Type : Processeur graphique (GPU)

Bus : PCIe

Longueur de la voie PCIe : x16

VRAM (totale) : 1024 Mo

Fournisseur : ATI (0x1002)

Identifiant du périphérique : 0x9442

Identifiant de révision : 0x0000

 

Moniteurs :

 

S2433W :

Résolution : 1920 x 1200

Profondeur de pixels : Couleurs 32 bits (ARGB8888)

Numéro de série du moniteur : 22391089

Moniteur principal : Oui

Miroir : Désactivé

Connecté : Oui

Rotation : Géré

____

 

if all required graphics kexts are loaded (with exception of FB)

you may try this following. (i tested similar method on INTEL hdgrahics FB, and succeeded)

 

Find and download a number of patched Kexts known to work with your graphic card (10.9 to 10.8).

Extract the FB from it

add kext-dev-mode=1  boot flag

install one at time, to test the FB will be loaded with you current KEXT.

How can I check if the FB is loaded or not? I don't know where to look here.

Link to comment
Share on other sites

Ok I don't know why I haven't done this sooner: here's a comparaison of what ioreg and kextstat return in my working Mavericks + Chameleon installation and non-working Yosemite + Clover installation.

 

Mavericks + Chameleon

 

I've just enabled GraphicsEnabler and added my Device ID directly into AMD4800Controller.kext.

Human:~ Romain$ kextstat | grep ATI
   69    0 0xffffff7f81618000 0x22f000   0x22f000   com.apple.ATIRadeonX2000 (8.2.4) <64 11 7 6 5 4 3 1>
Human:~ Romain$ kextstat | grep AMD
   66    2 0xffffff7f81f06000 0x127000   0x127000   com.apple.kext.AMDSupport (1.2.4) <65 64 11 10 7 5 4 3 1>
   67    0 0xffffff7f82064000 0x180000   0x180000   com.apple.kext.AMD4800Controller (1.2.4) <66 64 11 10 5 4 3 1>
   70    0 0xffffff7f8202d000 0x24000    0x24000    com.apple.kext.AMDFramebuffer (1.2.4) <66 64 11 10 7 5 4 3 1>
Human:~ Romain$ ioreg | grep ATY
    | |   |   | +-o ATY,MotMot@0  <class AtiFbStub, id 0x100000246, registered, matched, active, busy 0 (25 ms), retain 8>
    | |   |   | | +-o ATY_MotMot  <class AMDFramebuffer, id 0x100000248, registered, matched, active, busy 0 (25 ms), retain 19>
    | |   |   | +-o ATY,MotMot@1  <class AtiFbStub, id 0x100000247, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | | +-o ATY_MotMot  <class AMDFramebuffer, id 0x10000024e, registered, matched, active, busy 0 (0 ms), retain 15>
____

 

Yosemite + Clover

 

Inject ATI true, FakeID 0x94401002 (Radeon HD 4870's Device ID), FBName Cardinal (saw this in AMD4800Controller).

 

This is as far as I can get.

Romains-iMac:~ Romain$ kextstat | grep ATI
   67    0 0xffffff7f8374f000 0x233000   0x233000   com.apple.ATIRadeonX2000 (10.0.0) <63 12 7 6 5 4 3 1>
Romains-iMac:~ Romain$ kextstat | grep AMD
   65    1 0xffffff7f846fb000 0x11f000   0x11f000   com.apple.kext.AMDSupport (1.2.8) <64 63 12 11 7 5 4 3 1>
   66    0 0xffffff7f86dc6000 0x181000   0x181000   com.apple.kext.AMD4800Controller (1.2.8) <65 63 12 11 5 4 3 1>
Romains-iMac:~ Romain$ ioreg | grep ATY
    | |   |   | +-o ATY,Cardinal@0  <class IONDRVDevice, id 0x100000238, registered, matched, active, busy 0 (28 ms), retain 8>
    | |   |   | +-o ATY,Cardinal@1  <class IONDRVDevice, id 0x100000239, registered, matched, active, busy 0 (0 ms), retain 8>
So in fact the only thing missing is the proper framebuffer. The "only thing" to do is to understand why it's not loaded.

 

Any new idea? :-)

Link to comment
Share on other sites

To be honest I've already started to seek help in the ProjectOSX's Clover section. I just cross-posted this comparaison, I'll wait for an answer.

 

In the meantime if by any chance anyone as an idea of how to fix this, feel free! ;-) I'm willing to reinstall from scratch if it's needed, I've done it 5 times a day these days.

Link to comment
Share on other sites

Why do you specify the Cardinal FB (does it even exist?) and a 4870 ID? You're injecting wrong information, just let Clover decide what to do, it already knows which FB corresponds to your graphics card:

 

{ 0x9442, 0x00000000, CHIP_FAMILY_RV770, "ATI Radeon HD 4850 Series", kMotmot },

Link to comment
Share on other sites

Why do you specify the Cardinal FB and a 4870 ID? You're injecting wrong information, just let Clover decide what to do, it already knows which FB corresponds to your graphics card:

 

{ [/size]0x9442[/size],[/size] [/size]0x00000000[/size], CHIP_FAMILY_RV770,[/size] [/size]"ATI Radeon HD 4850 Series"[/size],[/size] [/size]kMotmot[/size] [/size]},[/size]

I've already tried many things.

 

The first thing I did with Clover was trying to replicate my Chameleon configuration, ie just enabling Inject ATI (which is the closest thing to enabling GraphicsEnabler from what I understand) and adding the Radeon HD 4850's Device ID to AMD4800Controller.kext, modifying Info.plist then using Clover parameters.

 

If I don't specify the FB, ioreg gives exactly the same result but with MotMot instead of Cardinal. I've tried Cardinal because there are references to it in the AMD4800Controller.kext.

Link to comment
Share on other sites

Cardinal is like the chip's family name or something like that, not a framebuffer. The actual problem may come from the mix of solutions you've piled on your system.

 

adding the Radeon HD 4850's Device ID to AMD4800Controller.kext, modifying Info.plist then using Clover parameters

 

Just inject the model id with FakeID (0x94421002), enable the related DSDT fixes (AddDTGP_0001+FixDisplay_0100) and it should work. From the wiki:

 

This substitution will work if InjectATI (Nvidia, Intel) is set. Or if FixDsdtMask set for the device.

Link to comment
Share on other sites

Cardinal is like the chip's family name or something like that, not a framebuffer. The actual problem may come from the mix of solutions you've piled on your system.

I have to admit I'm trying everything since it's been several weeks that I'm trying to fix this and I don't totally understand everything.

 

Just inject the model id with FakeID (0x94421002), enable the related DSDT fixes (AddDTGP_0001+FixDisplay_0100) and it should work. From the wiki:

I'm using a DSDT.aml file fixed a few years ago by some expert from the myHack forum, as DSDT editing is beyond my abilities. I think that a DSDT file overrides fixes chosen with Clover, am I right?

 

Is there anything I have to do besides moving my DSDT.aml file so that I don't get a kernel panic? Like disabling AppleCPUPowerManagement somehow? I'm using an old GA-G31M-S2L motherboard with a Core 2 Duo E8400 CPU.

 

Anyway thank you for your help, I'm regaining hope. :-)

Link to comment
Share on other sites

 DVI output is working, but it's stuck to 1600 x 1200 pixels (my screen is 1920 x 1200), and there's no hardware acceleration. And there's something strange, kexts and framebuffer are loaded:

 

If your Res is other than 1024x768, means  FB was loaded, 

No QE CI means Plugin or kext is loaded.

 

Does  Graphic memory size show in 10.10 as 1024MB or something else.

 

If  you move kext and plugin bundles around, may have changed PERM AND OWNER   by accident.

Try UTILITIES  - > DISK UTILITY -> REPAIR PERM

REBOOT

 

IF GRAPHIC MEMORY WAS INCORRECT, TRY graphic section in clover plist, add VRAM 1024

 

HCL 10.9 at least one user said, patch is required for your card

google HCL 10,9 ATI 4850

 

this is the link for the patch

"QE_CI Exotic patch"

 


google hcl 10.10 ati 4830 also need patch.


THIS IS THE LINK  POSTED BY 4830 USER

QE_CI Exotic patch

Link to comment
Share on other sites

 Share

×
×
  • Create New...