最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

包教包會:龍芯3A5000上嘗試運行任意Windows軟件

2022-03-18 15:58 作者:gueenet  | 我要投稿

  幾個月之前,龍芯中科剛放出可用的二進程翻譯模塊時,我寫了一篇《在龍芯3A5000上運行Windows程序》。很多朋友說那篇文章中的操作太復雜。我寫的時候,沒有覺得操作難度大,可現(xiàn)在回頭去看,也覺得過于繁瑣。于是重寫一篇,使用更簡單的方法達到同樣的目的。下面的視頻與本文配套,可一起食用:



實際步驟僅三步:

  1. 安裝Loongnix或UOS,并更新系統(tǒng);

  2. 安裝 Wine 和 Q4Wine;

  3. 雙擊運行 exe。

  第1 步可以忽略,第3步可以忽略——僅一個步驟。但為了顯得文章內(nèi)容豐富,下面還是詳細地說一說。

龍芯二進制翻譯技術(shù)簡介:

  龍芯的CPU不是x86架構(gòu)(指令集),當前最新的3A5000、3B5000、3C5000……系列CPU產(chǎn)品都是使用的龍芯中科自主設(shè)計的LoongArch架構(gòu)(指令集)。不同架構(gòu)的CPU不能相互兼容二進制程序,比如在ARM的CPU上就不能直接安裝運行x86版的Windows,在使用Intel/AMD的CPU的電腦上也不能安裝ARM版本的Android。有的讀者會問:“鳳凰OS、技德OS也是Android,不就可以在電腦上安裝嗎?”那是因為它們是x86版本的Android,就可以安裝在x86架構(gòu)的電腦上,但如果想要在ARM手機/平板上運行,那它們就得提供ARM的版本。

  操作系統(tǒng)區(qū)分CPU架構(gòu)(指令集),應(yīng)用程序不但區(qū)分CPU架構(gòu),還要區(qū)分操作系統(tǒng),分版本發(fā)布。我們知道絕大多數(shù)應(yīng)用軟件都只有x86/Windows的版本,也有些軟件只有Android或IOS版,或者同時發(fā)布多種架構(gòu)多個平臺的版本?,F(xiàn)在越來越多的國產(chǎn)軟件開始發(fā)布支持國產(chǎn)CPU和Linux系統(tǒng)的版本,國產(chǎn)硬件和軟件助推“信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)”發(fā)展。

  x86架構(gòu)的CPU高端型號已經(jīng)有多次對我國禁售的事件, Windows、IOS、Android也都是來自美國的操作系統(tǒng),隨時都有被中斷供應(yīng)和服務(wù)的風險。現(xiàn)在與技術(shù)研究和生產(chǎn)力相關(guān)的硬件和軟件被“卡脖子”的問題越來越不能忽視,因此建立獨立的硬件和軟件生態(tài)迫在眉睫,只有自力更生才能保障國家各個領(lǐng)域和行業(yè)的安全。自力更生不是拒絕國際合作,而是要實現(xiàn)“以我為主”的國際合作及技術(shù)交流。海納百川、開放包容、兼容并蓄、博采眾長、實現(xiàn)和諧發(fā)展、和平共處。

  龍芯LoongArch架構(gòu)發(fā)布還不到一年,軟件生態(tài)建設(shè)以國內(nèi)軟件企業(yè)為主,不到一年的時間,在桌面、服務(wù)器上的應(yīng)用深度和廣度已經(jīng)遠超誕生了十幾年的RISC-V,與ARM的桌面、服務(wù)器生態(tài)水平相當。然而與x86/Windows相比仍然遠遠不如,特別是黨政辦公和一些生產(chǎn)環(huán)境的軟件非常依賴Windows,也不能輕易轉(zhuǎn)移到龍芯/Linux平臺,如果不能脫離x86/Windows環(huán)境,又如何用龍芯CPU保障信息和生產(chǎn)安全呢?

  龍芯的解決方案就是“二進制翻譯”,通過二進制翻譯在LoongArch架構(gòu)的Linux上運行x86架構(gòu)的Linux/Window程序。龍芯的“二進制翻譯”方案是以專門設(shè)計的CPU硬件指令來加速二進制翻譯的過程,是硬件與軟件有機結(jié)合的產(chǎn)物,龍芯中科把它命名為LAT(Loongson Architecture Translator),中文名為“龍芯體系結(jié)構(gòu)翻譯器”。翻譯x86應(yīng)用的叫“LATX”,翻譯ARM應(yīng)用的叫“LATA”,目前還只有LATX,可以運行x86架構(gòu)的應(yīng)用程序。

  純軟件的二進制翻譯技術(shù)早已存在,但都存在翻譯運行時效率極低的問題。有一些軟件使用了一些取巧的方法,比如在ARM架構(gòu)的Linux上運行x86的程序時,x86程序調(diào)用的系統(tǒng)API也是x86的,但翻譯軟件不翻譯API接口內(nèi)部的二進制代碼,而直接轉(zhuǎn)向為對本機系統(tǒng)API的調(diào)用,就能省去大量的翻譯任務(wù)。如果應(yīng)用程序的大多數(shù)功能和計算是通過系統(tǒng)API實現(xiàn),就能達到較高的運行效率,因為系統(tǒng)API不用翻譯。但是當遇到對系統(tǒng)API調(diào)用極少的代碼時,翻譯運行的效率就會低于10%,這種方式不能從根本上解決二進制翻譯效率低下的問題。

  上方的截圖中,左側(cè)的終端窗口中是在3A5000/Loongnix上測試p7zip的情況,僅進行了單線程測試。

  得分3121的是LoongArch64架構(gòu)原生的p7zip(16.02)Linux版,得分1877的是使用LATX翻譯運行的x86_64架構(gòu)的p7zip(16.02)Linux版,翻譯運行效率為60%。并不是任何軟件都是60%的翻譯運行效率,這與LATX對x86指令支持程度有關(guān),比如AES加密就很慢,LATX還沒有對相關(guān)指令實現(xiàn)優(yōu)化支持,程序以i386基本指令運行。也有一些測試超過60%的效率,這就是優(yōu)化得較好的情況。

  右下方是Unigine游戲引擎的Benchmark程序,Unigine游戲引擎有Linux的版本,這里運行的就是x86_64架構(gòu)的Linux版本。不過由于LATX尚不完善,Benchmark的3D動畫還不能正常顯示,但能說明LATX不只支持命令行程序,也支持圖形化界面的軟件。我還嘗試了Mathematica這款著名的數(shù)學工具,運行時提示Qt初始化錯誤,應(yīng)該是由于龍芯LATX提供的x86 Linux運行庫中暫缺Qt庫的原因。

  下面的截圖是在飛騰D2000/UOS上測試p7zip的情況,使用BOX86進行二進制翻譯,也僅進行了單線程測試。因UOS軟件源中未提供BOX64,故翻譯運行的p7zip是32位x86版本,測試成績可能會比64位版本略低一些。

  得分2381的是ARM64架構(gòu)原生的p7zip(16.02)Linux版,得分657的是使用BOX86翻譯運行的x86架構(gòu)的p7zip(16.02 32bit)Linux版,翻譯運行效率為28%。

  龍芯當前的LATX還處于alpha測試版狀態(tài),無論是應(yīng)用程序本身的二進制代碼,還是對系統(tǒng)API的調(diào)用,它都全部翻譯執(zhí)行,非常粗暴。我非常期待龍芯的LATX結(jié)合軟件優(yōu)化方案之后的狀態(tài),兼容并蓄、博采眾長,之后翻譯運行時的平均效率必然會更高。

  注:幾天前龍芯更新的LATX 1.1.3-alpha版仍然是在粗暴地完全翻譯x86應(yīng)用程序,以及應(yīng)用程序使用的所有庫文件及接口。因為單純的硬件加速二進制翻譯還沒有達到最佳狀態(tài),所以可能就沒有急于加上對系統(tǒng)API調(diào)用轉(zhuǎn)向、以及靜態(tài)翻譯等各種純軟件翻譯方案的優(yōu)化技巧,來達到更高的翻譯運行效率。

