Jump to content

Mobility Radeon HD 4650:Full Resolution with QE & CI working on Internal LVDS screen


mucha
 Share

696 posts in this topic

Recommended Posts

I have a simple question... where I can found and download "bcc9 radeondump" used in this post?

bcc9 radeondump work's in linux terminal?

The tool is radeon_bios_decode and can be found here.

Not sure about Linux... don't think so.

Link to comment
Share on other sites

Has anybody had any success enabling full resolution on Dell Studio 1747 (Mobility Radeon 4650)?

 

If you have any progress please post!

 

I have native resolution 1600x900 with QE/CI.

 

I have a Dell XPS 1647 (Mobility Radeon 4670). I use Vervet.

 

 

Patched connection table:-

--> 00037538 02 00 00 00 40 00 00 00 09 01 00 00 02 02 00 05 (LVDS)

--> 00037548 10 00 00 00 10 00 00 00 00 01 00 00 10 10 01 06 (VGA)

--> 00037558 00 08 00 00 00 02 00 00 00 01 00 00 20 00 02 01 (HDMI)

--> 00037568 00 04 00 00 00 04 00 00 00 01 00 00 11 00 04 02 (DP)

Link to comment
Share on other sites

Hi,

 

I have been trying to get my ATI 5470 Hd working on LION GM but without success. I followed this tutorial http://www.kexts.com/view/1442-%5Bfully_wo...on_hd_5470.html but i had no success. Im stuck with 1024x800 resolution without qe/ci.

 

I tried to go deeper and patch Lion original ati5000Controller.kext because the kexts from that link didn´t match my card. I dumped the bios used bbc9 decoder to get senseId and changed the next however the result was the same. I tried with different personalities in chameleon boot plist, using graphics enabler and nothing changes. I don't know what I'm a doing wrong, i can see that nothing shows up in the ioreg(attached) at least that i can see, it seems that nothing is being injected. I used the injector that came with kexts in the link above in both S/L/E and E/E. Maybe the injector(attached) doesn't work for my.

 

In another attempt a patched my EDID like says in here http://www.insanelymac.com/forum/index.php?showtopic=208410.

 

I already tried other kexts from another topics in this forum and nothing. I attached all the files that i'm using and all the info i can remember. (Kexts,logs,videoROM,plists).

I already tried different configurations in chameleon boot plist, like using VideoRom and Graphics Mode but it doesn't work.

 

Even with graphics mode i can't change my resolution. One thing that i noticed is that ATIFramebuffer is not loaded.

 

PS: I added the device ID of my card into the ATI5000Controller.kext

 

FILES:

http://www.mediafire.com/?gc1sn5zp3hevmgb

ATI_INFO.zip

Link to comment
Share on other sites

Hey mucha and you other guys out there ;-)

 

Hey,

 

I started following mucha's guide. So far I came to this personalities:

 

02 00 00 00 - 40 00 00 00 - 09 AA - 00 00 - XX - XX - 00 - 07 (LVDS)

00 08 00 00 - 00 02 00 00 - 00 AA - 00 00 - XX - XX - 01 - 08 (HDMI-A)

10 00 00 00 - 10 00 00 00 - 00 AA - 00 00 - XX - XX - 02 - 01 (VGA)

 

For the AAs: Should they be 00 or 01 ?

For the XXs: When I load the RadeonHD kext, my system doesn't boot up. Sometimes I get a kernel panic and sometimes it just stops when "DSMOS arrived" appears. No graphical user interface.

 

How can I examine the transmitter and the encoder anyways?

 

Thanks in advance.

 

hrox

 

 

Another important thing: How can I find out my device ID? In the system profiler it says 0x68e0 but when I open i386/libsaio/ati.c in chamelon's trunk folder, it only says:

 

