Jump to content

ATI Radeon HD6000, HD5000 and HD4000 series support in Chameleon


Kabyl
 Share

868 posts in this topic

Recommended Posts

Hi guys,

 

Got a bit of an issue here with my 5770 Silent Cell (single DVI) in 10.6.6 64bit

The desktop loads but I'm either stuck at verbose mode (when using the bootflag) or the spinning apple screen.

I know the desktop has loaded because I can reboot from keyboard.

 

Verbose posts this: Device in slot 1

 

I'm using Ati Experimental Bootloader and GraphicsEnabler=yes, with or without dsdt has same issue.

I've tried using different framebuffers but have not tried the ATI_INIT kext.

I had another install still at 10.6.3 and this loaded the desktop (when I didn't use the dsdt) but only in 1024 res and probably without CI/QE

 

Any ideas lads?

 

Thx

Link to comment
Share on other sites

Hi Kabyl,

 

I tried the boot file on my notebook, Dell Studio 1557. It hang after ATI gpu is detected. I got the same issue even when I load the ROM file using "UseAtiROM=Yes". Please refer to screenshots below.

post-125711-1299331296_thumb.jpgpost-125711-1299331399_thumb.jpg

Link to comment
Share on other sites

Try setting PCIRootUID=1 and see what happens

 

now as per my post above, is it a missing kext thats preventing QE/CI on my machine?

 

any help would be much appreciated.

 

 

****Disregard, QE/CI is working just fine, just wasn't checking for it properly!

Link to comment
Share on other sites

Hi, some post above I posted feedback about an error.

 

ATI card POSTed, reading VBIOS from legacy space
Memory allocation error! Addr=0xdeadbeef, Size 0x0 File=ati.c, Line=668
This is anon recoverable error! System HALTED!

 

I've edited the kabyl's source to add my card 0x95531002 (Mobility 4570) and I've void the part of the code that was getting me an error. I changed the 3rd line. From if (!card->rom) to if (1). What does this code?

 

bool get_romrevision_val(value_t *val) 
{
uint8_t *rev;
if (1)
	return false;

rev = card->rom + *(uint8_t *)(card->rom + OFFSET_TO_GET_ATOMBIOS_STRINGS_START);

val->type = kPtr;
val->size = strlen((char *)rev);
val->data = malloc(val->size);

if (!val->data)
	return false;

memcpy(val->data, rev, val->size);

return true;
}

 

Now it boots and seems to work properly, I can change the Fb with AtiConfig command but in System Profile in Hardware/PCI Cards any card was detected. With the ati injector from trunk RC5 my graphic card was detected as a PCI card and I could see some information.

 

Is that a normal issue? or it's happening only to me because I've edited the injector?

Link to comment
Share on other sites

This Chameleon works perfectly, but temperatures (CPU) with it are 5 to 10 degrees higher, compared to other Chameleon build .. What should be the reason .. ?

 

With the sparce information you have supplied it's hard to say, a signature with hardware would help!

Are you using NullCPUPM.kext or GenerateP+CStates in info plist??

Link to comment
Share on other sites

With the sparce information you have supplied it's hard to say, a signature with hardware would help!

Are you using NullCPUPM.kext or GenerateP+CStates in info plist??

I use the EFI partition with DSDT, without NullCPU kext, with GenerateP+CStates (because without them the temperatures are really not lovely), and just few kexts in the Extensions like FakeSMC, SuperIO .. With other, not this ATI Chameleon bootloader, without GenerateP+CStates (the processor work all the time with MAX value), I have 5 to 10 degrees lower temperatures ..

Now where I live is Winter, and I don`t worry so much about the temperatures .. But after 2 months is going to be hot as summer .. and I don`t want to think what will happen with the temps .. ;)

