网易首页 > 网易号 > 正文 申请入驻

包教包会:龙芯3A5000上运行任意Windows软件

0
分享至

  几个月之前,龙芯中科刚放出可用的二进程翻译模块时,我写了一篇《在龙芯3A5000上运行Windows程序》。很多朋友说那篇文章中的操作太复杂。我写的时候,没有觉得操作难度大,可现在回头去看,也觉得过于繁琐。于是重写一篇,使用更简单的方法达到同样的目的。下面的视频与本文配套,可一起食用:

实际步骤仅三步:

  1. 安装Loongnix或UOS,并更新系统;

  2. 安装 Wine 和 Q4Wine;

  3. 双击运行 exe。

  第1 步可以忽略,第3步可以忽略——仅一个步骤。但为了显得文章内容丰富,下面还是详细地说一说。

龙芯二进制翻译技术简介:

  龙芯的CPU不是x86架构(指令集),当前最新的3A5000、3B5000、3C5000……系列CPU产品都是使用的龙芯中科自主设计的LoongArch架构(指令集)。不同架构的CPU不能相互兼容二进制程序,比如在ARM的CPU上就不能直接安装运行x86版的Windows,在使用Intel/AMD的CPU的电脑上也不能安装ARM版本的Android。有的读者会问:“凤凰OS、技德OS也是Android,不就可以在电脑上安装吗?”那是因为它们是x86版本的Android,就可以安装在x86架构的电脑上,但如果想要在ARM手机/平板上运行,那它们就得提供ARM的版本。

