当前位置: 首页 > news >正文

鸿蒙 PC 发布之后,想在技术上聊聊它的未来可能

最近鸿蒙 PC 刚发布完,但是发布会没公布太多技术细节,基本上一些细节都是通过自媒体渠道获取,首先可以确定的是,鸿蒙 PC 本身肯定是无法「直接」运行 win 原本的应用,但是可以支持手机上「原生鸿蒙」的应用,细节上无非就是 UI 兼容下大屏模式的支持,比如下图是来自 差评XPIN 的鸿蒙 PC 截图:

那么问题来了,HarmonyOS 「卓易通 」 作为生态过渡的丰富支持,甚至在应用商店都可以无缝衔接,那么鸿蒙 PC 是否也可以有类似的场景?

因为目前得到的消息是,鸿蒙 PC 不支持侧载 ,这个结论我也不保熟,只是在这个大条件下讨论,那么 鸿蒙 PC 是不是也可以有个 「W易通」?技术上是否可以支持?


当然,你要说鸿蒙 PC 和鸿蒙手机,本质它们是同源的,App 之间互通理论上没毛病,从这个角度看,好像又支持侧载?
在这里插入图片描述

那「W易通」?技术上是否可以支持?答案上还真可以,从某些媒体上说的,通过定制 Wine 来兼容已有的 win 软件,这个或者是一条可行的路,但是其实我也并没有找到官方下图的说法和出处,但是不妨碍我们讨论可行性。

Wine 这个名字本身就揭示了它核心特性:“Wine Is Not an Emulator”(Wine 不是模拟器),它其实已经被应用很久了,例如:

  • Steam Deck 和 Proton,就是那个 Steam 的掌机,它用的就是为极致游戏定制的 Wine ,Proton 是一个为 Windows 游戏能在 Linux 上流畅运行而深度定制和优化的发行套件
  • CrossOver 和 Whiskey,在 macOS 上运行 win 游戏,也是 Wine 的定制

所以 Wine 确实是一个可行的途径,Wine 在实际场景里主要是充当一个兼容层,实时地将 Windows 应用的 API 调用转换为宿主操作系统(如 Linux 或 macOS)能够理解的等效 POSIX 调用 。

当然,这种设计也意味着 Wine 的兼容性直接取决于其对 Windows API 的重实现程度,所以 Wine 的核心就是重塑 Windows API ,在某种程度上镜像了 Windows 的结构,例如:

  • wineserver:在 Windows 中主要是由内核提供核心服务,在 Wine 中会由 wineserver 在用户空间实现 ,它的职责包括实现基本的 Windows 功能,如进程和线程管理、对象管理、进程间通信(IPC)、同步原语、将 Unix 信号转换为 Windows 异常,处理窗口管理和输入事件等

  • 核心 DLL 的重实现:Wine 提供了大量核心 Windows DLL 版本,例如 NTDLL.DLL(Windows NT 内核功能的核心接口)、KERNEL32.DLL(基础操作系统功能,如内存管理、文件 I/O)、GDI32.DLL(图形设备接口,负责 2D 绘图)、USER32.DLL(用户界面元素、窗口管理、消息传递)等 ,这些 Wine 实现的 DLL 通常以 Unix 共享对象(.so 文件)的形式存在,它们可以直接调用宿主操作系统的函数

另外 还有 WineD3D ,将 Direct3D 和 DirectDraw API 调用翻译成 OpenGL 调用的核心组件 ,另外还有 DXVK 这种专注于将 Direct3D API 调用高效地翻译成 Vulkan 调用的支持。

前面的 Steam 的 Proton 也是一个针对游戏优化的 vkd3d 分支,负责将 D3D12 调用翻译为 Vulkan ,而 macOS 上或者还需要比如 MoltenVK 将 Vulkan 转为 Metal ?

当然,翻译 API 的局限性就不用多说了,还有一些依赖底层驱动支持的场景,很难在通用性上做到完美,当时理论上做到部分应用通用的场景应该可以,甚至在游戏领域反而更有优势?

当然,还有另外一条途径就是直接跑虚拟机,或者说虚拟桌面,目前已经有不少人运行成功,比如就有博主用 Os-easy 虚拟机装上了Windows 11 :

事实上 Linux 上运行 Win 虚拟机一直以来就有,用户只需选择镜像文件并完成基础配置,同样也可以在鸿蒙 PC 上使用Windows系统。

安装完成后,用户可以在鸿蒙与 Windows 系统之间便捷切换,类似切换桌面的效果,这样也算是一种场景支持:

当然,虚拟桌面的割裂感会更重,但是在通用软件场景下会相对更好,但是性能也许会更差一下?

另外,目前也挺多觉得鸿蒙 PC 就是一个平板 PC 化的场景,其实这样也算是一个趋势?类似我前段时间一直在聊的 Android PC 化支持,目前 Android 桌面化已经集齐:

  • Linux 终端控制台支持
  • 桌面模式
  • 外部显示器支持
  • 窗口多任务,最小化,多实例支持
  • 尚未明确的 Desktop View
  • 外部显示器排列和切换
  • ·····

例如下方就是 Android 下的外部显示器排列和切换支持:

最后,貌似目前鸿蒙 PC 虽然能进终端,但是不开放 sudo 权限,apt 也没有?这部分能力不知道后续是否会开放,从 PC 角度看这部分能力还是有必要的:


比如小米这个 winplay 是不是也是 wine 的定制魔改?我个人感觉,鸿蒙 pc 上游戏通过 wine 体系支持可能会比虚拟桌面更好

在这里插入图片描述

那么,对于鸿蒙 PC 场景,你有什么技术方向想聊的?

相关文章:

  • talk-linux 不同用户之间终端通信
  • 攻防靶场——没有Web怎么打
  • 关于maven的依赖下不下来的问题
  • 加速度策略思路
  • WebPageTest 多地域测试
  • 描述性统计工具 - AxureMost 落葵网
  • 【手表维修专用软件】佳易王手表钟表保养维护服务跟踪管理系统:保养维护登记,维修进度跟踪!#手表维修管理系统教程 #铭表设备维修记录软件#操作简单软件下载
  • EasyOps®5月热力焕新:三大核心模块重构效能边界
  • NLTK进行文本分类和词性标注
  • ai讲vite的vite.config.ts的server配置
  • 2025.5.13山东大学软件学院计算机图形学期末考试回忆版本
  • 当三维地理信息遇上气象预警:电网安全如何实现“先知先觉”?
  • 2025.05.11拼多多机考真题算法岗-第三题
  • 虹科技术 | ANDi软件应用:SOME/IP协议如何重塑车载通信架构?
  • 火山引擎发展初始
  • FFmpeg多路节目流复用为一路包含多个节目的输出流
  • day011-12-老男孩教育-用户管理与软件管理体系-习题
  • 【Linux系列】dd 命令的深度解析与应用实践
  • python学习笔记七(文件)
  • Pattern and Match
  • 习近平同巴西总统卢拉共同出席合作文件签字仪式
  • 商务部召开外贸企业圆桌会:全力为外贸企业纾困解难,提供更多支持
  • 上海能源科技发展有限公司原董事长李海瑜一审获刑13年
  • 中美瑞士会谈后中国会否取消矿产出口许可要求?外交部回应
  • 女高音吴睿睿“古词新唱”,穿着汉服唱唐诗宋词
  • 浙江公开征集涉企行政执法问题线索,包括乱收费、乱罚款等