對Intel顯卡驅動安裝器的一些分析
琴梨梨OvO
攻擊性修煉中
XZiar 等 342 人贊同了該回答
溝槽的Intel,顯卡驅動包都1.6G了,真的有必要看看這泌陽的到底塞了什麼東西了
下載下來的驅動包本質是一個7z sfx文件,直接解包
首先可以看到裡面有兩個不同版本的驅動
為什麼會有兩個不同版本的驅動呢?我們分別看裡面的設備支持情況
Intel驅動的核心文件是iigd_dch.inf(核顯)和iigd_dch_d.inf(獨顯)
先看6449,核顯支持如下
獨顯支持如下
這是一個正常的支持大多數型號的描述
那麼再看看版本號較低的6256呢
6256只有iigd_dch_d.inf,說明這是一個獨顯only版本
裡面只有一種型號:B580
可以看到B580目前無法共享主線驅動,只能使用特定版本
但溝槽的Intel不肯打兩個包非要打一起
Intel一直有這種新卡一下子沒法和舊卡同步跟進版本只能固定基線縫縫補補的特色,發佈一段時間後才會合併到同一基線版本
那麼除了驅動本身以外到底這個安裝器裡還塞了什麼呢
首先來看Extra文件夾
EnduranceGaming就是類似NV那個續航優化的限制幀率的東西,沒啥用
DSA驅動更新助理還有個新的DCA說白了就是遙測
然後這個新的GraphicsSoftware就是Intel新的控制面板
是的,Intel在沒有放棄老的UWP控制面板的情況下,先放棄了cef套殼的Arc Control,然後又寫了個新的控制面板
但先別急,我們先看看DSA怎麼安裝包要40M
用7z解包發現一個4.cab體積很大直接拖出來
把這個cab解包裡面有三個文件
其中a1和a2都是mz開頭,應該是exe文件
改後綴exe運行發現是VC++運行時
所以也就是說DSA本體在這個a0裡就2M多
所以直接7z開a0,裡面media1.cab解包出來就是DSA本體
DSA為啥本體這麼小呢?因為它跑在系統的.net framework 4上面
接著來看DCA遙測
MSI直接用UniExtract提取
仍然是一個跑在.net framework 4上面的程序
從文件名來看包括了顯示器,顯卡,電池,wifi信號等遙測服務,還挺多的,代號是Queen creek,這是一個亞利桑那州的小鎮,Intel很多代號都喜歡用地名來取
迴歸重點我們來看Graphics Software,解包得到七個文件
四個非常小的是bat腳本
剩下三個裡面a1和a0又是MZ文件頭,改名exe試試
大的a0是.net 8.0.10,小的又是VC++運行時
a4是個MSI,解包得到程序本體
是運行在.net 8上的
看完了Extra接著來看PrebuiltShaderBinaries,也就是預構建的著色器
獨顯提供了Alchemist和Battlemage,算是全的,都只提供directml.pso,directml是微軟的機器學習框架
核顯方面提供Arrow Lake, Lunar Lake, Meteor Lake三代,可憐的Tiger Lake在驅動支持範圍內但沒有預構建著色器
三個核顯都有directml.pso,但唯獨Lunar Lake還提供了龍騰世紀守護者的pso
這讓我百思不得其解
我就去搜Intel歷史驅動更新日誌,發現6130-6048的更新說明裡有這麼一條
翻譯:龍騰世紀守護者在Lunar Lake上的啟動速度顯著提高了
於是我就把6130-6048和上一個版本6078-5736都下載下來了
一對比還真就是這個版本開始就有了這玩意
合著Intel你優化啟動速度的辦法就是預編譯著色器塞驅動裡啊,我真的要繃不住了
最後的最後,讓我們來看看Intel驅動這個接近70M的主安裝器到底葫蘆裡賣的什麼藥
解包出來四個文件
4是啟動頁面的png
1是一個不可運行的exe文件
2.exe又是.net 8.0.10運行時
3.7z.sfx.exe是一個7z自解壓文件
運行後得到這樣的文件
解包後的Installer是一個.net 單文件發佈格式文件,使用sfextract即可提取
並且這個文件執行時依賴.net 8運行時
現在是總結時間
Intel在一個驅動安裝包內打包了
兩個不同版本的驅動
兩份.net 8.0.10運行時(所以系統裡裝了.net SDK仍然莫名其妙出現的.net 8.0運行時就這麼破案了)
兩份舊版的VC++運行時
一份龍騰世紀的著色器
所以說Intel還是草臺班子
雖然驅動更新挺頻繁,但無論從哪方面來看都像一個草臺班子
也難怪Intel這麼快就在驅動體積上完成了對紅綠兩家的反超
就問1.6G的驅動還有誰家做得到?
我有點想做一個基於GitHub Actions的Intel驅動分解器了,自動分解驅動到小包體,每次只下載最小包體,我實在是不想把帶寬浪費在下載自己根本用不到的龍騰世紀的著色器上了
幸好,本次分析過程沒有磨損我的硬盤,因為升級到96G內存後我劃了一個48G的內存盤,爽啊
編輯於 2025-01-14 15:32