操作系统区分CPU架构(指令集),应用程序不但区分CPU架构,还要区分操作系统,分版本发布。我们知道绝大多数应用软件都只有x86/Windows的版本,也有些软件只有Android或IOS版,或者同时发布多种架构多个平台的版本。现在越来越多的国产软件开始发布支持国产CPU和Linux系统的版本,国产硬件和软件助推“信息技术应用创新产业”发展。

  x86架构的CPU高端型号已经有多次对我国禁售的事件, Windows、IOS、Android也都是来自美国的操作系统,随时都有被中断供应和服务的风险。现在与技术研究和生产力相关的硬件和软件被“卡脖子”的问题越来越不能忽视,因此建立独立的硬件和软件生态迫在眉睫,只有自力更生才能保障国家各个领域和行业的安全。自力更生不是拒绝国际合作,而是要实现“以我为主”的国际合作及技术交流。海纳百川、开放包容、兼容并蓄、博采众长、实现和谐发展、和平共处。

  龙芯LoongArch架构发布还不到一年,软件生态建设以国内软件企业为主,不到一年的时间,在桌面、服务器上的应用深度和广度已经远超诞生了十几年的RISC-V,与ARM的桌面、服务器生态水平相当。然而与x86/Windows相比仍然远远不如,特别是党政办公和一些生产环境的软件非常依赖Windows,也不能轻易转移到龙芯/Linux平台,如果不能脱离x86/Windows环境,又如何用龙芯CPU保障信息和生产安全呢?

  龙芯的解决方案就是“二进制翻译”,通过二进制翻译在LoongArch架构的Linux上运行x86架构的Linux/Window程序。龙芯的“二进制翻译”方案是以专门设计的CPU硬件指令来加速二进制翻译的过程,是硬件与软件有机结合的产物,龙芯中科把它命名为LAT(Loongson Architecture Translator),中文名为“龙芯体系结构翻译器”。翻译x86应用的叫“LATX”,翻译ARM应用的叫“LATA”,目前还只有LATX,可以运行x86架构的应用程序。

  纯软件的二进制翻译技术早已存在,但都存在翻译运行时效率极低的问题。有一些软件使用了一些取巧的方法,比如在ARM架构的Linux上运行x86的程序时,x86程序调用的系统API也是x86的,但翻译软件不翻译API接口内部的二进制代码,而直接转向为对本机系统API的调用,就能省去大量的翻译任务。如果应用程序的大多数功能和计算是通过系统API实现,就能达到较高的运行效率,因为系统API不用翻译。但是当遇到对系统API调用极少的代码时,翻译运行的效率就会低于10%,这种方式不能从根本上解决二进制翻译效率低下的问题。

  上方的截图中,左侧的终端窗口中是在3A5000/Loongnix上测试p7zip的情况,仅进行了单线程测试。

  得分3121的是LoongArch64架构原生的p7zip(16.02)Linux版,得分1877的是使用LATX翻译运行的x86_64架构的p7zip(16.02)Linux版,翻译运行效率为60%。并不是任何软件都是60%的翻译运行效率,这与LATX对x86指令支持程度有关,比如AES加密就很慢,LATX还没有对相关指令实现优化支持,程序以i386基本指令运行。也有一些测试超过60%的效率,这就是优化得较好的情况。

  右下方是Unigine游戏引擎的Benchmark程序,Unigine游戏引擎有Linux的版本,这里运行的就是x86_64架构的Linux版本。不过由于LATX尚不完善,Benchmark的3D动画还不能正常显示,但能说明LATX不只支持命令行程序,也支持图形化界面的软件。我还尝试了Mathematica这款著名的数学工具,运行时提示Qt初始化错误,应该是由于龙芯LATX提供的x86 Linux运行库中暂缺Qt库的原因。

  下面的截图是在飞腾D2000/UOS上测试p7zip的情况,使用BOX86进行二进制翻译,也仅进行了单线程测试。因UOS软件源中未提供BOX64,故翻译运行的p7zip是32位x86版本,测试成绩可能会比64位版本略低一些。

  得分2381的是ARM64架构原生的p7zip(16.02)Linux版,得分657的是使用BOX86翻译运行的x86架构的p7zip(16.02 32bit)Linux版,翻译运行效率为28%。

  龙芯当前的LATX还处于alpha测试版状态,无论是应用程序本身的二进制代码,还是对系统API的调用,它都全部翻译执行,非常粗暴。我非常期待龙芯的LATX结合软件优化方案之后的状态,兼容并蓄、博采众长,之后翻译运行时的平均效率必然会更高。

  注:几天前龙芯更新的LATX 1.1.3-alpha版仍然是在粗暴地完全翻译x86应用程序,以及应用程序使用的所有库文件及接口。因为单纯的硬件加速二进制翻译还没有达到最佳状态,所以可能就没有急于加上对系统API调用转向、以及静态翻译等各种纯软件翻译方案的优化技巧,来达到更高的翻译运行效率。

在龙芯3A5000上使用LATX:

  目前在龙芯自己的Linux发行版Loongnix中和统信的UOS专业版(LoongArch)中已经内置了LATX,可以直接运行x86架构的Linux软件。银河麒麟我未测试,不知道是否内置,也不确定是否可以安装LATX的软件包。如果要运行Windows软件,那么还需要安装Windows API兼容层软件wine。wine是为Windows程序提供API接口支持,本身不具有翻译CPU二进制指令的能力。在非x86架构的CPU上运行wine就需要前置二进制翻译工具,例如在ARM Linux上常用的qemu、BOX86/64、exagear等,在龙芯LoongArch架构上则主要使用龙芯自己开发的LATX。

  在龙芯3A5000的电脑上使用LATX,首先需要安装Loongnix或UOS。

  Loongnix安装镜像在“龙芯开源社区”网站下载,建议使用下图中红线勾出的两个版本之一。两个版本只是默认的桌面环境不同,一个cartoon一个mate,我使用的是cartoon版本。安装过程可以参考上面的视频,本文不再赘述。

  UOS专业版的安装镜像在“统信UOS生态社区”官网下载。打开首页后点击顶部的“资源中心”,再选择“桌面专业版”,下载“统信UOS桌面专业版loongarch64”。需要注意这些镜像下载链接不能用迅雷打开,请使用浏览器自身的下载功能。UOS的安装教材非常多,此处也不再详述。

  安装Loongnix或UOS专业版之后,首先需要把系统更新到最新状态。Loongnix和UOS中都有图形界面的更新程序,也可以使用终端输入命令来更新系统。Loongnix的“系统更新”工具是在开始菜单中,UOS的系统更新是在“控制中心”中。

  命令行更新系统的操作在两个系统上相同,只是在UOS上需要先打开“开发者模式”。因为UOS专业版主要用于各种办公环境,稳定易用优先,所以默认关闭了root权限,需要注册了“开发者”账号才能打开root权限,以避免非专业用户因各种误操作导致系统或各种软件环境被破坏。

  命令行更新系统也很简单,在桌面上点击鼠标右键,在弹出的菜单中选择“在终端中打开”,在打开的终端窗口中输入如下命令:

  sudo apt update && sudo apt upgrade -y

