【折騰測試】小米Mix 2s安裝Win11 ARM版折騰測試

上個月我成功給一臺小米Mix2s安裝好了Windows11的ARM版,本來想寫個折騰測試篇的,但一直比較忙沒時間,這幾天總算是有了點時間,就打算折騰一下這臺手機,想詳細測試一下它在ARM版的Windows下是什么表現,并打算把它寫成一篇專欄,希望大家喜歡。

重新分區(qū)、重裝系統(tǒng)部分
雖然之前裝過Win11以后我又試了一下安裝Win10的ARM版,但感覺Win10的ARM版無法模擬64位的程序挺麻煩的,聽說Win11 ARM版的轉譯效率可能也比10高些,也支持模擬64位程序,再加上Win11的正式版前段時間也出了,所以測試的時候我還是給這臺機器重新安裝了Win11 ARM的正式版。
截止10月12日的時候,正式版的Win11更新到22000.258(Dev好像都更新到22471.1000了),雖然正式版距離預覽版和Dev版有很大的版本差別,但考慮到Beta和Dev通道的預覽版BUG比較多,有時候可能不太穩(wěn)定,我個人還是選擇裝穩(wěn)定的正式版。


重裝系統(tǒng)之前,之前的分區(qū)我也調整了一下,通過在PE里面查看那兩個分區(qū)空間的占用就能看出,其實ESP分區(qū)理論上只要分100M左右,PE分區(qū)只要分1G的大小就可以了,之前演示的時候我PE分區(qū)分的就比較多,就還是浪費了一部分空間,現在重裝系統(tǒng)就打算順便調整一下分區(qū)的大小。
我就在終端里重命名了一下引導的efi文件,讓他不要引導系統(tǒng)而是進入PE,在PE里先看看那兩個分區(qū)占用怎么樣,方便重新分區(qū)的時候調整。


然后我將ESP分區(qū)調整成了389M(調整成100在格式化的時候會提示Not enough clusters for a 32 bit FAT的錯誤,所以最終不變),PE分區(qū)調整成了1000M,剩下的就分配給Windows和安卓了,安卓有時候我也用的挺多的,所以就多分了點。




然后我就像之前那樣重裝了一下,熟悉步驟以后重裝也很簡單,很快就把系統(tǒng)重裝了。



重裝完成以后屏幕默認是豎屏,縮放100%用著感覺字看著挺小的,那樣把屏幕設置為橫向即可,縮放最大可以設置175%。


目前Mix2s的大多數硬件功能都可以使用了,除了CPU虛擬化、音頻、撥號、短信、GPS、傳感器和攝像頭還沒有適配驅動以外,其它功能都是可以正常使用的。

前面我在寫那篇刷機教程的時候藍牙還沒完善,后面也是完善了,這樣這臺機器想使用藍牙設備的話,就可以不需要外接藍牙適配器了。

不過還有個比較麻煩的問題是這款機型的音頻Codec沒有可用驅動,換句話來說就是現階段不可能支持音頻了,之前我還很期待如果能支持音頻的話就好了,不過問題也不大,我們可以使用藍牙耳機,或者外接一個聲卡搭配一個小喇叭也能解決音頻問題。




硬件解析部分
一個完整的計算機系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng),這臺手機可以安裝Windows系統(tǒng),運行原生的ARM軟件和模擬x86軟件,硬件部分運算器,控制器,存儲器都是存在的,也可以連接輸入和輸出設備,那么計算機的兩個軟件系統(tǒng),硬件五個重要的組成部分都有,理論上它當然可以算作一臺電腦了,我們就拿測試一臺電腦的方式,來測試一下這臺手機吧。
首先是CPU部分,驍龍845的工藝是基于三星的10nm?FinFET LPP(Low Power Plus)工藝打造的,指令集為ARMv8.2-A,微架構是Kryo 385,核心數為4個2.8GHz的Kryo 385大核心+4個1.8GHz的A75小核心組成,一級緩存每個大核心分配為128KB,小核心分配為64KB(一共為128x4+64x4=768KB),二級緩存每個大核心分配為256K,小核心分配為128K(一共為256x4+64x4=1.5MB),三級緩存為2M,GPU為Adreno?630,DSP為Hexagon?685,內存支持四通道16bit(也就是64bit)1866Mhz頻率的LPDDR4X內存,其中3M可以用于系統(tǒng)緩存。

