overdue-scratch

Author Topic: ATI and possibly nVIDIA resolution patch (based on prasys' 915resolution port)  (Read 109827 times)

0 Members and 1 Guest are viewing this topic.

lebidou

  • Resident
  • Posts: 133
Thank you very mcuh fassl, I think it's going to be very useful indeed. I started doing it patching VESA table because it was the easiest way for me. But I am aware this is more a hack than a real modesetting feature. I'll have a look at nvpanel. Depending on the code, and on what I can get from dong's radeonhd port, I'll see I can do. Because I can't test for nvidia myself, if I do something, it has to be ATI first.

Floating point did make chameleon crash with RC4, I haven't tested them with RC5pre.

Thanks a lot.

lebidou

  • Resident
  • Posts: 133
If you add an ADD2-N card with dual DVI ports, does your solution configure both DVI ports to work or even one of the DVI ports to work?

If you get another motherboard that has a DVI or s-video port does it work??

Are any of the ports being configured???

At the moment, the solution consist in patching the VESA table. It doesn't configure ports directly, it relies on the VBE implementation. As it has proven its limitation (see Nvidia issue), I am working on setting modes as it should be done, with a small driver, as nvpanel does it.

At the time of typing, it's not ready for any card, and requires some more time and testing. According to what I know so far, all connectors will be setup, except TV outputs (e.g. S-Video.)
There is still somethings I haven't figured out about connector configuration though.

I'm working from Dong's radeonhd port for ATI, and will use nvpanel when done with ATI.

As I want to keep it as small as possible, it will probably still rely on VESA to switch from text mode to graphics, and tune LVTM and TMDS ouputs. We should only care about CRTC registers at that point.

BuildSmart

  • Member
  • Posts: 30
If you add an ADD2-N card with dual DVI ports, does your solution configure both DVI ports to work or even one of the DVI ports to work?

If you get another motherboard that has a DVI or s-video port does it work??

Are any of the ports being configured???

At the moment, the solution consist in patching the VESA table. It doesn't configure ports directly, it relies on the VBE implementation. As it has proven its limitation (see Nvidia issue), I am working on setting modes as it should be done, with a small driver, as nvpanel does it.

At the time of typing, it's not ready for any card, and requires some more time and testing. According to what I know so far, all connectors will be setup, except TV outputs (e.g. S-Video.)
There is still somethings I haven't figured out about connector configuration though.

I'm working from Dong's radeonhd port for ATI, and will use nvpanel when done with ATI.

As I want to keep it as small as possible, it will probably still rely on VESA to switch from text mode to graphics, and tune LVTM and TMDS ouputs. We should only care about CRTC registers at that point.
TDMS and the CRTC registers should pretty much make it easy to configure the display attached to the main (active) port and should be safe to alter as required so I believe you are on the correct path since it is the active display you are configuring to compensate for the initial non-configured VBE state.

cloud03

  • Entrant
  • Posts: 1
I've tried the RC5 patch (debug mode), and here is a result of mine (screenshot of the debug output, and the result, it seems it can display the native resolution which is 1920x1080 since the font is really small , but only the top bar menu, just like on the screenshot)

I'm using Sony VAIO AW190JAH , with Geforce 9600M-GT 512 MB, I want to use this because using enabler made the internal lcd goes blank...

cheatman

  • Entrant
  • Posts: 1
Any news on nvidia bug (stripe at bottom) ?

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
No news on anything guys... we just have to wait.
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

ingmar153

  • Entrant
  • Posts: 1
I changed the boot file, and I got the resolution.

But i don't know why the resolution is not full screen

vietluvmac

  • Entrant
  • Posts: 1
Excellent! Thank you very much. It works just fine.

For my ATI x1700 card, it works even without any additional and injected kexts as it did before. Well done!

lseba

  • Entrant
  • Posts: 5
hi lebidou
im giving a try with this boot in my dell xps1647 i5 430m ati 4670m 1gb. until here i got 1152x864 using graphics enabler=yes and graphics mode 1600x900x32
using your boot fromthis post:

Quote
Re: ati and possibly nvidia resolution(based on prasys' 915resolution port)
« Reply #217 on: March 30, 2010, 08:05:06 PM »
Quote
Oops... forgot attachement... It's attached just here
 Chameleon.RC5pre11.autoResolution.internal.zip (100.15 kB - downloaded 17 times.)

i get this debug at start:


 but when i select my boot disk from chameleon i get 152x864. my boot.plist doesnt define a mode
the chameleon version installed is rc5 prerelease
it would be great to get 1600x900. i've been trying radeonhd from dong with no luck so far
dell xps 1647- i5 430m - ati hd 4670m  1gB - dual boot osx SL 10.6.2 / windows 7
chameleon 2 rc5 std

iComputer

  • Entrant
  • Posts: 3
Anyone got luck with 7800 GT?

vanilla

  • Entrant
  • Posts: 2
Hello, it is not working for me. I supply my VBIOS and screenshots.

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Vanilla, http://www.insanelymac.com/forum/index.php?s=&showtopic=211294&view=findpost&p=1636583 ;)
Sorry for the bad news...

If you guys see the message "Chipset is UNKNOWN", your out of luck :(
« Last Edit: February 08, 2011, 06:59:34 PM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

pouet666

  • Entrant
  • Posts: 5
Hi all,

I am currently facing some "problems" getting the correct resolution in Chameleon, but I'm not familiar with VBIOS patching, so let me explain it to you... ah, and I'm a software developer, so I already hacked the source code to investigate a little :)

First, my setup:
 - MB: Asus Rampage II Extreme (x58 based)
 - CPU: Core i7 920
 - GFX: GTX 295 (first rev, 0x05e0, so double PCB I guess).
 - Display: Dell 3008 (30", native res: 2560x1600).

The graphic card works really well with OSX (and I have native res in this case), but within Chameleon, I'm limited to 1600x1200 (I have tested that with the debug 'boot' file provided earlier in this thread).

Now, what I have done...
  • Like, Vanilla, I was getting a "Chipset unknown" issue, so I have added the 0x34058086 value in the 'autoresolution.c' file, with a new enum value called CT_X58. I have also patched all the switch/case in the file, taking the same 'path' as for the X48 chipset.
  • Also, my graphic card was not recognized. For some reason, the 'NVID' identifier that you are trying to match is in my case after the 512 bytes. So I modified the while loop "while (i < 512)" in "while (i < VBIOS_SIZE) // 512)"

But it seems, that the mode is somehow not correctly patched in the VESA tables. On the console, I see:
 Mode 1024x768 -> 1024x768

I put some debug outputs inside nvidia_resolution.c, in the 'nvidiaSetMode' function, and when the patching of the first VESA table occurs. It seems that evenso the hActive is correctly set, it gets magically reseted afterwards, ie. if you put a PRINT() right after the "modeTiming[idx].hActive = *x;", everything seems to be in order. But if you put the same PRINT after the hActiveMinusOne patch, you get once again 1024.

Could it be that the VBIOS is not correctly opened? or read-only?

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Pouet666,
Quote
Could it be that the VBIOS is not correctly opened? or read-only?
yep, something like that; check this Lebidou's post; seems that writing back is the problem, judging by your findings.

Btw, nice research and explanation :)

« Last Edit: February 09, 2011, 01:34:30 AM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

pouet666

  • Entrant
  • Posts: 5
So I guess there is no way I can get 1920x1200 (or 2560x1600) inside Chameleon GUI ?