如果只是想要运行x86/Linux程序,那么在系统更新完成之后,只需要安装LAT。要想运行Windows程序,就要再安装Wine。Wine也是一个x86架构的Linux程序,在系统中用了LAT之后就可以直接安装使用。为了使用更方便,还需要安装一个管理wine的图形化界面工具Q4Wine。在终端窗口输入如下命令就可以完成安装:

  sudo apt install lat wine5 q4wine

  本文开始处的视频中,在Loongnix系统中安装的wine是wine 6.0的版本,但UOS(LoongArch)版中目前只有wine5以及Deepin-wine的5.0和6.0。如果UOS用户没有打开“开发者模式”,那么可以通过应用商店安装Q4Wine,并使用Deepin-wine。不过Q4Wine与deepin-wine可能存在一些兼容性问题,不推荐使用。

  Q4Wine首次运行时,会显示设置向导界面,主要需要配置Wine各个主程序所在的路径:

  上图是默认的路径,但一般wine的安装路径不是这个,而只是安装时在/usr/bin下面自动创建了符号链接文件来指向真实的文件路径。因此也可以把路径设置到真正的安装路径,一般是在/opt文件夹下面。例如:

/opt/wine5/opt/wine6/opt/deepin-wine5-stable/opt/deepin-wine6-stable

  在UOS下,还需要配置终端程序路径,把终端程序设置为/usr/bin/deepin-terminal,如下图所示:

  其它的设置项目都可以使用默认值,直接点击“下一步”直至完成。Q4Wine配置完成之后,就会出现下面的界面:

  Q4Wine已经预设了默认的windows(wine)环境,前缀(名称)为Default,但还没有在硬盘上完成初始化。此时双击Q4Wine界面中的程序图标,或者在Linux的文件管理器中双击exe文件,就会自动完成windows(wine)环境的初始化。由于Q4Wine与deepin-wine可能存在一些兼容性问题,当使用deepin-wine时,自动初始化的windows(wine)可能是一个空文件夹。需要通过应用商店安装一个使用wine的软件,并成功运行。然后再在Q4Wine中创建一个“新前缀”,把路径指向到刚才软件运行后自动创建的windows(wine)环境文件夹,这样的文件夹是在/home/用户/.deepin-wine/下面。

  在wine提供的windows环境中,提供了一个功能精简的“资源管理器”,可以在Q4Wine的界面中双击打开。从资源管理器中可以看到,C盘就是windows环境,默认映射到/home/用户/.wine文件夹。Z盘是映射到Linux的根目录,如果插入了U盘,就会依次自动映射为D盘、E盘。在资源管理器中,可以进行浏览、复制、粘贴等文件操作,也可以双击打开文件。双击exe文件时就会打开运行,比较便捷。

  更加便捷的方式是在Linux的文件管理器中直接双击打开exe,Q4Wine会自动弹出一个运行对话框:

  一般不需要修改默认设置,直接点击“是”,然后程序就会运行。可以运行绿色软件,也可以运行安装程序。有一些只能全屏的游戏,可以通过设置“虚拟桌面”使它窗口化运行。有一些Windows程序不允许同时运行多个,那么可以在Q4Wine中创建多个“前缀”得到多个相互隔离的windows环境,在每个“前缀”中运行一个,实现多开。也有些程序使用Wine直接就能实现多开,不需要创建多个“前缀”。下面是网友在龙芯3A5000上玩网游时的视频截图。

  不只游戏,一些股票软件在龙芯3A5000上也可以正常安装运行,在LoongArch软件生态建设初期可以作为原生生态的有益补充。

  因为wine默认不包含Windows下的字体文件,而是使用的Linux的字体,某些程序会因为找不到字体而不能正确显示文字。解决这个问题的方式很简单,就是把Windows下的字体文件复制到Linux上。一般系统安装在C盘,那么Windows字体文件夹不是C:\Windows\Fonts。

  字体可以复制到两个地方:

  1、复制到Windows(Wine)环境的Window\Fonts,默认路径是:

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

  字体文件复制完成之后立即生效。

  如果有多个Windows(Wine)环境,那么每环境中的fonts文件夹中都需要复制字体文件。很麻烦而且浪费空间,那么可以试试第二个方法。

  2、复制到Linux系统的字体文件夹中,不但wine可以用,Linux的程序也可以用。默认路径一般是:

  /usr/share/fonts

  Linux的字体文件夹下还有子文件夹,这一点与Windows不一样。因此我们也可以创建一个子文件夹来存放来自Windows的字体文件。比如可以创建一个win-fonts文件夹,再把字体文件复制进去。现在还不算完,还需要进入文件夹运行几个命令:

  cd /usr/share/fonts/win-fonts  sudo mkfontscale  sudo mkfontdir  sudo fc-cache

  如此便字体生效,一劳永逸。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