我們來試試用電腦常用的檢測工具能不能讀出CPU信息吧,首先是CPU-Z。

雖然CPU-Z在運行的時候報錯了,但還是順利啟動讀出了CPU和主板的部分規(guī)格,還有運行內存的大小。



然后CPU-Z跑個分玩玩,讓我沒想到的是845多線程性能居然比775的雙核E8500還強,甚至還能接近AMD以前高頻低能的APU A10-7850K(7850K我以前折騰FM2+平臺也玩過,拿來做不裝獨顯的辦公機還湊合,玩大型游戲的話就算了),不過單核性能就比較杯具了,只有這兩款老CPU的五到六分之一。


然后再跑個國際象棋玩玩,雖然845的全核性能沒有想象的那么差,但單核性能還是太弱了,我就懶得跑CINEBENCH了,跑個國際象棋娛樂一下吧。

HWiNFO雖然也沒讀出什么,但讀出了這個CPU可以支持MMX,SSE和SSE2指令集。

AIDA64倒還挺厲害,讀出了這個CPU的插槽是BGA1156,還有時鐘頻率和緩存的信息,不過也并不能保證絕對準確。




另外AIDA64檢測出這個CPU是可以支持SSE4.1指令集的,甚至還支持AES指令集,不過檢測結果應該也是僅供參考,要測試這個CPU到底有沒有這個指令集的話,還是要運行針對那個指令集優(yōu)化的程序,可以正常運行就是可以支持,不能運行的話就是不支持。



AIDA64也能讀出這臺手機的板載內存是1866頻率的,8G的內存大小,不過位寬只有64位,性能應該和臺式機的單通道DDR3 1866性能差不多,算下來1866×64÷8000=14.928G/s,我也跑了一下內存與緩存測試,CPU的一級緩存和二級緩存的性能表現和延遲還行,內存性能也比理論性能還要更強一些,但是內存的延遲就太高了,有346.3ns,雖然LPDDR4X的內存延遲確實是要比普通內存更高一些,但這個延遲實在是太高了,如果拿來玩一些對內存延遲較為敏感的游戲的話,還是會帶來很大延遲。


AIDA64同樣是可以讀出這臺機器電池信息和溫度的,不過像CPU溫度那些就讀不出來了,畢竟它本質上也是需要讀取機器溫度傳感器信息來確定溫度的,但是不知道是我是用的這個擴展塢有問題,還是這個對充電器的要求較高,雖然給擴展塢配了個65W的充電器給手機連接了外設的情況下順帶給它充電,但安裝有外設的情況下手機就不會充進去電,雖然右下角顯示已接通電源,但電池依然還是會不斷掉電,AIDA64也顯示電池正在放電,估計是外設有供電的需求,跟手機搶了充電的供電吧,后面處理一些復雜應用不需要擴展塢接外設的話,我還是直接用充電器給手機供電吧。


CPU和內存簡單解析完成后,我們再來解析GPU看看吧,驍龍845處理器的GPU是Adreno 630,Adreno是由高通開發(fā)的SIP核GPU,通常運用在自家的Soc上。