{ 0x68E0,	0x04561028, CHIP_FAMILY_CEDAR,		"ATI Radeon HD 5470M",				kEulemur	},
{ 0x68E1,	0x1426103C, CHIP_FAMILY_CEDAR,		"ATI Radeon HD 5430M",	

 

which has to do neither with the framebuffer nor my ATI Radeon HD4330 card. So that device ID might be wrong?

Link to comment
Share on other sites

I have a Sony FW 450J with ATI Mobility Radeon 4650 ( dev id 9480)

 

I used to visit this site two or three times a day two years ago hoping for a solution for my graphics card. However, there was no hope for a solution then.

 

Now I can see that several people here were able to make it work perfect using this guide but I got stuck...

 

Here are the steps I did:

 

1)In Windows 7 (with latest ATI driver installed and working properly), I downloaded and installed Everest ultimate edition.

 

2) I opened Everest and right-clicked on the status bar(at the bottom), clicked on "Video debug" and then on "Video bios dump". I saved the resulting file in the desktop and renamed it to "1002_9480.rom".

 

3) I downloaded bcc9's video dump decoding tool from the bottom of this post: http://www.insanelymac.com/forum/index.php?showtopic=249642

 

4) I saved the files in a usb stick and moved to the Sony FW and started OSX Snow leopard and pasted the files on the desktop

 

5) In osx, I launched Terminal (from Finder>Applications>Utilities) & ran these commands:

 

cd Desktop
./radeon_bios_decode < 1002_9480.rom > connector.txt

 

This produced a file called connector.txt in the Desktop

 

6) this is the content of the connector.txt

 


ATOM BIOS Rom: 
SubsystemVendorID: 0x104d SubsystemID: 0x9035
IOBaseAddress: 0xd000
Filename: BR32701.001 
BIOS Bootup Message: 
Sony_M763_M96M2LP_gDDR3 M96 GDDR3 128bit 450e/600m                          

PCI ID: 1002:9480
Connector at index 0
Type [@offset 45890]: LVDS (7)
Encoder [@offset 45894]: INTERNAL_UNIPHY2 (0x21)
Connector at index 1
Type [@offset 45900]: VGA (1)
Encoder [@offset 45904]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45971]: 0x90, OSX senseid: 0x1
Connector at index 2
Type [@offset 45910]: HDMI-A (11)
Encoder [@offset 45914]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 45994]: 0x94, OSX senseid: 0x5

 

As you can see... The sense ids, i2icd, etc did not have the output as expected. I don't know how to interpret the results now.

 

This is where I'm stuck... can anyone help from this point on? (Maybe Mucha or bcc9? )

 

Thanks in advance

Link to comment
Share on other sites

As you can see... The sense ids, i2icd, etc did not have the output as expected. I don't know how to interpret the results now.

 

This is where I'm stuck... can anyone help from this point on? (Maybe Mucha or bcc9? )

I don't know why you call those values unexpected and I don't see why you're stuck. I keep saying; I don't have any mobile ATI hardware, so I have no first hand information to offer for such hardware.

Link to comment
Share on other sites

Hi Guys,

 

First post here. Just had a massive breakthrough with my ATI Mobility HD4530 (Dell Studio 1458).

Using Peregrine, I had gotten my internal display to run at full resolution (1600x900) QE/CI, but the screen was "fuzzy" and white-ish.

I had tested all the possible combinations of Encoders and Transmitters that i could obtain from the first post. I only tried for Encoders DIG1 and DIG2 initially, because my card was a 4XXX.

 

 

5- Transmitter;

 

/* u can get this from dmesg after installing  Dong's RadeonHD with debug info */ 
/* Transmitter Bits 0-3 (TransmitterID) */
#define UNIPHY	  0x00
#define UNIPHY1   0x01
#define UNIPHY2   0x02

/* Transmitter Bits 4-7 (LinkID) */
#define DUALLINK  0x00 // LINKA + LINKB
#define LINKA		  0x10
#define LINKB		  0x20

/* Transmitter byte  */
#define UNIPHYA	 0x10 // = UNIPHY:LINKA
#define UNIPHYB	 0x20 // = UNIPHY:LINKB
#define UNIPHYAB   0x00 // = UNIPHY:DUALLINK
#define UNIPHYC	 0x11 // = UNIPHY1:LINKA
#define UNIPHYD	 0x21 // = UNIPHY1:LINKB
#define UNIPHYCD   0x01 // = UNIPHY1:DUALLINK
#define UNIPHYE	 0x12 // = UNIPHY2:LINKA
#define UNIPHYF	  0x22 // = UNIPHY2:LINKB
#define UNIPHYEF	0x02 // = UNIPHY2:DUALLINK
#define DACA			  0x00
#define DACB		  0x10

 

 

