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

0 Members and 1 Guest are viewing this topic.

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
@lebidou, i'm mentioning this also because i read early in the topic, you talking about that. That's pretty cool,having correct resolution even without framebuffer! I gave it a try, works fine.. forgot to mention. Anyway, you already know that :)
Yes, one of the ways to get this ATI working on Snow is by patching RadeonX1000 (as usual) and using the framebuffer from Leo, plus injection. Injection can be Graphics Enabler or DSDT patch.
I get the point ;)
« Last Edit: March 31, 2010, 05:43:31 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
Small fixes, lots of code changes (again...)

-Code fits Coding Specifications. Some inconsistancies like timing names are corrected, for example, horizontal active is hActive for all structures, not hDisp, or usH_Active, etc.
-I use a chain (or list) to manage tables. This allowed the removal of nVidia specific stuff in vBiosMap structure. It's also easier to implement new types of card (I don't know what else is there, but if Intel decides to use two tables in the future, we are prepared). Plus, all cards can be treated the same way in patchVbios(). Last but not least, for ATI and nVidia, we can backup only the VESA tables, and not the entire VBIOS.
-there is output for closeVbios, mainly to check it is called and if all structs are freed.

-FIX: mode switching was broken (nobody noticed ?), it should work properly (also for nVidia btw)
-FIX: there were typos in atiSetMode_2 function. Probably harmless, but still.
-FIX: in a 'normal' use (no change of resolution, no patch cancel), the closeVbios function was never called, and the structures never freed. Now should be OK.

@Azimutz, I haven't took a look at your diff yet, making the code fit the Code Spec took some time, but I will. Also, I was thinking about a way to turn autoResolution off if there is no entry for GMA in DSDT. But I'm wondering if this is really the reason why it doesn't work for you. Without patch the mode is set through VBE calls without problems, so... ??? ???

@BuildSmart, I'm not sure but I think there is a misunderstanding. Patching the VESA table do not require VRAM detection at all. I think the guys were talking about the system RAM detection feature in RC5pre which have been temporarily disabled.

@CEOS, there is some change in the nVidia part. I tested it as much as could with my means but there still are chances it stopped working. I'm particularly concerned about the closeVbios function. I don't expect the graphic bug to be gone, I'm still trying to figure it out. I'd really like to know if you can see the boot prompt though. And even if no changes, output is much appreciated.

CEOS

  • Member
  • Posts: 49
Debug output: http://rapidshare.com/files/369893205/Archiv.zip.html

no viewable changes so far...
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
CEOS, do you see the boot prompt ? when in the boot selection menu and type anything, do you see the prompt ?

CEOS

  • Member
  • Posts: 49
yes, i can see and use the boot prompt.

it's directly over the graphic bug
i try to boot in verbose and it works

i think normally it should be at the bottom of the screen, shouldn't it ?
seems to me like the graphic bug pushes it up a bit.....
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
Small update.
FIX: ModeTables structs weren't freed, now they are.
I'm using a function pointer instead of switch statement in patchVbios function. Makes it easier to read and handle.

NVIDIA only: in first VESA table, only first mode is patched.
                    behaviour for second Table is unchanged.

no changes expected for ATI or GMA.

@CEOS, I attached an internal debug version for you to test. Instead of patching 1920x1200 mode, it will patch 1024x768. I don't expect it will solve the issue. I think the GUI will be big, stretched and non centered. I'd like you to confirm with all output you can.
Also if you can test VGA even with a DVI2VGA dongle, it'd be great.
Any other bug report is welcome.

CEOS

  • Member
  • Posts: 49
Quote
@CEOS, I attached an internal debug version for you to test. Instead of patching 1920x1200 mode, it will patch 1024x768. I don't expect it will solve the issue. I think the GUI will be big, stretched and non centered. I'd like you to confirm with all output you can.
Also if you can test VGA even with a DVI2VGA dongle, it'd be great.
Any other bug report is welcome.

