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

0 Members and 1 Guest are viewing this topic.

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
I still see the 0x0x0 modes like in here: http://www.screencast.com/t/MzM1ZGQ3
Those are all the modes shown except Mode 160, a 0x0x0 too, hidden at the top of the list.

Edit: did a test drive to Andy's branch, it seems the most promising for my GMA950 (desktop), of the ones i tested.
When it gets to the prompt, i only get a withe screen and the monitor OSD splash, dancing around the screen, showing "Imput not Supported". GMA has only VGA out, connected to display's VGA in; the ATI is has 2 DVI (both work, if i'm not mistaken) + 1 S-Video (never tested) and it's connected on display's DVI in; this way i only have to enable/disable on-board graphics to use either of the cards. What kind of signal cold this be sending to the display??

Anyway, the booter works so i tried the login and got there, but didn't ventured further so, i don't know if there was any acceleration. The image quality is just barely enough to see the cursor and click on something at login, but resolution seemed higher than 1440x900, never saw verbose so small :P
« Last Edit: March 23, 2010, 01:12:30 PM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

jthnlee

  • Entrant
  • Posts: 1
Hi.. Ive been following ur topic for some time and finally im giving it a try and now would like to post some of my findings... I own a AMD64x2 turion laptop with integrated Nvidia Geforce 7000M chipset. The problem for integrated chipset is that there is no valid Vrom to extract thus editing and flashing vrom is not an option. The best option so far are by ur implimentation. However when using ur boot file, the final line always reads that the EDID gives mode 1024x768 in VESA table even though the graphic key set at '1280x960x32' and both table 1 AND 2 are read with adjustment made to the available VESA modes in the debug output. My native resolution is 1280x800.  Funny thing is that during readjustment , vesa read out 1024x768 = 1024x768 , 1280x800=1280x960... etc.

Readlly hope ur patch can bring some solution to the long epic of Nvidia integrated chipset problem. Although we might not get QE+CI but at least some resolution change.

lebidou

  • Resident
  • Posts: 133
It is not supposed to be working on Integrated Chipsets, I think I wrote that in first post and on InsanelyMac. It is acting like it's patching but I don't think it does. Could you post an lspci or an ioreg dump?
Some clarifications:
We use PAM registers in Intel chipsets to unlock the shadow Video Bios in system memory and write on it. We can use that because Intel released documentation about it. Due to the lack of documentation for Nvidia chipsets, we can't do the  same.
The EDID reported by VBE calls is not always good. That's why there a possibility to override it with Graphics Mode. If your native resolution is 1280x800, why would you set the Graphics Mode key another resolution with a different aspect ratio?
Finally, the line "Mode 1280x800 -> 1280x960" shows that there is already a 1280x800 mode in your vbios. So your system is probably not going set that mode anyway, not with this method.

lebidou

  • Resident
  • Posts: 133
NVIDIA only update in first post:
CVT calculation has been made more accurate, particularly for the Second Table (reduced blanking). Horizontal timings are not modified unless the horizontal resolution is different (1400->1440), only vertical timings are touched. I still don't know why initGUI() would fail, I need the debug output from this version to track it.

I'm going to make a virtual vbios tester for GMA too, so I can check why zero modes aren't patched.
« Last Edit: March 23, 2010, 04:12:37 PM by lebidou »

CEOS

  • Member
  • Posts: 49
no changes so far
GUI still not appear and graphic bug is splash screen is still there :(

debug output seems to be the same...
My Hackintosh: • Intel Core2Quad Q6600 (g0) • PNY 8800gts 512 (g92) • Gigabyte Ga EP45-DS3R (Rev 1; BIOS v. f11e) • 2x2gb OCZ 1066MHz DDR3 • D-Link DWA 547 RangeBooster N

Drives: • HL-DT-STDVD-RAM GH22LS30  • SAMSUNG HD250HJ : Windows 7 Ultimate x64 • SAMSUNG HD161HJ :  Snow Leopard 10.6.3 • SAMSUNG HD103UJ : Backup

lebidou

  • Resident
  • Posts: 133
Doesn't it display something like :
Resolution : 1920x1080 (Graphics Mode key)
Found mode 1920x1080 in VESA Table

before "Press Any key..." ?

Any "function() failed " messages ?
All that before getting to the menu?

EDIT: Updated the debug version with small changes: VSync Polarity is reversed, CVT timings is even finer and THERE IS more debug output and I WANT it. I mean it, I want it, "seems" or "looks" the same is not good enough. I know there is going to be a different ouput, I coded it myself, I want to know what it's gonna be. Take a photo, film it, write it down, draw it, record yourself saying it, whatever but POST me the output EACH time you try the booter. I'm blind coding the NVIDIA part, there is no docs on it, the more info I have, the better.

Sorry if I'm being rude, but these NVIDIA cards are dirving me crazy. BTW, if an interested nvidia-equiped developer is passing by, I'd be happy to delegate.
« Last Edit: March 23, 2010, 09:11:19 PM by lebidou »

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
@lebidou, GMA only. ATI just works!
Pics:
http://www.screencast.com/t/NGJmYjM2
http://www.screencast.com/t/ZjFlYTAw
http://www.screencast.com/t/YzE0ZDRiNzAt

Still the same problem with display, no diff there. Also same modes shown on ?video. After pressing Enter to boot, mode #283 is also the one shown to be set.

Will try to get some help for nVidia :)
« Last Edit: March 24, 2010, 05:48:23 AM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

lebidou

  • Resident
  • Posts: 133