6- Encoder;

 

/* u can get this from Dmesg as above  for R8XX architecture and above there is 06 Digital Encoder: DIG_1 > DIG_6*/ 
/* Encoder Bits 0-3 (DIG_ID : Digital) */
#define DIG1   0x00 // = DIGA
#define DIG2   0x01 // = DIGB
#define DIG3   0x02 // = DIGC  Only for Radeon HD 5XXX Series  and above
#define DIG4   0x03 // = DIGD  Only for Radeon HD 5XXX Series  and above
#define DIG5   0x04 // = DIGE  Only for Radeon HD 5XXX Series  and above
#define DIG6   0x05 // = DIGF  Only for Radeon HD 5XXX Series  and above

/* Encoder Bits 4-7 (DAC_ID : Analog) */
#define DAC	 0x10

 

The results I obtained:

For all Transmitters with DIG1, the results was a screen that was split into 4, like a grid. It was fuzzy as well. Using screen sharing, I could see that the EDID values were available, and the full resolution plus QE/CI was enabled. Screenshots were perfect without the fuzziness and wasn't quartered.

 

For DIG2, I had mixed results with the different transmitters. Some were also fuzzy and quartered, while other combinations had the quartered screen and plain white. I couldn't ScreenShare either.

 

Only 2 combinations resulted in full resolution with QE/CI but FUZZY output:

(DIG2 & UNIPHYEF) or (DIG2 & UNIPHYE)

 

(DIG2 & UNIPHYF) resulted in a blank black screen which I could screenshare into with full res and QE/CI.

 

 

So basically I had given up getting the display to output properly. Until I saw this post:

http://www.insanelymac.com/forum/index.php...061&st=256#

 

and the reply:

Congratulations on your success!

Interestingly, you used encoder 02, reserved for DIG_3 (Radeons HD 5XXX and above) and it worked! I tried to replicate your method but it did not work. I think I have pretty similar laptop Dell Studio 1747 with ATI HD4650 [1002:9480] and 1600x900 resolution. Any advice is much appreciated, I am begining to pull my hair...

 

So I thought, what the heck. I'd give it a shot. And it worked! The screen is perfect now.

Note i did not inject any "dual link" AAPL in my DSDT, although my EDID was correctly detected each time.

So basically if you've managed to get up to a white fuzzy screen (or some people have distorted colors) but you have QE/CI and full res, try with different encoders that you haven't tried.

 

I've only gotten my internal LVDS screen to work only however, and my VGA and HDMI (no monitor to test) isn't working... yet. But hey, now I'm motivated to try again ;)

 

My hex for LVDS ended up as:

02 00 00 00 40 00 00 00 09 01 00 00 02 02 01 07

 

PS. I've tried with UNIPHYE:

02 00 00 00 40 00 00 00 09 01 00 00 12 02 01 07

that is a single link transmitter, and it still works. So I'm not too sure about the whole dual-link and higher res LVDS screens thing.

Link to comment
Share on other sites

I have an ATi Mobility Radeon HD 3430. I have dumped my videocard bios but, when I try to use RadeonDump to get the values, I have this problem:

 

Pepe-MacBook-Pro:~ Pepe$ cd RadeonDumpL

Pepe-MacBook-Pro:RadeonDumpL Pepe$ ./RadeonDump < 95C2.0301.00E0.vga.rom > connector.txt

 

Usage: ./RadeonDump [-d] [regnum] [-r start,end]

-d dump Radeon card BIOS ROM

regnum dump Radeon card IO register values at regnum

-r start,end dump Radeon card IO register values in the range of [start,end]

-i dump EDID

Pepe-MacBook-Pro:RadeonDumpL Pepe$

 

 

Can you help me?

 

P.S.: I have attached my videocard bios dump

 

95C2.0301.00E0.vga.zip

Link to comment
Share on other sites

