2016-07-25 55 views
0

我有一臺筆記本電腦(MSI GT72S),它具有手動GPU切換按鈕。它可以幫助我在Nvidia GPU和Intel之間切換,以便禁用的操作系統對操作系統隱藏。需要的研究建議 - 在Linux下操縱SMBIOS

但是,此功能需要一個名爲SCM的驅動程序,其中只有支持Windows。當我在Windows下按下按鈕時,會彈出一個窗口,要求我重新啓動機器,以便它可以切換到另一個GPU。

這對我來說確實是一個PIA,因爲我更經常使用Linux,並且每次需要切換GPU時,都必須重新引導到Windows,然後重新引導。所以我想在Linux下歸檔這個函數。

看來這是通過編輯SMBIOS塊(不確定)來實現的。當啓用了Intel GPU,此塊將是:

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 

...並啓用了Nvidia的GPU時,

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 

但我還沒有碰到這樣的東西之前,我穿上」甚至不知道從哪裏開始。我已經使用Google,但沒有發現任何材料。所以我現在強烈需要一些建議。任何幫助將不勝感激,謝謝!

回答

0

看起來像這是一個OEM定義的結構(類型221),它報告狀態和版本信息。此信息由POST在POST期間構建,併發布到內存以供基於OS的管理代理(如Linux中的dmidecode)讀取。更改該信息不會更改基礎配置。