美股科技、芯片股盘前普涨,闪迪涨超4%,黄金涨破4700美元,原油跳水,机构建议关注三大主线

美股科技、芯片股盘前普涨,闪迪涨超4%,黄金涨破4700美元,原油跳水,机构建议关注三大主线

21世纪经济报道
2026-04-06 18:16:45
离婚才1年多,杨子母亲的态度大变,才知黄圣依的决定有多正确

离婚才1年多,杨子母亲的态度大变,才知黄圣依的决定有多正确

白面书誏
2026-03-31 16:17:28
长沙一男子地铁上猥亵女乘客被拍下,民警顺着网络线索将其抓获!

长沙一男子地铁上猥亵女乘客被拍下,民警顺着网络线索将其抓获!

黄河新闻网吕梁
2026-04-06 08:40:58
1982年血色使馆:中国外交官唐健生为了生存杀光了所有同事

1982年血色使馆:中国外交官唐健生为了生存杀光了所有同事

阿校谈史
2026-03-20 11:03:27
证监会一夜十罚!10家公司遭殃,散户如何提前识别并排雷?

证监会一夜十罚!10家公司遭殃,散户如何提前识别并排雷?

慧眼看世界哈哈
2026-04-06 13:12:03
孕妇买200元水果却被丈夫怒骂:双标到极致,家境曝光,网友劝离

孕妇买200元水果却被丈夫怒骂:双标到极致,家境曝光,网友劝离

青梅侃史啊
2026-04-04 12:20:02
郭艾伦被熟人骗千万过程+细节,资产大洗牌乱成一团,家属情绪崩溃

郭艾伦被熟人骗千万过程+细节,资产大洗牌乱成一团,家属情绪崩溃

林子说事
2026-04-06 07:20:34
原油跳水,亚太股市全线上涨,明天A股跟涨还是继续独立行情?

原油跳水,亚太股市全线上涨,明天A股跟涨还是继续独立行情?

丁丁鲤史纪
2026-04-06 11:58:46
国乒六大未来之星,个个潜力无穷,最小才14岁,都是世界冠军苗子

国乒六大未来之星,个个潜力无穷,最小才14岁,都是世界冠军苗子