順帶一提Adreno的前世最初是BitBoys,BitBoys后面被ATI收購,ATI開設了Imageon產品線,然后2006年AMD又收購了ATI,再然后2009年AMD因為資金緊缺又把Imageon賣給了高通,最終Imageon被更名為Adreno,仔細看Adreno和Radeon這兩個單詞,就能看出兩者使用的字母都是一樣的,只是排列順序不一樣而已,個人感覺AMD收購ATI花了54億美元有種高價收購的樣子,而高通僅花了6500萬美元就買下了手機處理器中較為先進的GPU技術,可謂是十分幸運的撿了個大便宜。
回歸原題,我們來說說Adreno 630的規(guī)格吧,它的架構支持統(tǒng)一著色器模型和統(tǒng)一內存,算術邏輯單元(ALU)為256x2個,核心頻率為710Mhz,每秒理論上可以生成大于500百萬(也就是5億)個三角形,像素填充率大約為12GPixel/s,紋理填充率大約為15.4GTexel/s,開放運算語言OpenCL它可以支持到2.0,每秒的FP64浮點運算次數大約為181.7GFLOPS,FP32浮點運算次數大約為727GFLOPS,FP16浮點運算次數大約為1454GFLOPS。
視頻編解碼方面,它的Hexagon?685的DSP可以支持MPEG-4,H263,VC-1,H.264,H.264 10-bit,VP8,H.265,H.265 10-bit,VP9,VP9 10-bit的視頻編解碼。
圖形API的話,它可以支持Vulkan 1.0到1.1,OpenGL ES 3.2,Direct3D可以支持到DX12.1,也就是微軟的DirectX它也可以支持的,最高可以支持到DX12 feature level 12_1。
說起DX12.1的話,桌面端GPU像英特爾六代Skylake架構的核顯(Generation 9.0),AMD的RX Vega系列(GCN5.0),NVIDIA的GTX 900系(Maxwell 2.0)以上的架構均能支持,而驍龍的GPU雖然是手機用的,但微軟和高通有合作,所以驍龍平臺也就可以支持DirectX。
關于這款GPU的規(guī)格參數說了那么多以后,我們也該實際測試一下了,先看看GPU-Z能不能讀出這玩意的信息,以及支持的圖形API特性啥的。
不過GPU-Z并沒有成功啟動,啟動過程中報錯關閉了,估計這個工具還是需要讀取顯卡驅動才能識別顯卡,那我們在AIDA64里面看看。

AIDA64倒是讀出了這玩意可以支持Shader Model 5.1,也就是DX11.1的特性,雖然理論上Adreno 500和600系都能支持DX12.1,但估計是驅動的問題才導致它只能支持到DX11.1,不過我也不可能拿這玩意來跑DX12的游戲,支不支持也無所謂了。



這里可以看出Tiled Resources的特性不支持,所以才會不支持DX12,Tiled Resources是支持DX12.0所需要的強制功能之一。
DX12.0除了需要支持DX11.1所需要的那些特性以外,還需要支持Typed UAV Loads和第二級的Tiled Resources,DX12.1需要支持的強制功能則還有光柵順序視圖(Rasterizer Ordered Views)以及第一級別以上的保守光柵化(Conservative Rasterization)。
實現DirectX則和顯卡硬件,顯卡驅動,操作系統(tǒng)都有關系,三者缺一不可。

OpenGL的話這里顯示只能支持到OpenGL1.1和1.2的少數特性,這樣的話感覺新的OpenGL軟件或者游戲可能就會用不了或者運行效率很低啊。

DirectX診斷工具里則顯示它可以支持WDDM2.3的驅動程序模型,DX11.1的特性,擁有2M的專用顯存,3894MB的共享內存。

盡管前面提到了這個GPU理論上可以支持OpenCL2.0,但可能是缺少OpenCL驅動的原因,AIDA64跑GPU計算性能測試只能使用CPU來跑OpenCL運算測試。

GPU部分說完了以后,就來說說存儲吧,我也像測試電腦一樣,測試一下這臺手機的內部存儲的性能究竟如何。
首先來運行CrystalDiskInfo看看,CrystalDiskInfo成功啟動,但顯示沒有找到硬盤,233,估計這個工具是讀取硬盤的SMART信息來識別的。

不過AIDA64倒是成功讀出了這玩意的一些信息,感覺還是這個檢測工具要專業(yè)點啊。

