Edit DSDT table, nvidia GPU (MXM) DELL XPS one A2010

  • Nicely done... Congrats!!! :thumbup:
    would you mind uploading the resulting DSDT?
    I would like to take a look, if you don't mind. ;)

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Sure, will do tomorrow :)


    edit: because i cant add a new "reply" to this thread :), i will just edit the last one and describe a bit what i did to make it work. 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 :D 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

    Dateien

    • dsdt.zip

      (17,7 kB, 141 Mal heruntergeladen, zuletzt: )
    • dsdt-modified.zip

      (19,22 kB, 130 Mal heruntergeladen, zuletzt: )

    Einmal editiert, zuletzt von tsalat ()

  • griven

    Hat das Label Erledigt hinzugefügt