哄动一时啊
2026-03-23 19:28:29
流量大戏落幕!陈光标兑现承诺,送张雪千万劳斯莱斯已变现捐嫣然

流量大戏落幕!陈光标兑现承诺,送张雪千万劳斯莱斯已变现捐嫣然

雷科技
2026-04-05 20:54:10
人能节俭到什么程度?网友:十几年没换老公,香水只喷人中

人能节俭到什么程度?网友:十几年没换老公,香水只喷人中

另子维爱读史
2026-04-06 19:10:34
去医院时千万别做这几种检查,不仅没有好处,还会产生这些影响!

去医院时千万别做这几种检查,不仅没有好处,还会产生这些影响!

奇妙的本草
2026-04-06 11:58:41
Super Junior演唱会栏杆断裂,多名粉丝从高处坠落,公司凌晨发文致歉:安全围栏倒塌致3名观众跌落受伤,将为受伤观众提供治疗支持

Super Junior演唱会栏杆断裂,多名粉丝从高处坠落,公司凌晨发文致歉:安全围栏倒塌致3名观众跌落受伤,将为受伤观众提供治疗支持

极目新闻
2026-04-06 09:45:30
倒计时48小时,特朗普骑虎难下,中俄嗅到危险,王毅将主持公道

倒计时48小时,特朗普骑虎难下,中俄嗅到危险,王毅将主持公道

临云史策
2026-04-06 17:43:17
国乒最新行程出炉:成都备战世乒赛参赛名单揭晓!樊振东或有变数

国乒最新行程出炉:成都备战世乒赛参赛名单揭晓!樊振东或有变数

刘哥谈体育
2026-04-06 12:55:21
从今天起,中国不再需要日本道歉!这觉醒,来自3500万亡魂的重量

从今天起,中国不再需要日本道歉!这觉醒,来自3500万亡魂的重量

兴史兴谈
2026-04-06 03:33:35
以色列宣布已停止所有对法国防采购

以色列宣布已停止所有对法国防采购

财联社
2026-04-05 22:04:05
央视直播!上海德比+京蓉对决,上赛季四强本轮相遇,2队仍是负分

央视直播!上海德比+京蓉对决,上赛季四强本轮相遇,2队仍是负分

实事球是
2026-04-06 16:53:29
三球35+8+7三分!黄蜂大胜送森林狼3连败 兰德尔26+8华子伤停

三球35+8+7三分!黄蜂大胜送森林狼3连败 兰德尔26+8华子伤停

醉卧浮生
2026-04-06 09:26:59
18岁松岛辉空核心力量突出,日乒按照樊振东身形打法定向仿造?

18岁松岛辉空核心力量突出,日乒按照樊振东身形打法定向仿造?

杨华评论
2026-04-05 23:10:19
2026-04-06 20:20:49
guee
guee
热爱国产CPU的无证程序员
13文章数 13关注度
往期回顾 全部

科技要闻

前同事被蒸馏成Token,AI能否偷走职场经验

头条要闻

媒体:付出不菲代价 "拯救大兵"行动仍有疑点未解开

头条要闻

媒体:付出不菲代价 "拯救大兵"行动仍有疑点未解开

体育要闻

球员系列赛大满贯!赵心童10-3世界第一 加冕赛季第4冠

娱乐要闻

唐嫣罗晋新加坡遛娃,6岁女儿身高抢镜

财经要闻

史诗级暴跌"一周年" A股接下来如何走?

汽车要闻

阿维塔06T快上市了 旅行车还能这么玩?

态度原创

亲子
教育
旅游
房产
公开课

亲子要闻

怀孕后有以下几种反应,妈妈们要重视,孕期也要降“甜度”

教育要闻

阴影面积怎么算?一招教你求梯形面积!

旅游要闻

天坛、智化寺的绝美梨花,能结出梨吗?

房产要闻

小阳春全面启动!现房,才是这波行情里最稳的上车票

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版