然后跑了一下CrystalDiskMark和AS SSD Benchmark,手機存儲雖然采用的是UFS,但讀寫速度還是比機械硬盤快很多的,這個讀取速度可以達到SATA3固態(tài)或者比較入門的Nvme硬盤水平了,寫入速度和SATA2的固態(tài)差不多,應該使用的是UFS2.0到2.1的閃存的樣子。
兩個工具的跑分則不太一樣,CrystalDiskMark我運行的是原生ARM64版,AS SSD Benchmark則是x86轉譯的,不知道是不是在轉譯過程中造成了性能損失。


測試完存儲以后還有一個讓我比較感興趣的問題,就是這臺手機的屏幕素質怎么樣呢?由于我手上沒有校色儀,所以還是拿不專業(yè)的測試來隨便看看吧。
我運行了一下這個顯示器色域檢測工具,這個工具還是需要依靠讀取顯示器的EDID信息來計算色域的,所以并沒有讀出什么信息。

AIDA64和系統(tǒng)設置里倒是讀出了一些信息,這個屏居然支持12bpc位深度的RGB顏色格式。



游戲測試部分
硬件測試做完以后,我就來實際看看這臺手機裝上Windows能玩些什么吧。
先來安裝個Steam玩玩吧,Steam雖然沒有ARM版,但是經過系統(tǒng)轉譯以后也是可以順利安裝和使用的,登錄賬號也沒問題。

然后我隨便找個GALGAME玩玩,并安裝了MSI Afterburner來看看幀數。


雖然只是GAL,但考慮到機器性能有限,而且中間還要經過轉譯,所以我將最大幀速率設置鎖60,多線程繪圖設置按照處理器數量分割。


然后運行起來沒啥問題,過場動畫播放起來也很正常,最高居然可以跑84幀,雖然有時候是有點小卡,但也可以接受,玩還是可以玩的。


不過有些有復雜特效的地方還是會掉幀的,我拿學姐線琴里暴走的那段劇情測試了一下,在有刮風特效的情況下幀數損失還是挺多的,只有5到6幀,不過其它不復雜的場景還是可以流暢運行的。

不過RJ雖然是吉里吉里引擎,圖形API是基于DX9的游戲,但是這游戲的Steam版有時候占用資源挺高的,不知道是不是我個人的錯覺,之前拿GPD的Max玩這個游戲機器也是發(fā)熱挺厲害,風扇聲音賊響,估計是當時沒有鎖幀的原因。
那我們再來試試其它GAL,玩?zhèn)€金戀看看吧,這個以前玩破解版的時候雖然我記得好像是Siglus引擎的游戲,但Steam版好像是Unity的。

主菜單界面還挺流暢,左上角也能看出圖形API是DX11的,玩起來也沒啥問題,感覺比RJ還要更流暢一些,拿這個手機有時候在外面玩玩GAL也是沒啥問題的。



再來試試一些經典游戲吧,例如《植物大戰(zhàn)僵尸》,這游戲說實話也是當年我夢寐以求想要玩到的游戲,這游戲雖然確實對配置要求不高,也有手機版,但當年我沒有手機,也不懂電腦連下載游戲都不會,也是很晚以后才有機會玩上的,可惜到那時候我已經變了。

這個跑起來也沒啥問題,挺流暢的,感覺和原生的差不多,應該只有在無盡生存模式,或者植物和僵尸都比較多的情況下才會卡吧,不過在手機上玩電腦版的植物大戰(zhàn)僵尸嘛,總有種脫褲子放屁的感覺,233。
這游戲說實話我也很久沒玩了,只記得大致規(guī)則而不怎么會玩了,誰笑到最后隨便擺了個陣形就掛著機來寫這個專欄,然后被海豚僵尸偷家了,噗哧。



