Jump to content
LaptopVideo2Go Forums
Tomas Salat

Edit DSDT table, nvidia GPU

Recommended Posts

Tomas Salat

Hi everyone!

i spent lots of time by trying to solve an issue with a new GPU inside XPS A2010 (9600m GT 512DDR3) and i guess iam almost at the end :) The A2010 has an MXM II slot with an ATI HD2400 card inside and therefore its theoretical changeable but while plugging another GPU inside you got a black screen and so on...  Anyway, i was chating with one guy who did some modding in the past and figure out that no MXM structure is inside the BIOS. Well, this means that the vBIOS of the ATI card was customized for the machine and no other vBIOS would work. He injected the MXM structure inside the BIOS and it was light :). The screen went online with the BIOS with MXM structure but the fans (sys) are running full speed and if i install drivers for the card the screen goes black or distorted. Its not a driver issue, i tried at least 20x different drivers through 3x OS (XP, 7 and 10) but i noticed that the display is missing from the device manager after installing drivers or better, while the ATI card is plugged in,  everything is working but when i plug the nVidia card the display is missing or wrongly detected with no EDID. Therefore the machine more likely refuse the new card due to missing mxm structure inside the DSDT table. Well sounds easy, its not :(

I tried to figure this out but i have no idea what to inject, what to change and so on inside the DSDT table. Hence, anyone has some experience with DSDT edit? - bellow link to the DSDT table. Any suggestions?

xpsone.3d-sphere.com/Files/M-020006, with MXM structure 26.zip
xpsone.3d-sphere.com/Files/dsdt-ATI-24.zip

Tomas

Share this post


Link to post
Share on other sites
Tomas Salat
On 29. 3. 2009 at 0:10 PM, mobilenvidia said:

 

Anyone any suggestion at least? It looks like the BIOS is still refusing the new GPU card for some reason and from this the fans are running full speed and afterwards i get problems with the monitor (no EDID). Iam completely lost here and i have no idea what to try. Iam even not sure if its really the DSDT table or not, the fans are starting at full speed while the BIOS check, so not after the power button is pressed, just some seconds later after the DELL logo appears and the bios beeps/check starts. I dont know where to start to dig in, try to change or similar and any suggestion or help will be appreciated. If any info is missing just let me know.

If there is anyone willing and able to solve this iam open to send him a nVidia FX770m (MXM II) as "thank you". I have no use for it anyway. Tomas

Share this post


Link to post
Share on other sites
Tomas Salat

Well, did it :)

In the first place, the XPS A2010 which is was modding has an MXM II slot but no entry about the MXM structure inside system BIOS. The reason why its not there is because they modified the video BIOS of the default ATI card to inject this while loading the vBIOS into the memory. Therefore there wasnt anything mentioned about the MXM interface in the DSDT as well, thats logicaly  why it should be there in the first place 

Hence, i had to modify all these to make it work. One user injected the MXM structure inside the system BIOS according to the MXM specification 2.1. Wasnt so hard i believe but you need to place there appropriated callbacks for the BIOS to load these, this is something which i cant explain more to be honest. The MXM structure consists from information like the interfaces to which the card can push the signal (internal LCD and so on), maximum power, maximum cooling capabilities and so on. Right after the MXM structure, EDID for the LCD can be add if the LCD doesnt have EDID pins to identify himself. Well, this was the part which add absolutely new feature to the system BIOS and the new card started to work with 3 major problems:

The performance was set to throttling

The picture was ok without the drivers but bad, and i mean really like distorted signal, after installing the drivers

The fans were all the time at full speed (system and CPU)


Now, the first two problems are a DSDT issue. Because no MXM structure was present before no was added to the description table. Problem is that the DSDT table has some length. IF you want to inject it back to the SBIOS it has to be the same size or smaller. I was lucky because the XPS has a on-board GPU as well. Well, i deleted it from the DSDT table to make room together with some OS entries. The on-board GPU is in this case never active, even with the default DSDT, and therefore no sense to keep it there. After making room i added the MXM structure according to the MXM specification, you can compare both *.dsl files which are attached to see the changes. The MXM structure has an buffer which is equal to the structure which was injected to the SBIOS. This solved the performance problem. To solve the LCD problem i added the _DDC method to the LCD and created an buffer with the EDID of the LCD. This solved the LCD problem.

Now, the fans were a bit more tricky. The DSDT doesnt have any Thermalzone and neither embedded controllers inside. Therefore the DSDT cant be the problem. The SBIOS could have some white list but no error at all. After some time i realized that the Fintek microchip which should control the fans is not used for that but instead Intel QST is controlling it. Well, dammit  The Intel ME is not a part of the SBIOS but, i was lucky here, i found tools which could manipulate with the QST config. I looked on the status and realized that while changing the GPU the address of the fan changed and therefore the QST was in an emergency mod and set all fans to 100%. Well, dumped the settings, removed the GPU sensor and its done 

i hope that this will help someone  Tomas

dsdt-modified.zip

dsdt.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×