My FTP is down for a while so I'll post the update here as attachment this time.
This update is for everyone. It's a simple logical update :
    First mode in table is now patched with the resolution provided by EDID or Graphics Mode key.
    Only the modes with a different aspect ration are patched (No more 1440x900 -> 1440x900 lines)
    0x0 or 0x768 modes are patched with resolution from EDID or Graphics Key.
    Output is printed 12 lines at a time in debug version so you can take your time to see which mode is patched and how.

Hopefully this will make GMA work again. But as there already 1440x900 and 1280x800 modes in vBios, I don't take it for certain. It should bring nothing good or bad for ATI, it will work good, as usual.
I have no idea if this will help for NVIDIA. I still want (need, actually) the output, complete.

Thank you Azimutz for the screenshots, they are useful. I made a little program to virtually patch a 945GMA bios dump which gives approximatively what you sent. I hope the update will change something. Tell me if you find someone or something for NVIDIA, this is killing me... I'd like to make other changes and additions, like dynamic mode changing, so one can test modes if EDID is wrong, but I'm stuck with NVIDIA.

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
@lebidou, http://www.screencast.com/t/ZmEyZmNkNGQ
After that, the screen goes black, "no signal".

One thing that's happening with debug builds is that, after pressing Enter to boot, the booter hangs at the msg about the mode it's setting. It's a lot similar to what happens to me when i use Wait=y.. if i press any key to continue it does nothing. But, that's another matter.. it's just for your info.

Ok, will see if someone on IRC has time and will to check this. I don't promise.. i'm not friends with anyone in particular,
will have to ask.

Edit: some info/doubts via diff: removed, outdated.

« Last Edit: March 29, 2010, 10:54:53 PM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

lebidou

  • Resident
  • Posts: 133
FTP is on again, update is in first post.

I added nawcom's GMA GraphicsEnabler patch from Andy's branch which seems to be working for 945GMA. For ATI and GMA, only the first mode is patched, the rest of the VESA table is untouched, like 915resolution originally did.
No changes for NVIDIA.

CEOS

  • Member
  • Posts: 49
here is the full debug output: http://rapidshare.com/files/367708142/Archiv.zip.html
it's from your latest bootloader.

here are the changes i noticed:
GUI still not working, but it's just grey now (see picture)
splash screen is not working anymore, just grey like the GUI, no apple and cursor (picture)

i include my Boot plist in case you need it for whatever...

hope that help
My Hackintosh: • Intel Core2Quad Q6600 (g0) • PNY 8800gts 512 (g92) • Gigabyte Ga EP45-DS3R (Rev 1; BIOS v. f11e) • 2x2gb OCZ 1066MHz DDR3 • D-Link DWA 547 RangeBooster N

Drives: • HL-DT-STDVD-RAM GH22LS30  • SAMSUNG HD250HJ : Windows 7 Ultimate x64 • SAMSUNG HD161HJ :  Snow Leopard 10.6.3 • SAMSUNG HD103UJ : Backup

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Still the black screen and "no signal" splash on GMA.
ATI is rock solid. Pics:

ATI: http://www.screencast.com/t/MGRiMGM1ZW
GMA: http://www.screencast.com/t/ZDM4OTQy
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

lebidou

  • Resident
  • Posts: 133
Thank you for the report CEOS. It helps a bit, now I know that initGUI() doesn't seem to be called at all which is weird.

I just made a new update which brings resolution changing/testing while in the boot menu. Type
Code: [Select]
"Graphics Mode"=1280x800x32 and hit F2 to set a 1280x800 mode.
In the debug version, I advise you to keep pressing on F2 when the console is paused, if you want to come back to the menu.

Also, there is some code moves:
    vbios_map * map is now global and defined in autoresolution.h, because we need it in option.c now.
    unlock/relock functions are called from patch_vbios and restore_vbios, since it's mandatory.
    save_vbios is call from open_vbios, if a bios has been found and opened.
    getResolution takes care of the Graphics Mode key, no need to check it before each call.
    close_vbios also free the bios backup, which was never freed before (oups!)
    finally, the debug version now outputs debug info in the boot menu (including disk info, resolution, mode info...)

@Azimutz, to answer your Info.diff questions:
    autoResolution boolean from boot.h isn't required anymore, bool gAutoResolution is declared in autoresolution.h
    the "if with no expression" issue in qui.c has been fixed  by #ifdef AUTORES_DEBUG. Thank you to bring it to my attention.
   for the duplicate debug output, I haven't removed it yet, but will do.

Ah just saw you posted...

EDIT: does andy's 915resolution set a mode for you ? You probably already answer but I don't remember
« Last Edit: March 24, 2010, 09:59:43 PM by lebidou »

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Ok Lebidou.. i figured the "if without expression" :) wanted to be sure. The boolean on boot.h, almost figured but ended up confused with the mess of folders versions i had here. Cleaned up this morning, now i have it under control! Thanks for the explanations.

Going to check the latest... see if i feedback before you go ;)
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

lebidou

  • Resident
  • Posts: 133
CEOS and all other NVIDIA user passing by, I reverted the VSync polarity inversion so graphics should go be back (go first post as usual). Also, add this to your com.apple.Boot.plist file :
Code: [Select]
<key>Theme</key>
<string>Default</string>
And make sure you have the Default folder in the Theme one, in Extra, with the appropriate files. Or use any other theme you want, but use a theme.
This is the only reason I see that could make initGUI fail.

Output is, of course, welcome, along with any extra information. The Boot.plist file, in this case, was very helpful. Thank you CEOS.

The 'bottom' bug should be there nonetheless. I don't expect this to be solved with this update.