I have a Sony FW 450J with ATI Mobility Radeon 4650 ( dev id 9480)...

Hi Asofan, your device id needs to be added to Chameleon, before it can work with GraphicsEnabler;

i will do so. Still, afaik it will not work ootb, but i know the right person to help you with that :)

Will post news soon...

 

Update: Your card was added on r1248:

{ 0x9480, 0x9035104D, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff },

Look in my signature for downloads (buildbots, ATi/AMD).

As mentioned, i talked to a friend, but he says he hates you :) ... :P kidding... really, he says that Sony

and 4000 series are a pain in, etc, etc... all i know is that from Apple's side, your device id is supported and the booter will do it's job.

For now, the default framebuffer is Gliff; you can also try Shrike (same ports as Gliff) and Flicker; these are the only

possible for you in 10.6.8+, because they are the only ones present on 4600Controller kext.

I can't guarantee that it will work, but if you need any help from me on this matter, follow my signature.

 

See ya...

Edited by Azimutz
Link to comment
Share on other sites

Thanks Azimuts... awaiting your good news

get your hi asofan since you cant get your sense id using bios decoding the only way that you have is trial and error:

i thing the sense is is numdber between 0-9 .for the must of laptop that seen is 07 so

this moded shrike that work for must of people the latest digit is sense id:

Modded_Shrike

02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07	lvds

10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06	vga

00 08 00 00 00 02 00 00 00 01 00 00 20 01 02 01	hdmi

for vga and hdmi you can sense id in your dump for lvds must make a trial and error process.

Link to comment
Share on other sites

I also have a Sony Vaio with the ATI 4650M. I am on 10.6.3.

I have gotten to the step where I remove atiframebuffer and ati4600 and insert the radeonhd kext. I booted up in safe mode to rebuild the permissions and cache, but when I boot up without safe mode (-x) I get a kernel panic about ATIX2000 and dependencies. Is there something else I need to modify?

 

Also, can I just use chameleon wizard to update to the latest chameleon that supports my card? I'm not 100% on how to edit the /Extra directory and I don't want to have to do any other editing of chameleon that might make things tricky.

 

And what is the best way to edit the binary for atiframebuffer? I've tried a couple of programs but neither of them followed the op's instructions (hex value & wrap option).

 

Sorry for all of the questions. I've been trying to familiarize myself with all of this but I don't want my ignorance to mess anything up too badly :D

Link to comment
Share on other sites

Is there a way to check the personality that is being booted by default? Or a flag that I could add on boot? I am not using kabyl's boot file and the chameleon that I am running (r1252) doesn't have at ati.c. I would like a way to select the personality by just modifying my org.chameleon.boot.list.

Thanks for the help.

Link to comment
Share on other sites

Is there a way to check the personality that is being booted by default? Or a flag that I could add on boot? I am not using kabyl's boot file and the chameleon that I am running (r1252) doesn't have at ati.c. I would like a way to select the personality by just modifying my org.chameleon.boot.list.

Thanks for the help.

with evoenabler you don't need graphicsenabler=yes, but you still have to add dev IDs to 4600contr and x2000.

 

personalities are:

0000000 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07

0000010 00 08 00 00 00 02 00 00 00 01 00 00 20 00 02 01

Link to comment
Share on other sites

with evoenabler you don't need graphicsenabler=yes, but you still have to add dev IDs to 4600contr and x2000.

 

personalities are:

0000000 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07

0000010 00 08 00 00 00 02 00 00 00 01 00 00 20 00 02 01

 

I added my device id to 4600controller and x2000, but I'm not sure where the personalities you gave are supposed to go (atiframebuffer?). I don't have any kernel panics at bootup but all I get is a black screen.

 

Thank you tremendously for your help btw

 

EDIT: I think I know what my issue is now. Does someone know the connectorinfo for Gliff?

Link to comment
Share on other sites

It works on my 4530. Maybe you have only to change active flags, or something. Our cards are differnts surely. Good luck

 

Mate. I have the same card as you and with full QE/CI, could you tell me if you are able to wake from sleep? I am able to make my laptop sleep.

Link to comment
Share on other sites

 Share

×
×
  • Create New...