再來試試CS1.6能不能玩吧,CS1.6也是我心中的經典之一,印象最深的就是六七年前和初中同學在電腦課的時候一起聯(lián)機玩過,當時我技術也是太菜了,同學也是都嫌棄我不會玩,然后我就去豆客平臺上玩,也一直是被虐就是了,時光飛逝啊,想當年還只是個游手好閑不好好學習的學生,現在我也是需要為生活而奔波的社畜了。

不過啟動的時候看上去有些不妙啊,好像提示使用OpenGL的視頻模式失敗,只能以軟件加速的形式啟動,來試試吧,CS1.6雖然是03年才發(fā)行的游戲,但我記得連21年前的GeForce 256都能跑,這個845都有人跑過CSGO了,只是跑個1.6應該問題不大吧?

然后我在設置中使用了OpenGL的顯示模式,結果在2160x1080的分辨率下只有個位數的幀數,菜單里也是,感覺挺卡的,不對啊,這個不是CSGO都能跑嗎?1.6怎么還跑不了呢?



后面我才想起了之前用AIDA64查看OpenGL信息的時候發(fā)現這個GPU的OpenGL支持較差,CS1.6是使用OpenGL的圖形API,而CSGO則是DirectX的圖形API,可能由于是驅動的原因,就導致這個GPU在DirectX的游戲里表現還行,OpenGL的游戲表現就比較差,當然也有可能是分辨率較高的原因導致的。
于是我嘗試降低了分辨率來跑,這個分辨率雖然幀數高了點,但還是說不上能玩,而且這個屏幕比例也有問題,窗口化只支持豎屏的分辨率,不支持橫屏的,估計是顯卡驅動的原因。
雖然CSGO理論上可以更好的運行,但考慮到這臺手機內存延遲太高了,所以我就懶得測試CSGO了。


看來這個運行稍微復雜一些的OpenGL游戲效率可能確實很低,既然CS1.6都這樣的話我就比較擔心了,那么同樣是基于OpenGL圖形API的紅警2能不能玩呢?我試了一下尤里的復仇,雖然剛開始啟動的時候彈出了這個我們非常熟悉的窗口,但我使用了TS-DDRAW的補丁,再窗口化啟動就成功進游戲了,隨便玩了下盟軍第一關,還是挺流暢的,沒感覺到卡頓,接上鍵盤鼠標玩還是可以玩的。
不過紅警2使用渲染補丁還是非常重要的,不然的話還是會很卡。





既然紅警2尤里的復仇運行起來沒啥問題,那么紅警2的MOD《心靈終結3.3》能不能玩呢?
于是我就嘗試了一下MO3.3.5,不過官漢版的啟動器一啟動就報錯了,估計是沒見過這個手機GPU的樣子,233。

雖然官漢版的MO現階段可能確實不能在這臺手機上玩了,但我還是找到了火星鼠漢化組的不需要紫球就可以啟動的版本,試了一下果然啟動成功了,隨便找一關試試吧。



試了一下盟軍第22關,雖然可以玩但感覺挺卡的,即便把游戲速度調到最快也一樣,比之前玩尤復盟軍第一關卡了好多,估計這關是大場面的原因,這種玩著還是有點難受,不過我也算是達成在手機上玩紅警2尤里的復仇和MOD心靈終結3.3的成就了。


既然紅警2可以玩,那么比紅警2配置要求更高的紅警3可不可以玩呢?于是我在Steam下載了紅警3,看看這臺手機有沒有能耐跑得動吧。

老樣子還是打上漢化補丁,使用窗口化啟動,安裝DX9.0c和C++2005的運行庫,因為這個手機屏幕屏幕比較小,有些游戲還是會存在兼容性問題,所以就窗口化來運行吧。

不過這次我遇到了一些問題,雖然之前我在這臺手機上玩紅警3確實成功了(詳情看我之前的B站動態(tài))當時自定義分辨率窗口化運行是沒有問題的,結果這次不知道是什么原因,設置窗口化和自定義分辨率不起作用,游戲里也調整不了分辨率,分辨率無論我怎么設置都顯示不正常,不管是原版還是起義時刻都是這種情況。