在龍芯3A5000上使用LATX:

  目前在龍芯自己的Linux發(fā)行版Loongnix中和統(tǒng)信的UOS專業(yè)版(LoongArch)中已經(jīng)內(nèi)置了LATX,可以直接運行x86架構(gòu)的Linux軟件。銀河麒麟我未測試,不知道是否內(nèi)置,也不確定是否可以安裝LATX的軟件包。如果要運行Windows軟件,那么還需要安裝Windows API兼容層軟件wine。wine是為Windows程序提供API接口支持,本身不具有翻譯CPU二進制指令的能力。在非x86架構(gòu)的CPU上運行wine就需要前置二進制翻譯工具,例如在ARM Linux上常用的qemu、BOX86/64、exagear等,在龍芯LoongArch架構(gòu)上則主要使用龍芯自己開發(fā)的LATX。

  在龍芯3A5000的電腦上使用LATX,首先需要安裝Loongnix或UOS。

  Loongnix安裝鏡像在“龍芯開源社區(qū)”網(wǎng)站下載,建議使用下圖中紅線勾出的兩個版本之一。兩個版本只是默認的桌面環(huán)境不同,一個cartoon一個mate,我使用的是cartoon版本。安裝過程可以參考上面的視頻,本文不再贅述。

  UOS專業(yè)版的安裝鏡像在“統(tǒng)信UOS生態(tài)社區(qū)”官網(wǎng)下載。打開首頁后點擊頂部的“資源中心”,再選擇“桌面專業(yè)版”,下載“統(tǒng)信UOS桌面專業(yè)版loongarch64”。需要注意這些鏡像下載鏈接不能用迅雷打開,請使用瀏覽器自身的下載功能。UOS的安裝教材非常多,此處也不再詳述。

  安裝Loongnix或UOS專業(yè)版之后,首先需要把系統(tǒng)更新到最新狀態(tài)。Loongnix和UOS中都有圖形界面的更新程序,也可以使用終端輸入命令來更新系統(tǒng)。Loongnix的“系統(tǒng)更新”工具是在開始菜單中,UOS的系統(tǒng)更新是在“控制中心”中。

  命令行更新系統(tǒng)的操作在兩個系統(tǒng)上相同,只是在UOS上需要先打開“開發(fā)者模式”。因為UOS專業(yè)版主要用于各種辦公環(huán)境,穩(wěn)定易用優(yōu)先,所以默認關(guān)閉了root權(quán)限,需要注冊了“開發(fā)者”帳號才能打開root權(quán)限,以避免非專業(yè)用戶因各種誤操作導致系統(tǒng)或各種軟件環(huán)境被破壞。

  命令行更新系統(tǒng)也很簡單,在桌面上點擊鼠標右鍵,在彈出的菜單中選擇“在終端中打開”,在打開的終端窗口中輸入如下命令:

  sudo apt update && sudo apt upgrade -y

  如果只是想要運行x86/Linux程序,那么在系統(tǒng)更新完成之后,只需要安裝LAT。要想運行Windows程序,就要再安裝Wine。Wine也是一個x86架構(gòu)的Linux程序,在系統(tǒng)中用了LAT之后就可以直接安裝使用。為了使用更方便,還需要安裝一個管理wine的圖形化界面工具Q4Wine。在終端窗口輸入如下命令就可以完成安裝:

  sudo apt install lat wine5 q4wine

  本文開始處的視頻中,在Loongnix系統(tǒng)中安裝的wine是wine 6.0的版本,但UOS(LoongArch)版中目前只有wine5以及Deepin-wine的5.0和6.0。如果UOS用戶沒有打開“開發(fā)者模式”,那么可以通過應(yīng)用商店安裝Q4Wine,并使用Deepin-wine。不過Q4Wine與deepin-wine可能存在一些兼容性問題,不推薦使用。

  Q4Wine首次運行時,會顯示設(shè)置向?qū)Ы缑?,主要需要配置Wine各個主程序所在的路徑:

  上圖是默認的路徑,但一般wine的安裝路徑不是這個,而只是安裝時在/usr/bin下面自動創(chuàng)建了符號鏈接文件來指向真實的文件路徑。因此也可以把路徑設(shè)置到真正的安裝路徑,一般是在/opt文件夾下面。例如:

/opt/wine5

/opt/wine6

/opt/deepin-wine5-stable

/opt/deepin-wine6-stable

  在UOS下,還需要配置終端程序路徑,把終端程序設(shè)置為/usr/bin/deepin-terminal,如下圖所示:

  其它的設(shè)置項目都可以使用默認值,直接點擊“下一步”直至完成。Q4Wine配置完成之后,就會出現(xiàn)下面的界面:

  Q4Wine已經(jīng)預設(shè)了默認的windows(wine)環(huán)境,前綴(名稱)為Default,但還沒有在硬盤上完成初始化。此時雙擊Q4Wine界面中的程序圖標,或者在Linux的文件管理器中雙擊exe文件,就會自動完成windows(wine)環(huán)境的初始化。由于Q4Wine與deepin-wine可能存在一些兼容性問題,當使用deepin-wine時,自動初始化的windows(wine)可能是一個空文件夾。需要通過應(yīng)用商店安裝一個使用wine的軟件,并成功運行。然后再在Q4Wine中創(chuàng)建一個“新前綴”,把路徑指向到剛才軟件運行后自動創(chuàng)建的windows(wine)環(huán)境文件夾,這樣的文件夾是在/home/用戶/.deepin-wine/下面。

  在wine提供的windows環(huán)境中,提供了一個功能精簡的“資源管理器”,可以在Q4Wine的界面中雙擊打開。從資源管理器中可以看到,C盤就是windows環(huán)境,默認映射到/home/用戶/.wine文件夾。Z盤是映射到Linux的根目錄,如果插入了U盤,就會依次自動映射為D盤、E盤。在資源管理器中,可以進行瀏覽、復制、粘貼等文件操作,也可以雙擊打開文件。雙擊exe文件時就會打開運行,比較便捷。

  更加便捷的方式是在Linux的文件管理器中直接雙擊打開exe,Q4Wine會自動彈出一個運行對話框:

  一般不需要修改默認設(shè)置,直接點擊“是”,然后程序就會運行??梢赃\行綠色軟件,也可以運行安裝程序。有一些只能全屏的游戲,可以通過設(shè)置“虛擬桌面”使它窗口化運行。有一些Windows程序不允許同時運行多個,那么可以在Q4Wine中創(chuàng)建多個“前綴”得到多個相互隔離的windows環(huán)境,在每個“前綴”中運行一個,實現(xiàn)多開。也有些程序使用Wine直接就能實現(xiàn)多開,不需要創(chuàng)建多個“前綴”。下面是網(wǎng)友在龍芯3A5000上玩網(wǎng)游時的視頻截圖。

  不只游戲,一些股票軟件在龍芯3A5000上也可以正常安裝運行,在LoongArch軟件生態(tài)建設(shè)初期可以作為原生生態(tài)的有益補充。

  因為wine默認不包含Windows下的字體文件,而是使用的Linux的字體,某些程序會因為找不到字體而不能正確顯示文字。解決這個問題的方式很簡單,就是把Windows下的字體文件復制到Linux上。一般系統(tǒng)安裝在C盤,那么Windows字體文件夾不是C:\Windows\Fonts。

  字體可以復制到兩個地方:

  1、復制到Windows(Wine)環(huán)境的Window\Fonts,默認路徑是:


  /home/用戶/.wine/drive_c/windows/fonts


  字體文件復制完成之后立即生效。

  如果有多個Windows(Wine)環(huán)境,那么每環(huán)境中的fonts文件夾中都需要復制字體文件。很麻煩而且浪費空間,那么可以試試第二個方法。

  2、復制到Linux系統(tǒng)的字體文件夾中,不但wine可以用,Linux的程序也可以用。默認路徑一般是:


  /usr/share/fonts


  Linux的字體文件夾下還有子文件夾,這一點與Windows不一樣。因此我們也可以創(chuàng)建一個子文件夾來存放來自Windows的字體文件。比如可以創(chuàng)建一個win-fonts文件夾,再把字體文件復制進去?,F(xiàn)在還不算完,還需要進入文件夾運行幾個命令:


  cd /usr/share/fonts/win-fonts

  sudo mkfontscale?

  sudo mkfontdir

  sudo fc-cache


  如此便字體生效,一勞永逸。


包教包會:龍芯3A5000上嘗試運行任意Windows軟件的評論 (共 條)

分享到微博請遵守國家法律
雷州市| 石门县| 黎平县| 枞阳县| 古交市| 靖边县| 肥乡县| 辽宁省| 红安县| 雷波县| 古田县| 冕宁县| 邢台市| 怀化市| 五莲县| 汕尾市| 车险| 洪泽县| 金阳县| 延川县| 新龙县| 金秀| 泰兴市| 萨嘎县| 洛川县| 内乡县| 清流县| 金堂县| 西林县| 普格县| 集安市| 乌审旗| 儋州市| 九台市| 邵阳市| 灵宝市| 揭西县| 灵丘县| 铁岭县| 铁岭市| 禹州市|