2016-07-25 17 views
0

Ich habe einen Laptop (MSI GT72S), der einen manuellen GPU-Schalter hat. Es kann mir helfen, zwischen der Nvidia-GPU und der Intel-Grafikkarte zu wechseln, damit die deaktivierte Grafikkarte für das Betriebssystem unsichtbar bleibt.Benötigte Studienvorschläge - Manipulation von SMBIOS unter Linux

Diese Funktion benötigt jedoch einen Treiber namens SCM, der nur Windows unterstützt. Wenn ich die Taste unter Windows drücke, erscheint ein Popup-Fenster, das mich auffordert, den Rechner neu zu starten, damit er zu einer anderen GPU wechseln kann.

Das ist wirklich ein PIA für mich, da ich Linux viel öfter benutze und jedes Mal, wenn ich die GPU umstellen muss, muss ich in Windows neu starten und dann neu booten. Also möchte ich diese Funktion unter Linux archivieren.

Es scheint, dass dies durch Bearbeiten eines Blocks des SMBIOS implementiert wird (nicht sicher). Wenn der Intel GPU aktiviert ist, wird dieser Block sein:

Handle 0x0052, DMI type 221, 96 bytes 
OEM-specific Type 
     Header and Data: 
       DD 60 52 00 0D 01 00 00 00 00 00 00 02 00 FF FF 
       FF FF FF 03 04 FF FF FF FF FF 05 06 FF FF FF FF 
       FF 07 08 FF FF FF FF FF 09 00 00 00 00 00 00 0A 
       00 FF FF FF FF FF 0B 00 FF FF 00 00 00 0C 00 00 
       09 00 35 10 0D 00 FF FF FF FF FF 0E 00 FF FF FF 
       FF FF 0F 00 FF FF FF FF FF 10 11 01 02 02 03 00 
     Strings: 
       Lan Phy Version 
       Sensor Firmware Version 
       Debug Mode Status 
       Enabled 
       Performance Mode Status 
       Disabled 
       Debug Use USB(Disabled:Serial) 
       Disabled 
       ICC Overclocking Version 
       UNDI Version 
       EC FW Version 
       GOP Version 
       BIOS Guard Version 
       Base EC FW Version 
       EC-EC Protocol Version 
       Royal Park Version 
       BP1.2.2.0_RP03 

... und wenn die Nvidia GPU aktiviert ist,

Handle 0x0052, DMI type 221, 96 bytes 
OEM-specific Type 
     Header and Data: 
       DD 60 52 00 0D 01 00 00 00 00 00 00 02 00 FF FF 
       FF FF FF 03 04 FF FF FF FF FF 05 06 FF FF FF FF 
       FF 07 08 FF FF FF FF FF 09 00 00 00 00 00 00 0A 
       00 FF FF FF FF FF 0B 00 FF FF 00 00 00 0C 00 FF 
       FF FF FF FF 0D 00 FF FF FF FF FF 0E 00 FF FF FF 
       FF FF 0F 00 FF FF FF FF FF 10 11 01 02 02 03 00 

Aber ich habe nicht so Sachen vor und I don‘berührt Ich weiß nicht, wo ich anfangen soll. Ich habe es gegoogelt, aber es wurde nur wenig Material gefunden. Daher brauche ich dringend einige Vorschläge. Jede Hilfe wäre sehr geschätzt, danke!

Antwort

0

Es sieht so aus, als wäre dies eine OEM-definierte Struktur (Typ 221), die Status- und Versionsinformationen anzeigt. Diese Informationen werden vom BIOS während des POST erstellt und zum Lesen durch betriebssystembasierte Verwaltungsagenten (wie dmidecode in Linux) in den Arbeitsspeicher geschrieben. Durch das Ändern dieser Informationen wird die zugrunde liegende Konfiguration nicht geändert.