陸靜
最近,MIUI開始推送獨(dú)立GPU驅(qū)動的事情,引起了很多朋友的關(guān)注。通常情況下,手機(jī)的硬件驅(qū)動往往不能像電腦一樣,獨(dú)立安裝升級,現(xiàn)在情況居然發(fā)生了變化,不少朋友紛紛感嘆這簡直就是黑科技。
GPU驅(qū)動能夠獨(dú)立升級,對于用戶體驗來說,無疑是一件好事情。通過獨(dú)立的驅(qū)動更新,手機(jī)能夠更迅速便捷地獲得新驅(qū)動,帶來性能提升、問題修復(fù)。這樣的好事情,在別的安卓上也會有嗎?這是獨(dú)門科技還是大勢所趨?
安卓為何沒法單獨(dú)升級驅(qū)動
安卓之所以長時間以來,沒法像Windows那樣靈活升級驅(qū)動,是和系統(tǒng)架構(gòu)息息相關(guān)的。安卓基于Linux,而Linux使用的是宏內(nèi)核,系統(tǒng)內(nèi)核和驅(qū)動等模塊緊密結(jié)合。而Windows的架構(gòu)更接近于微內(nèi)核,系統(tǒng)各模塊之間分離度較高。
宏內(nèi)核和微內(nèi)核(類微內(nèi)核)的特性,會反映到驅(qū)動的更新推送的體驗上。由于宏內(nèi)核將驅(qū)動和系統(tǒng)內(nèi)核耦合在一起,因此如果想要升級驅(qū)動,往往需要升級系統(tǒng);而Windows這樣的類微內(nèi)核系統(tǒng),則可以獨(dú)立升級驅(qū)動。微軟為了兼容更多硬件,還為驅(qū)動設(shè)計了標(biāo)準(zhǔn)模型,例如圖形驅(qū)動的WDDM和音頻架構(gòu)UAA等,只要驅(qū)動編寫符合WDDM,UAA等架構(gòu),就可以自行安裝升級,無需對系統(tǒng)內(nèi)核進(jìn)行改動。
盡管宏內(nèi)核在驅(qū)動升級方面不夠靈活,但Linux之所以如此設(shè)計,還是有道理的———宏內(nèi)核耦合度高,這可以帶來更高的進(jìn)程間IPC通信效率,性能更為出色。因此,可以看到Linux廣泛應(yīng)用于各類不同性能的設(shè)備之上,超算用Linux能夠更加物盡其用,智能手環(huán)這樣的小物件用Linux則可以帶來更流暢的體驗。
安卓的改變:裝驅(qū)動越來越像Windows
然而,宏內(nèi)核在移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)時代,則遭遇到了一些挑戰(zhàn),各式各樣智能設(shè)備迅速涌現(xiàn),令硬件適配成為了一個不得不面對的問題。
以安卓機(jī)為例,市面上的安卓機(jī)使用了不同的CPU、GPU、基帶和CODEC等,由于宏內(nèi)核的高耦合度,安卓機(jī)很難對操作系統(tǒng)和硬件驅(qū)動進(jìn)行單獨(dú)升級,無論想要升級系統(tǒng)還是想要升級驅(qū)動,廠商都需要為每個安卓機(jī)型號單獨(dú)制作系統(tǒng)鏡像。并不是每個廠商都會選擇投入很大精力到系統(tǒng)維護(hù)當(dāng)中的,這導(dǎo)致了安卓系統(tǒng)和驅(qū)動升級困難,最后的結(jié)果就是安卓機(jī)系統(tǒng)版本的碎片化。
為此,Google改變了安卓的形態(tài),在安卓8.0中推行了 Project Treble機(jī)制,將系統(tǒng)(Android OS framework)單獨(dú)分區(qū),和硬件驅(qū)動(Vendor implementation)分離,此后廠商可以為設(shè)備單獨(dú)推送新版安卓,而不需要重新適配驅(qū)動。Project Treble大大簡化了安卓系統(tǒng)的升級流程,因此安卓8.0以后的設(shè)備,升級安卓大版本的速度比以前更快了。
但在安卓10當(dāng)中,Google推行了Project Mainline,將系統(tǒng)進(jìn)一步細(xì)分模塊化。在安卓10中,14個系統(tǒng)組件被Mainline化,媒體解碼器、權(quán)限控制器和網(wǎng)絡(luò)組件等系統(tǒng)組件,都可以像普通APP一樣,通過應(yīng)用商店來更新,GPU驅(qū)動能夠獨(dú)立更新,就得益于此。
可以說,安卓通過Project Treble和Project Mainline,正變得越來越“微內(nèi)核”。在尚未正式發(fā)布的安卓11中,安卓的組件模塊達(dá)到了20個之多,安卓的系統(tǒng)維護(hù)將會變得前所未有地靈活,變得越來越像PC。
GPU驅(qū)動升級是黑科技嗎
MIUI之所以能夠通過應(yīng)用商店獨(dú)立更新GPU驅(qū)動,主要是受益于安卓Project Treble和Project Mainline的特性,而作為此次更新所服務(wù)的硬件,高通芯片的貢獻(xiàn)也功不可沒。
在2019年底,高通就宣布旗下的最新SoC驍龍865,可以通過應(yīng)用商店來獨(dú)立更新驅(qū)動,而且更新操作和更新APP一樣簡單。不過當(dāng)時高通所說的是通過Google Play商店來進(jìn)行更新,由于國內(nèi)無法使用Google Play,因此MIUI轉(zhuǎn)用自己的渠道更新GPU驅(qū)動,效果還是很不錯的。
如無意外,高通今后也會繼續(xù)為旗下的芯片發(fā)布新驅(qū)動,不過是否所有的安卓機(jī)都能收到更新?這最終還得看手機(jī)OEM廠商———驅(qū)動發(fā)布后,需要OEM廠商進(jìn)行測試,然后再向用戶推送。無論如何,OEM廠商所需要做的工作,已經(jīng)比以往少了許多,如果這樣都不給用戶提供驅(qū)動升級,未免太說不過去。
目前高通似乎尚未明確除了驍龍865外,還沒有芯片能夠獲得獨(dú)立的驅(qū)動更新,但無論如何,Project Mainline的前途是光明的。此后我們有望在越來越多的手機(jī)上能得到GPU驅(qū)動升級這樣的福利,這個Google帶來的“黑科技”將成為解決安卓碎片化的希望。
隨著移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的發(fā)展,為了更靈活地適配硬件,系統(tǒng)的“微內(nèi)核化”似乎成為了趨勢,從安卓的系統(tǒng)架構(gòu)變更可以印證這點(diǎn)。希望有更多硬件廠商跟進(jìn)安卓的新機(jī)制,及時為各類硬件推送獨(dú)立驅(qū)動,為用戶帶來更好的體驗。