HMCL icon indicating copy to clipboard operation
HMCL copied to clipboard

为非 x86 平台提供开箱即用的启动支持

Open Glavo opened this issue 1 year ago • 9 comments

本 PR 首要目标是为龙芯以及 ARM 平台提供开箱即用的支持。

除此之外,本 PR 会提供替换本机库的通用机制,未来可以为更多平台提供开箱即用的游戏支持。例如,在 Apple Silicon 设备上提供 1.18 以及更低版本 MC 的原生支持。

预览版本 JAR 可从 GitHub Action 中获取:https://github.com/huanghongxun/HMCL/actions/runs/2850913377

Glavo avatar Jul 29 '22 13:07 Glavo

image

在 Linux AArch64 上的初期展示,能够开箱即用,无需用户配置一键启动 MC。(代码等会再 commit,我还在想一些设计问题)

这一阶段做完就为各平台开箱即用的体验提供基本支持,下面要攻坚的就是龙芯平台的 LWJGL 适配,我看看我能不能解决这个问题。

Glavo avatar Jul 30 '22 13:07 Glavo

目前已实现的部分:

  • Linux ARM64、Linux ARM32 上 Minecraft 1.14~1.19 的一键启动支持;
  • Windows ARM64 上 Minecraft 1.19 的一键启动支持;
  • Linux(全架构)以及 Windows(暂时仅限 x86-64)的软渲染器切换支持。

软渲染器可在 设置>调试选项 里开启,开启后将使用 LLVMPipe 作为 OpenGL 渲染器,支持新版本的 OpenGL,从而支持在一些缺乏显卡驱动(例如虚拟机内)或者显卡过于老久的平台游玩 MC 1.17+,同时也方便调试检查显卡相关问题。实测在中高端平台软渲染器性能能达到“可玩”级别。

image

image

Glavo avatar Jul 31 '22 21:07 Glavo

目前已提供 Minecraft 1.6~1.12 对 Linux LoongArch64 的原生支持,可以正常游玩。

接下来要解决的是 Minecraft 1.13+ 的支持适配,以及当前没有正常提供的手柄支持。现在这部分已经可以合并了,如果黄鱼不出来那我再看看能不能在合并前完全解决龙芯的适配问题。

Screenshot 2022-08-03 05-03-13

Glavo avatar Aug 02 '22 21:08 Glavo

这个软渲染也许可以解决1.17以后部分gpu不支持的问题?

wifi-left avatar Aug 03 '22 04:08 wifi-left

这个软渲染也许可以解决1.17以后部分gpu不支持的问题?

最开始就是因为这个目的引入的。

Glavo avatar Aug 03 '22 05:08 Glavo

@huanghongxun 戳

Glavo avatar Aug 06 '22 09:08 Glavo

Linux AArch64 平台展示视频:BV1WW4y1Y7h2

Glavo avatar Aug 08 '22 16:08 Glavo

龙芯平台展示视频:BV1wV4y1s7r9

vlcsnap-2022-08-13-02h16m08s774

Glavo avatar Aug 12 '22 19:08 Glavo

我看到视频里有一些可能有问题的点: 弹窗提示建议在创建主窗体后展示,(不然弹窗无法在任务栏显示图标)

wifi-left avatar Aug 13 '22 09:08 wifi-left

问一下,这个在la64上是用了lat执行其他平台的lwjgl还是直接编译了la64的lwjgl?

donmor avatar Aug 14 '22 06:08 donmor

问一下,这个在la64上是用了lat执行其他平台的lwjgl还是直接编译了la64的lwjgl?

编译了 LWJGL。

Glavo avatar Aug 14 '22 06:08 Glavo

我看到视频里有一些可能有问题的点: 弹窗提示建议在创建主窗体后展示,(不然弹窗无法在任务栏显示图标)

应该没影响啥

zkitefly avatar Aug 14 '22 11:08 zkitefly

@huanghongxun review request

Glavo avatar Aug 21 '22 10:08 Glavo