PS: I don`t want to change this bootloader, because with it, just with "AtiConfig=Motmot" and graphics enabler = yes, my Sapphire HD4670 is working like "real" Mac VGA .. I just write this for the temperatures to see if somebody else have the same issues, and help for the next ATI Chameleon build to improve it ..

Link to comment
Share on other sites

Guys, i need help i got my HD 5570 working using DVI output but... whenver i reboot i always have to type in AtiConfig=Eulemur. I tried editing boot.plist, i added <key>AtiFb</key> <string>Eulemur</string>. It doesn't work....

 

How can i fix this? Thanks...

Link to comment
Share on other sites

Guys, i need help i got my HD 5570 working using DVI output but... whenver i reboot i always have to type in AtiConfig=Eulemur. I tried editing boot.plist, i added <key>AtiFb</key> <string>Eulemur</string>. It doesn't work....

 

How can i fix this? Thanks...

For Kabyl's new boot you should use "AtiConfig" instead of "AtiFb" in your com.apple.Boot.plist

Link to comment
Share on other sites

Guys, i need help i got my HD 5570 working using DVI output but... whenver i reboot i always have to type in AtiConfig=Eulemur. I tried editing boot.plist, i added <key>AtiFb</key> <string>Eulemur</string>. It doesn't work....

 

How can i fix this? Thanks...

 

<key>AtiConfig</key>

<string>Eulemur</string>

Link to comment
Share on other sites

any1 got the HD 4650 working with that? or anybody know how to get it working?!

Probably you can get it to work but you'll need Lion (10.7) ATI4600Controller.kext, in addition to Lion's ATIFramebuffer.kext & ATISupport.kext. You can get Lion's kext over here. Mac OS X need to be 10.6.6, installed the three kexts, make sure your ATI device & vendor ID is in ATI4600Controller.kext & boot with GraphicsEnabler=Yes.

Link to comment
Share on other sites

My 5670 graphics card is working perfectly using r748 of Kaybl's branch, but I see this error in System Profiler under Memory: "There was an error while gathering this information." and this error in syslog:

System Profiler[###]: Exception while calling [sPMemoryReporter updateDictionary:]\n*** -[NSArray subarrayWithRange:]: index (0) beyond bounds (1)

 

Memory is detected and displayed properly when booting with trunk.

 

1. Is anyone else having this error?

 

2. Does anyone have suggestions on finding the issue? I would have assumed that someone else would have posted about this by now but I didn't see it, other than one mention from FKA which may or may not be related.

 

From:

IODeviceTree:/memory

dimm-manufacturer
Kabyl: <"G Skill Intl", "", "G Skill Intl">
Trunk: <"G Skill Intl", "N/A", "G Skill Intl", "N/A">

dimm-part-number
K: 22 digit hex string
T: <"F3-10666CL9-2GBNS", "N/A", "F3-10666CL9-2GBNS", "N/A">

dimm-serial-number
K: 52 digit hex string
T: <"00000000", "N/A", "00000000", "N/A">

dimm-speeds (in spd.c 800 is the default for unknown memory types,
so it doesn't seem like memory speed for the empty slots
should be 0 when booting Kabyl's branch)
K: <"1333 MHz", "0 MHz", "1333 MHz", "0 MHz">
T: <"1333 MHz", "800 MHz", "1333 MHz", "800 MHz">

dimm-types
K: <"DDR3", "RAM", "DDR3", "RAM">
T: <"DDR3", "DDR2 SDRAM", "DDR3", "DDR2 SDRAM">

ecc-enabled, reg, and slot-names match from trunk to Kabyl

 

Thanks.

Link to comment
Share on other sites

My 5670 graphics card is working perfectly using r748 of Kaybl's branch, but I see this error in System Profiler under Memory: "There was an error while gathering this information." and this error in syslog:

System Profiler[###]: Exception while calling [sPMemoryReporter updateDictionary:]\n*** -[NSArray subarrayWithRange:]: index (0) beyond bounds (1)

 

Memory is detected and displayed properly when booting with trunk.

 

1. Is anyone else having this error?

 

2. Does anyone have suggestions on finding the issue? I would have assumed that someone else would have posted about this by now but I didn't see it, other than one mention from FKA which may or may not be related.

 

From:

IODeviceTree:/memory

dimm-manufacturer
Kabyl: <"G Skill Intl", "", "G Skill Intl">
Trunk: <"G Skill Intl", "N/A", "G Skill Intl", "N/A">

dimm-part-number
K: 22 digit hex string
T: <"F3-10666CL9-2GBNS", "N/A", "F3-10666CL9-2GBNS", "N/A">

dimm-serial-number
K: 52 digit hex string
T: <"00000000", "N/A", "00000000", "N/A">

dimm-speeds (in spd.c 800 is the default for unknown memory types,
so it doesn't seem like memory speed for the empty slots
should be 0 when booting Kabyl's branch)
K: <"1333 MHz", "0 MHz", "1333 MHz", "0 MHz">
T: <"1333 MHz", "800 MHz", "1333 MHz", "800 MHz">

dimm-types
K: <"DDR3", "RAM", "DDR3", "RAM">
T: <"DDR3", "DDR2 SDRAM", "DDR3", "DDR2 SDRAM">

ecc-enabled, reg, and slot-names match from trunk to Kabyl

 

Thanks.

Post your ioreg, I need to see the "K: XX digit hex string" :unsure:

Link to comment
Share on other sites

Hi Kabyl,

 

I tried the boot file on my notebook, Dell Studio 1557. It hang after ATI gpu is detected. I got the same issue even when I load the ROM file using "UseAtiROM=Yes". Please refer to screenshots below.

post-125711-1299331296_thumb.jpgpost-125711-1299331399_thumb.jpg

 

 

Try setting PCIRootUID=1 and see what happens

Forgot to reply this. I tried set it to 1 but my computer freezes while booting.

Link to comment
Share on other sites

How do I compile from Kabyl's branch? A link to a guide would be fine. I tried googling and looking for an install or readme in Kabyl's branch, but do not see one.

 

Thanks!

 

I think you are asking how to install properly. Install the latest version of Chameleon (RC5 747), then make hidden files visible (I won't tell you what to use, but Google is your friend.) and simply replace the boot file (called boot) that Chameleon installed on your boot drive, with Kabyl's boot file. Make files invisible again and restart with GraphicEnabler=yes.

 

However, if you are referring to Kabyl's files over at sourceforge Voodoo Projects (ie i386 folder), if you do not know, then you should not be messing with anything. :P

Link to comment
Share on other sites

Post your ioreg, I need to see the "K: XX digit hex string" :(

 

dimm-serial-number is 303030303030303000111b1d00303030303030303000130f1f00

and

dimm-part-number is 11 1b 1c 00 fe ff 00 11 1b 1e 00 00

 

I think dimm-part-number isn't being set correctly.

 

editing the memory getting routines in i386/libsaio/smbios_getters.c to return the values that were commented out for the empty slots will give ioreg the same hex strings as trunk except for dimm-part-number (and the error messages don't clear up).

 

Forcing dimm-part-number to N/A doesn't actually result in N/A in the dimm-part-number ioreg value.
e.g., by doing this

bool getSMBMemoryDevicePartNumber(returnType *value)
{
       value->string = "N/A";
       return true;
}

 

 from ioreg -l -p IODeviceTree -f

   +-o memory  
   |   {
   |     "dimm-part-number" = 
   |       00000000: 11 1B 1C 00 FE FF 00 11 1B 1E 00 00                                                             ............
   |     "dimm-types" = <"DDR3","RAM","DDR3","RAM">
   |     "slot-names" = 
   |       05: Bank0/1/A0
   |       13: Bank2/3/A1
   |       21: Bank4/5/A2
   |     "dimm-speeds" = <"1333 MHz","0 MHz","1333 MHz","0 MHz">
   |     "dimm-manufacturer" = 
   |       00000000: 47 20 53 6B 69 6C 6C 20 49 6E 74 6C 00 00 47 20 53 6B 69 6C 6C 20 49 6E 74 6C 00 00             G Skill Intl..G Skill Intl..
   |     "ecc-enabled" = No
   |     "reg" = 
   |       00000000: 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 ................................
   |     "dimm-info" = 
   |       00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       00000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       000001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       000001C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |       000001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
   |     "dimm-serial-number" = 
   |       00000000: 30 30 30 30 30 30 30 30 00 11 1B 1D 00 30 30 30 30 30 30 30 30 00 13 0F 1F 00                   00000000.....00000000.....
   |   }

Link to comment
Share on other sites

I think you are asking how to install properly. Install the latest version of Chameleon (RC5 747), then make hidden files visible (I won't tell you what to use, but Google is your friend.) and simply replace the boot file (called boot) that Chameleon installed on your boot drive, with Kabyl's boot file. Make files invisible again and restart with GraphicEnabler=yes.

 

However, if you are referring to Kabyl's files over at sourceforge Voodoo Projects (ie i386 folder), if you do not know, then you should not be messing with anything. :(

 

I was referring to the sourceforge project. The link on the OP is outdated and I wanted the current version that has several known issues and bugs fixed.

 

The old version, and even the one posted a few pages back, contain bugs that prevent you from correctly manually designating some framebuffers.

 

It is not particularly "messing" with anything as all it will do is generate me a boot file that I can then use. After you compile it you can just copy and paste it.

Link to comment
Share on other sites

Hi guys, I keep on getting an error while booting in chameleon:

 

I've added my card mobility 5650 (0x68c1) to ati.c and it works perfectly, but if I boot with GraphicsEnabler=Yes AtiConfig=Eulemur UseAtiROM=Yes than it hangs with 0xdeadbeef on line 671 of ati.c

 

That line corresponds to method getromrevision. Any hint?

Link to comment
Share on other sites

I already tried that but I got:-

================= make all for i386 =================
/Users/kizwan/Desktop/Chameleon2RC5_New/chameleon/branches/Kabyl/obj/i386 /Users/kizwan/Desktop/Chameleon2RC5_New/chameleon/branches/Kabyl/sym/i386 /Users/kizwan/Desktop/Chameleon2RC5_New/chameleon/branches/Kabyl/dst
================= make all for util =================
cc   -Os -Oz -Wmost -Werror -g  -c  machOconv.c -o /Users/kizwan/Desktop/Chameleon2RC5_New/chameleon/branches/Kabyl/obj/i386/util/machOconv.o \
	-MD -dependency-file /Users/kizwan/Desktop/Chameleon2RC5_New/chameleon/branches/Kabyl/obj/i386/util/machOconv.d
machOconv.c:24:19: error: stdio.h: No such file or directory
machOconv.c:25:20: error: stdlib.h: No such file or directory
machOconv.c:27:23: error: mach/mach.h: No such file or directory
machOconv.c:28:29: error: mach/mach_error.h: No such file or directory
machOconv.c:29:22: error: sys/file.h: No such file or directory
machOconv.c:30:27: error: mach-o/loader.h: No such file or directory
machOconv.c:31:33: error: libkern/OSByteOrder.h: No such file or directory
machOconv.c:32:20: error: unistd.h: No such file or directory

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...