雖然我知道有可能是系統(tǒng)縮放的原因,然后把縮放改到了100%讓它運行,結果就報DirectX錯誤了,或許是這部手機不想讓我再繼續(xù)折磨它,而選擇罷工了吧。

那么在這個可以進游戲,但顯示看上去不太正常的分辨率下我測試了一下低畫質,感受還是可以流暢運行的,我也只感到了少量的掉幀,畢竟之前720P的最高畫質我都挑戰(zhàn)過嘛,高分辨率的低畫質應該問題不大,紅警3最低畫質現在對顯卡要求倒是真的不高,前面我拿六代酷睿M的HD515核顯都可以在4K分辨率下流暢運行最低畫質的紅警3,當然特效開高就不行了。


不過依照我前面成功測試紅警3的印象來看,紅3在主菜單還是挺流暢的,過場動畫能跑到50幀,載入地圖加載速度也挺快,在720P的最高畫質,關閉抗鋸齒在場景不復雜的情況下,還是可以跑個20多幀的,場景復雜的情況下會掉到10幀左右,而且GPU可能會出現占用不滿的情況,那就說明應該是CPU瓶頸了,紅警3作為一款DX9的游戲,還是相當于依賴CPU單核心性能的。
總結
經過一番折騰給這臺手機裝上Windows系統(tǒng)并整了好多活,個人感覺還是挺有意思的,當然更要感謝Renegade?Project那些為845手機定制UEFI鏡像和編寫驅動的大佬,若是沒有他們的幫助,我們也不可能在這些手機上安裝Windows和玩出各種新花樣。
盡管平常我折騰手機非常少,也從來不打手游,但給這臺手機安裝Windows折騰下來還是玩的挺開心的,通過給手機安裝Windows系統(tǒng),使用測試一臺電腦的方式來測試手機,還是讓我們對這臺手機的性能有了更多的了解,想想看這還只是三年前的手機呢,隨著手機CPU的性能也在不斷進步,未來我相信在有驅動適配和定制UEFI的情況下,處理器更強的手機還可以更流暢運行Windows系統(tǒng)甚至模擬更復雜的x86軟件,把Windows系統(tǒng)和軟件裝在口袋里就可以帶走,這個對這方面有需求的人或者愛好者來說,不是很有意思嗎?
但是我相信肯定也有人會這樣覺得,UP主你這樣做不是脫褲子放屁嘛,這手機折騰下來有什么意義???只是為了推GAL的話有krkr模擬器,或者用exagear就行,植物大戰(zhàn)僵尸明明有安卓版,你非要在手機上運行電腦版的,這么小個屏幕和這么小的畫面你還想拿來打CS和紅警,這不是神經病嗎?
這樣說也確實不是完全沒有道理,只是為了實現那些需求的話,我完全沒必要折騰,直接用高性能大屏幕的電腦玩確實更香,但我們在做這些事情的時候,難道做的時候就不是為了這些需求而做為目標去的,而是享受這個折騰的過程呢?
就像我前面剛開始折騰的時候給米8嘗試的時候分區(qū)失敗了(當時我不懂那個分區(qū)的原理就直接用的人家一加6的分區(qū)方案),導致那臺機器變磚了一段時間,Mix2s在折騰過程中也因為沒有刷寫devcfg分區(qū)而導致藍屏無法進入系統(tǒng),這兩個問題都困擾了我很久,但最終還是成功解決了,成功將米8救了回來,Mix2s也成功裝好了系統(tǒng),折騰的教程也是從剛開始完全看不懂,到后面慢慢理解和熟悉,在成功的那一瞬間總會有種油然而生的成就感,這或許就是享受折騰過程中的樂子吧。
那么這篇專欄就到這里了,可能比價亂和寫的不太好,里面有些個人主觀想法也存在一些問題和誤導性,希望大佬們指出,謝謝大家的支持。