netkas.org forum
October 30, 2020, 08:38:12 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Information for registering users http://forum.netkas.org/index.php/topic,2246.0.html
 
   Home   Help Search Login Register  
Pages: 1 2 [3] 4 5 ... 15
  Print  
Author Topic: GFX-Strings  (Read 382359 times)
time ed
Jr. Member
**
Offline Offline

Posts: 98


« Reply #30 on: December 12, 2007, 12:35:44 AM »

What I did :
Got the NVCAP string from the Info.plist file in NVinjectGO.kext and copy/paste
Got the EDID string thanks to SwitchResX and coy/paste

Pulled NVCAP from IOregdump. Or does it have to come from NVinject? NVinject info.plist has what looks like a placeholder entry.

Got the EDID from Switchres. That's an awfully long byte string.

Is there a tool you used to edit? Or did you copy/paste in vi?
« Last Edit: December 12, 2007, 06:39:03 AM by time ed » Logged
nightcbis
Not Newbie
*
Offline Offline

Posts: 12


« Reply #31 on: December 12, 2007, 04:56:24 AM »

It seams like you guys have found something here. Can this be a solution for uss to activate any card that NVinject, Titan and Natit supports?

lebidou: Please explain exaclty how you did it. Thanks alot!
Logged
Thrawnhex
Jr. Member
**
Offline Offline

Posts: 74


« Reply #32 on: December 12, 2007, 07:38:43 AM »

@lebidou: You are at a laptop, right? Cause I don't think this'll work on PC's with external Display, because this Dump was made on an Imac... But I'll test this "solution" in a few hours.
And BTW: You can change to 7600GO, too... try to replace
Code:
4E 56 49 44 49 41 20 47 65 46 6F 72 63 65 20 37 36 30 30 20 47 54
with
Code:
4E 56 49 44 49 41 20 47 65 46 6F 72 63 65 20 37
36 30 30 20 47 4F
Logged
djchaos82
Newbie

Offline Offline

Posts: 3


« Reply #33 on: December 12, 2007, 08:44:04 AM »

Hi,

i've got a 8800 GTS with 320MB (MSI 320MB 8800GTS T2D320E-HD OC PCIe)
so i thought that i should be able to get it running with gfx-string.


but it seems that i was wrong, when i insert the gfx-string from http://tinyurl.com/2cuaj all i get is a really distorted (pixelates,
low-res) screen.

it is still working and i can switch resolution but it has no effect,
the screen stats extremly low-res (<640).

any clue what i can do Smiley?

thanks in advance...

PS: Apart from thats, EFI is great, THANKS Cheesy
Logged
lebidou
Not Newbie
*
Offline Offline

Posts: 27


WWW
« Reply #34 on: December 12, 2007, 09:40:14 AM »

Hello, I didn't have an extarnel display yesterday to test it, I tested it today and internal display doesn't load when an external one is plugged in.
So this 'solution' is not perfect.

For those who doesn't care of it :

1//  I replaced the NVCAP value in the device properties string that's after 4E 00 56 00 43 00 41 00 50 00 00 00 18 00 00 00 (using the find utility in textedit and countig the letters, there are 30), by the one I use in the info.plist of NVinjectGO.kext.
The ioreg dump value should be the same I think, shouldn't it ?

2//  I downloaded SwitchResX to get the EDID value (wich is quite long). Then I used the find util in textedit again to find 45 00 44 00 49 00 44 and replace the iMac's EDID after it.

3// I copied the string in com.apple.Boot.plist, removed NVinjectGO.kext and restart.

My laptop is a Fujitsu siemens amilo pi 1556. So I suppose the EDID value wil change from a computer to an other more likely than the NVCAP.

Here is the string
7600G1.txt
Logged

en.gael-philippe.fr -- english version
www.gael-philippe.fr -- version française
gotoh
Jr. Member
**
Offline Offline

Posts: 54


WWW
« Reply #35 on: December 12, 2007, 10:46:09 AM »

check the rtf file :

in bold are cards' name, EDID and NVCAP...
just copy these strings in an hex editor if you want to see what it looks like in ASCII.
You can just replace with what your actual hardware requires.

Also, what probably needs to be edited is FBOFFSET depending on your card's VRAM amount. inverter and backlight info should be removed for non laptop cards (IMO). There's also a part at the end of the device-properties which has nothing to do with graphics (related to antenna so prolly airport, and codec pin config, prolly HDA audio) These strings could interfer with present physical audio and wireless setup, so I suggest to remove them too...

* gfx.rtf (5.33 KB - downloaded 564 times.)
Logged
lebidou
Not Newbie
*
Offline Offline

Posts: 27


WWW
« Reply #36 on: December 12, 2007, 11:57:45 AM »

I think many of us are not developpers (including me), I made my 'tip' in a completly empirical way. I don't understand anything to this too long string, even using an hex editor. Is there any way to translate it in an understandable language ?

Maybe someone could, if possible, create a kind of app that could write the right string by using datas entered by the user. I mean, some datas doesn't changes, some does... I was thinking about some choices to be done : gfx card model, laptop, not laptop, and text field for nvcap, fboffset, edid. Something like an assistant or so. As I said I'm not developper, it's just an idea.

Logged

en.gael-philippe.fr -- english version
www.gael-philippe.fr -- version française
0xdeadbeef
Not Newbie
*
Offline Offline

Posts: 25


« Reply #37 on: December 12, 2007, 02:34:54 PM »