were can i find this version ?
the debug version from the first post seems to be same like before, still boots up in 1080p
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
Oops... forgot attachement... It's attached just here

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Well, 10.6.3 killed 64 bit support for GMA950 and my DSDT patch for ATI >:( probably something missing on the dsdt like before. So atm on Snow 64 bit, i'm limited to Graphics Enabler for injecting ATI and and for GMA 10.6.2 kexts (dsdt patch works).

@lebidou, checked all i could remember on this latest (yeap, missed mode change broke before).
GMA, same info before GUI, as before (http://www.screencast.com/t/ZDM4OTQy); GUI gives "no signal" on display, i can change to Text Mode and boot.
GUI works fine with AutoResolution=No. (check ATI)

ATI, same info before GUI, as before (http://www.screencast.com/t/MGRiMGM1ZW); GUI is fine; Mode Change is fine.
GUI doens't work fine with AutoResolution=No: http://www.screencast.com/t/ZDIyNWNmMWIt
Also, "best matching vesa mode" is not being set. This was working fine! Edit: needs Graphics Mode key on Boot.plist!

There's a typo on nvidia_resolution.c #184 (vAective).

----------

p.s.: don't worry about my personal changes. I'm still testing those and i already made more changes; diff i posted is removed.

Your diff is removing the TODO file. Same thing was happening to me when creating a diff between my trunk_work and the trunk; added the "a" option on diff script to avoid that.
« Last Edit: March 31, 2010, 11:24:27 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
I uploaded with a few corrections (mainly the nVidia typo). And removed something I forgot to remove in the initGraphics function. It could have been what made things go wrong on some systems. Sorry about that.

I'm leaving home for a few days, so I won't be able to post much, and surely not to upload anything.


side note:
@Azimutz, for info, the short version of "lebidou" would be "bidou", and not "lebi". "le" is a pronoun, the french for "the".

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
side note:
@Azimutz, for info, the short version of "lebidou" would be "bidou", and not "lebi". "le" is a pronoun, the french for "the".
Sorry for that Le Bidou :) wasn't on purpose. I have enough knowledge of French to know that, but i overseen it.
Also, these days my brain thinks in English 99% of the time and you guys should at least use capital letters at the beginning of the words, when not using spaces to separate them on nicks ;)

Still testing, but already saw the GUI is correct now. I had traced it as far as to the "commented out" stuff on initGraphics, still didn't checked the real changes you made. Using the debug build you posted, "best matching vesa mode" is still not working for ATI; it should set 1152x864. Edit: needs Graphics Mode key on Boot.plist!

By the way, i meant adding the "a" option to the others you had, without removing any. Now it's treating .DS_Store files as text :P It can be that i'm being tricked... do you have the TODO file on both dirs?

Edit: well, i don't know were that weird stuff on the diffs was coming from?? :o yeah, it's weird! now it's working as usual. I keep this stuff on simple bash scripts, so i don't have to type all the time and also for consistency/avoid type errors... oh well, f... it. Tired of weird stuff...
« Last Edit: March 31, 2010, 08:20:58 PM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

CEOS

  • Member
  • Posts: 49
here is the debug output: http://rapidshare.com/files/370463628/Archiv.zip.html

no graphic bug with this build.
but less output than i expected...
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

eberts

  • Observer
  • Posts: 15
Okay, back with a newer mobo. It's a Asus P5G43T-M Pro - same graphics card, still the good old 7300GT (256MB).
Internal graphics disabled but obviously the BIOS with the newer chip changed something as you suspected already:
It does seem to set 1440x900x32 but unfortunately the bug at the bottom is still there.

lebidou

  • Resident
  • Posts: 133
Hi guys, I'm not back yet. Just to say that all your posts have been read and taken into account. I won't be back until wednesday or so (not sure yet).

Also, I'd like to avoid speaking about things that are not related to the patch as much as possible (like other chameleon features and general os x stuff). I know I did it too, but I'll stop. I just realised how confusing it is. The thread is already quite long for a newcomer to read, it doesn't need to be mixed with other discussions.

Thank you all for reports and patience, see you soon.

fassl

  • VoodooLabs
  • Posts: 29
I remember floating point calculations lead chameleon to reboot some time ago, dont know if it behaves the same way still. If not: There is not really much code needed to set resolutions on nvidia cards, patching vesa modes is not the right way in my opinion. See http://mythic-beasts.com/resources/appletv/nvpanel/index.html . Long time ago i could set native resolution on my laptop in chameleon with that code, the only problem was that i set the resultion after the GUI was already initialized so the screen was kind of broken, and yeah, chameleon rebooting on floating point operations. I tested this code in a kernel extension as well, it is working. Dont misunderstand me, what you did is nice ;) but it shouldnt be done by patching VESA modes in my opinion.

I haven't read the entire thread so sorry if somebody already posted this link.

greets