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