Maybe someone could, if possible, create a kind of app that could write the right string by using datas entered by the user. I mean, some datas doesn't changes, some does... I was thinking about some choices to be done : gfx card model, laptop, not laptop, and text field for nvcap, fboffset, edid. Something like an assistant or so. As I said I'm not developper, it's just an idea.


This is what I'm working on now. I can already inject arbitary properties into the gfx strings:



I will get it together to arrange load/save of property strings too.
« Last Edit: December 12, 2007, 02:39:20 PM by 0xdeadbeef » Logged

Conquering the world - 8 hex digits at a time.
lebidou
Not Newbie
*
Offline Offline

Posts: 27


WWW
« Reply #38 on: December 12, 2007, 03:11:20 PM »

That's a great news !

Maybe this could work out the dual display problem I got. I remember I had the same problem (internal display not working with external display plugged in) with Natit and NVinjectGO was the solution.

Anyway, I'm ready to test anything proposed.

Just more info if it could help : I'm using Leo 10.5.1 with ToH kernel, on a Fujitsu Amilo Pi 1556, my gfx card is 7600 GO (256Mo) with DVI output, on PCIe. pc_efi v8 (because of MBR)
Logged

en.gael-philippe.fr -- english version
www.gael-philippe.fr -- version française
Thrawnhex
Jr. Member
**
Offline Offline

Posts: 74


« Reply #39 on: December 12, 2007, 03:52:14 PM »

Yes, that sounds very good! If we can help you (maybe betatesting Wink ) just ask!

Thrawnhex
Logged
gotoh
Jr. Member
**
Offline Offline

Posts: 54


WWW
« Reply #40 on: December 12, 2007, 04:04:01 PM »

yep, don hesitate to ask for beta testers...
I have a few cards ready for testing, GF 7900GS and 7600GS, Radeon X1900GT. Also got a 8600GT but this one is hopeless...
Logged
frantisheq
Jr. Member
**
Offline Offline

Posts: 59


« Reply #41 on: December 12, 2007, 04:15:16 PM »

7300LE here
Logged
time ed
Jr. Member
**
Offline Offline

Posts: 98


« Reply #42 on: December 12, 2007, 04:45:07 PM »

@lebidou: You are at a laptop, right? Cause I don't think this'll work on PC's with external Display
That seems to be the case. So far I've had no luck with 7600GT DVI out to Samsung 226BW. Last try got me a nice display, but no QE/CI/resolution change. Maybe if I can get some tips on removing the laptop-specific stuff.

Also, what probably needs to be edited is FBOFFSET depending on your card's VRAM amount. inverter and backlight info should be removed for non laptop cards (IMO). There's also a part at the end of the device-properties which has nothing to do with graphics (related to antenna so prolly airport, and codec pin config, prolly HDA audio) These strings could interfer with present physical audio and wireless setup, so I suggest to remove them too...

Gotoh -- what is the byte string for FBOFFSET? I have a 256Mb card. Does it matter?

To lose the other strings you suggest removing (inverter, backlight, antenna), what is the best way to do that without corrupting the string? I'm using Hex Fiend, but if there's a better tool...

I've noticed something about these strings. So far lebidou's (up a few posts) is the only one that gotten me remotely close. That is, when I put his string in hex editor, all the ASCII is readable (he has a Philips LCD display). Its 2552 bytes. The rest I've tried are of varying byte length and unreadable past a certain point in the header.

@0xdeadbeef -- I'll try it. XFX 7600GT (256Mb), Leo 10.5.1 with vanilla kernel, pc_efi v8.
« Last Edit: January 14, 2008, 12:51:23 PM by time ed » Logged
0xdeadbeef
Not Newbie
*
Offline Offline

Posts: 25


« Reply #43 on: December 12, 2007, 05:09:01 PM »

What you need to know about the format of the gfx strings:

The first 4 bytes are a little-endian longword which is the size of the entire string.

Example: size is 4660 bytes == hex: 0x1234 -> 34120000
After that comes some bytes of crud that I don't thing is important for our purposes.

Each property in the gfx string has a name and a value. The name is a UNICODE_STRING that has a little-endian longword length attribute immediately before it. The length attribute includes the 4 bytes needed for itself:

Example "A.T.Y.,.C.r.a.p." => 1C0000004100540059002C0043007200610070000000

The value comes immediately after (also with a length attribute):

=>08000000DEADBEEF

So if you want to remove a property, you need to:
1. Remove the property name + it's length attribute
2. Remove the following value + it's length attribute
3. Enter your new length in the first 4 bytes of the string.

Good luck!
Logged

Conquering the world - 8 hex digits at a time.
time ed
Jr. Member
**
Offline Offline

Posts: 98


« Reply #44 on: December 12, 2007, 06:27:24 PM »

So in theory I could lop off everything after the NVCAP string, recalculate the total byte length and be good?

What about all the other AAPL attributes such as pixel format, dither, justify, data link?

One more thing:
The first 4 bytes are a little-endian longword which is the size of the entire string.
Example: size is 4660 bytes == hex: 0x1234 -> 34120000

The total length of lebidou's working string in Hex Fiend is 2552 bytes. The first 4 bytes of the string is FC 09 00 00. 0x09fc == 2556. I'm confused.
« Last Edit: December 12, 2007, 09:12:16 PM by time ed » Logged
Pages: 1 2 [3] 4 5 ... 15
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!