添加龙芯新世界支持 (#2480)

* 添加龙芯新世界支持

* Update message
This commit is contained in:
Glavo 2023-08-23 21:29:14 +08:00 committed by GitHub
parent 05086fa76d
commit 74118049ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 321 additions and 22 deletions

View File

@ -24,7 +24,6 @@ import org.jackhuang.hmcl.util.FractureiserDetector;
import org.jackhuang.hmcl.util.Logging;
import org.jackhuang.hmcl.util.SelfDependencyPatcher;
import org.jackhuang.hmcl.ui.SwingUtils;
import org.jackhuang.hmcl.util.platform.Architecture;
import org.jackhuang.hmcl.util.platform.JavaVersion;
import org.jackhuang.hmcl.util.platform.OperatingSystem;
@ -106,12 +105,7 @@ public final class Main {
showErrorAndExit(i18n("fatal.javafx.missing"));
} catch (SelfDependencyPatcher.IncompatibleVersionException e) {
LOG.log(Level.SEVERE, "unable to patch JVM", e);
if (Architecture.CURRENT_ARCH == Architecture.MIPS64EL
|| Architecture.CURRENT_ARCH == Architecture.LOONGARCH64
|| Architecture.CURRENT_ARCH == Architecture.LOONGARCH64_OW)
showErrorAndExit(i18n("fatal.javafx.incompatible.loongson"));
else
showErrorAndExit(i18n("fatal.javafx.incompatible"));
showErrorAndExit(i18n("fatal.javafx.incompatible"));
} catch (CancellationException e) {
LOG.log(Level.SEVERE, "User cancels downloading JavaFX", e);
System.exit(0);

View File

@ -357,8 +357,6 @@ Please use antivirus software to perform a full scan immediately, and then chang
fatal.javafx.incompatible=Missing JavaFX environment.\n\
HMCL cannot automatically install JavaFX under Java versions below 11.\n\
Please update your Java to version 11 or higher.
fatal.javafx.incompatible.loongson=Missing JavaFX environment.\n\
Please switch to Loongson JDK 8 (http://www.loongnix.cn/zh/api/java/downloads-jdk8/index.html) to start HMCL.
fatal.javafx.missing=Missing JavaFX environment.\n\
If you are using Java 11 or higher, please downgrade it to Oracle JRE 8 (java.com), or install BellSoft Liberica Full JRE (bell-sw.com/pages/downloads/?package\=jre-full).\n\
Or, if you are using OpenJDK distributions, please make sure it has OpenJFX included.

View File

@ -356,7 +356,6 @@ extension.sh=Bash 指令碼
fatal.fractureiser=Hello Minecraft! Launcher 檢測到你的電腦被 Fractureiser 病毒感染,存在嚴重安全問題。\n請立即使用殺毒軟體進行全盤查殺隨後修改你在此電腦上登入過的所有帳號的密碼。
fatal.javafx.incompatible=缺少 JavaFX 運行環境。\nHMCL 無法在低於 Java 11 的 Java 環境上自行補全 JavaFX 運行環境,請更新到 Java 11 或更高版本。
fatal.javafx.incompatible.loongson=缺少 JavaFX 運行環境。\n請使龍芯 JDK 8 (http://www.loongnix.cn/zh/api/java/downloads-jdk8/index.html) 啟動 HMCL。
fatal.javafx.missing=找不到 JavaFX
fatal.config_change_owner_root=你正在使用 root 帳戶啟動 Hello Minecraft! Launcher這可能導致你未來無法使用其他帳戶正常啟動 Hello Minecraft! Launcher。\n是否繼續啟動
fatal.config_in_temp_dir=你正在臨時資料夾中啟動 Hello Minecraft! Launcher你的設定和遊戲數據可能會遺失建議將 HMCL 移動至其他位置再啟動。\n是否繼續啟動

View File

@ -358,7 +358,6 @@ extension.sh=Bash 脚本
fatal.fractureiser=Hello Minecraft! Launcher 检测到你的电脑被 Fractureiser 病毒感染,存在严重安全问题。\n请立即使用杀毒软件进行全盘查杀随后修改你在此电脑上登陆过的所有账户的密码。\n你可以访问 https://docs.hmcl.net/help.html 页面寻求帮助。
fatal.javafx.incompatible=缺少 JavaFX 运行环境。\nHello Minecraft! Launcher 无法在低于 Java 11 的 Java 环境上自行补全 JavaFX 运行环境,请更新到 Java 11 或更高版本。\n你可以访问 https://docs.hmcl.net/help.html 页面寻求帮助。
fatal.javafx.incompatible.loongson=缺少 JavaFX 运行环境。\n请使用龙芯 JDK 8 (http://www.loongnix.cn/zh/api/java/downloads-jdk8/index.html) 启动 HMCL。\n你可以访问 https://docs.hmcl.net/help.html 页面寻求帮助。
fatal.javafx.missing=缺少 JavaFX 运行环境,请使用包含 OpenJFX 的 Java 运行环境启动 Hello Minecraft! Launcher。\n你可以访问 https://docs.hmcl.net/help.html 页面寻求帮助。
fatal.config_change_owner_root=你正在使用 root 账户启动 Hello Minecraft! Launcher, 这可能导致你未来无法正常使用其他账户正常启动 Hello Minecraft! Launcher。\n你可以访问 https://docs.hmcl.net/help.html 页面寻求帮助。\n是否继续启动
fatal.config_in_temp_dir=你正在临时文件夹中启动 Hello Minecraft! Launcher, 你的设置和游戏数据可能会丢失,建议将 HMCL 移动至其他位置再启动。\n你可以访问 https://docs.hmcl.net/help.html 页面寻求帮助。\n是否继续启动

View File

@ -1214,6 +1214,314 @@
"com.mojang:text2speech:1.12.4:natives": null,
"com.mojang:text2speech:1.13.9:natives-linux": null
},
"linux-loongarch64": {
"org.lwjgl:lwjgl:3.1.6": {
"name": "org.lwjgl:lwjgl:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar",
"sha1": "ae58664f88e18a9bb2c77b063833ca7aaec484cb",
"size": 724243
}
}
},
"org.lwjgl:lwjgl:3.1.6:natives": {
"name": "org.glavo.hmcl:lwjgl3-natives:3.3.1-rc1",
"downloads": {
"classifiers": {
"linux-loongarch64": {
"path": "org/glavo/hmcl/lwjgl3-natives/3.3.1-rc1/lwjgl3-natives-3.3.1-rc1-linux-loongarch64.jar",
"url": "https://repo1.maven.org/maven2/org/glavo/hmcl/lwjgl3-natives/3.3.1-rc1-linux-loongarch64/lwjgl3-natives-3.3.1-rc1-linux-loongarch64.jar",
"sha1": "2375ec8e8094a765ef61f3c4f2f832b1b8dfed4b",
"size": 2651163
}
}
},
"extract": {
"exclude": [
"META-INF/"
]
},
"natives": {
"linux": "linux-loongarch64"
}
},
"org.lwjgl:lwjgl-jemalloc:3.1.6": {
"name": "org.lwjgl:lwjgl-jemalloc:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar",
"sha1": "a817bcf213db49f710603677457567c37d53e103",
"size": 36601
}
}
},
"org.lwjgl:lwjgl-jemalloc:3.1.6:natives": null,
"org.lwjgl:lwjgl-openal:3.1.6": {
"name": "org.lwjgl:lwjgl-openal:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar",
"sha1": "2623a6b8ae1dfcd880738656a9f0243d2e6840bd",
"size": 88237
}
}
},
"org.lwjgl:lwjgl-openal:3.1.6:natives": null,
"org.lwjgl:lwjgl-opengl:3.1.6": {
"name": "org.lwjgl:lwjgl-opengl:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar",
"sha1": "831a5533a21a5f4f81bbc51bb13e9899319b5411",
"size": 921563
}
}
},
"org.lwjgl:lwjgl-opengl:3.1.6:natives": null,
"org.lwjgl:lwjgl-glfw:3.1.6": {
"name": "org.lwjgl:lwjgl-glfw:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar",
"sha1": "cbac1b8d30cb4795149c1ef540f912671a8616d0",
"size": 128801
}
}
},
"org.lwjgl:lwjgl-glfw:3.1.6:natives": null,
"org.lwjgl:lwjgl-stb:3.1.6": {
"name": "org.lwjgl:lwjgl-stb:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar",
"sha1": "b119297cf8ed01f247abe8685857f8e7fcf5980f",
"size": 112380
}
}
},
"org.lwjgl:lwjgl-stb:3.1.6:natives": null,
"org.lwjgl:lwjgl-tinyfd:3.1.6": {
"name": "org.lwjgl:lwjgl-tinyfd:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar",
"sha1": "0ff1914111ef2e3e0110ef2dabc8d8cdaad82347",
"size": 6767
}
}
},
"org.lwjgl:lwjgl-tinyfd:3.1.6:natives": null,
"org.lwjgl:lwjgl:3.2.2": {
"name": "org.lwjgl:lwjgl:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar",
"sha1": "ae58664f88e18a9bb2c77b063833ca7aaec484cb",
"size": 724243
}
}
},
"org.lwjgl:lwjgl:3.2.2:natives": {
"name": "org.glavo.hmcl:lwjgl3-natives:3.3.1-rc1",
"downloads": {
"classifiers": {
"linux-loongarch64": {
"path": "org/glavo/hmcl/lwjgl3-natives/3.3.1-rc1/lwjgl3-natives-3.3.1-rc1-linux-loongarch64.jar",
"url": "https://repo1.maven.org/maven2/org/glavo/hmcl/lwjgl3-natives/3.3.1-rc1-linux-loongarch64/lwjgl3-natives-3.3.1-rc1-linux-loongarch64.jar",
"sha1": "2375ec8e8094a765ef61f3c4f2f832b1b8dfed4b",
"size": 2651163
}
}
},
"extract": {
"exclude": [
"META-INF/"
]
},
"natives": {
"linux": "linux-loongarch64"
}
},
"org.lwjgl:lwjgl-jemalloc:3.2.2": {
"name": "org.lwjgl:lwjgl-jemalloc:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar",
"sha1": "a817bcf213db49f710603677457567c37d53e103",
"size": 36601
}
}
},
"org.lwjgl:lwjgl-jemalloc:3.2.2:natives": null,
"org.lwjgl:lwjgl-openal:3.2.2": {
"name": "org.lwjgl:lwjgl-openal:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar",
"sha1": "2623a6b8ae1dfcd880738656a9f0243d2e6840bd",
"size": 88237
}
}
},
"org.lwjgl:lwjgl-openal:3.2.2:natives": null,
"org.lwjgl:lwjgl-opengl:3.2.2": {
"name": "org.lwjgl:lwjgl-opengl:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar",
"sha1": "831a5533a21a5f4f81bbc51bb13e9899319b5411",
"size": 921563
}
}
},
"org.lwjgl:lwjgl-opengl:3.2.2:natives": null,
"org.lwjgl:lwjgl-glfw:3.2.2": {
"name": "org.lwjgl:lwjgl-glfw:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar",
"sha1": "cbac1b8d30cb4795149c1ef540f912671a8616d0",
"size": 128801
}
}
},
"org.lwjgl:lwjgl-glfw:3.2.2:natives": null,
"org.lwjgl:lwjgl-stb:3.2.2": {
"name": "org.lwjgl:lwjgl-stb:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar",
"sha1": "b119297cf8ed01f247abe8685857f8e7fcf5980f",
"size": 112380
}
}
},
"org.lwjgl:lwjgl-stb:3.2.2:natives": null,
"org.lwjgl:lwjgl-tinyfd:3.2.2": {
"name": "org.lwjgl:lwjgl-tinyfd:3.3.1",
"downloads": {
"artifact": {
"path": "org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar",
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar",
"sha1": "0ff1914111ef2e3e0110ef2dabc8d8cdaad82347",
"size": 6767
}
}
},
"org.lwjgl:lwjgl-tinyfd:3.2.2:natives": null,
"org.lwjgl:lwjgl:3.3.1:natives-linux": {
"name": "org.glavo.hmcl:lwjgl3-natives:3.3.1-rc1",
"downloads": {
"classifiers": {
"linux-loongarch64": {
"path": "org/glavo/hmcl/lwjgl3-natives/3.3.1-rc1/lwjgl3-natives-3.3.1-rc1-linux-loongarch64.jar",
"url": "https://repo1.maven.org/maven2/org/glavo/hmcl/lwjgl3-natives/3.3.1-rc1-linux-loongarch64/lwjgl3-natives-3.3.1-rc1-linux-loongarch64.jar",
"sha1": "2375ec8e8094a765ef61f3c4f2f832b1b8dfed4b",
"size": 2651163
}
}
},
"extract": {
"exclude": [
"META-INF/"
]
},
"natives": {
"linux": "linux-loongarch64"
}
},
"org.lwjgl:lwjgl-jemalloc:3.3.1:natives-linux": null,
"org.lwjgl:lwjgl-openal:3.3.1:natives-linux": null,
"org.lwjgl:lwjgl-opengl:3.3.1:natives-linux": null,
"org.lwjgl:lwjgl-glfw:3.3.1:natives-linux": null,
"org.lwjgl:lwjgl-stb:3.3.1:natives-linux": null,
"org.lwjgl:lwjgl-tinyfd:3.3.1:natives-linux": null,
"net.java.dev.jna:jna:5.8.0": {
"name": "net.java.dev.jna:jna:5.13.0",
"downloads": {
"artifact": {
"path": "net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar",
"url": "https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar",
"sha1": "1200e7ebeedbe0d10062093f32925a912020e747",
"size": 1879325
}
}
},
"net.java.dev.jna:jna-platform:5.8.0": {
"name": "net.java.dev.jna:jna-platform:5.13.0",
"downloads": {
"artifact": {
"path": "net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar",
"url": "https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar",
"sha1": "88e9a306715e9379f3122415ef4ae759a352640d",
"size": 1363209
}
}
},
"net.java.dev.jna:jna:5.10.0": {
"name": "net.java.dev.jna:jna:5.13.0",
"downloads": {
"artifact": {
"path": "net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar",
"url": "https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar",
"sha1": "1200e7ebeedbe0d10062093f32925a912020e747",
"size": 1879325
}
}
},
"net.java.dev.jna:jna-platform:5.10.0": {
"name": "net.java.dev.jna:jna-platform:5.13.0",
"downloads": {
"artifact": {
"path": "net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar",
"url": "https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar",
"sha1": "88e9a306715e9379f3122415ef4ae759a352640d",
"size": 1363209
}
}
},
"net.java.dev.jna:jna:5.12.1": {
"name": "net.java.dev.jna:jna:5.13.0",
"downloads": {
"artifact": {
"path": "net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar",
"url": "https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar",
"sha1": "1200e7ebeedbe0d10062093f32925a912020e747",
"size": 1879325
}
}
},
"net.java.dev.jna:jna-platform:5.12.1": {
"name": "net.java.dev.jna:jna-platform:5.13.0",
"downloads": {
"artifact": {
"path": "net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar",
"url": "https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar",
"sha1": "88e9a306715e9379f3122415ef4ae759a352640d",
"size": 1363209
}
}
},
"net.java.jinput:jinput-platform:2.0.5:natives": null,
"com.mojang:text2speech:1.10.3:natives": null,
"com.mojang:text2speech:1.11.3:natives": null,
"com.mojang:text2speech:1.12.4:natives": null,
"com.mojang:text2speech:1.13.9:natives-linux": null
},
"linux-loongarch64_ow": {
"org.lwjgl.lwjgl:lwjgl-platform:2.9.0:natives": {
"name": "org.glavo.hmcl:lwjgl2-natives:2.9.3-rc1",

View File

@ -1,16 +1,16 @@
# Platform Support Status
| | Windows | Linux | Mac OS | FreeBSD |
|----------------------------|:------------------------------------|:-----------------------------------------|:----------------------------------------------------|:--------|
| x86-64 | ✅️ | ✅️ | ✅️ | ❔ |
| x86 | ✅️ | ✅️ | / | / |
| ARM64 | 👌 (1.8+)<br/>✅ (use x86 emulation) | 👌 | 👌 (1.6~1.18.2)<br/>✅ (1.19+)<br/>✅ (use Rosetta 2) | ❔ |
| ARM32 | / | 👌 | / | / |
| MIPS64el | / | 👌 | / | / |
| RISC-V 64 | / | 👌 (1.13+) | / | / |
| LoongArch64 | / | 👌 (for Old World)<br/>❔ (for New World) | / | / |
| PowerPC-64 (Little-Endian) | / | ❔ | / | / |
| S390x | / | ❔ | / | / |
| | Windows | Linux | Mac OS | FreeBSD |
|----------------------------|:------------------------------------|:------------------------------------------------|:----------------------------------------------------|:--------|
| x86-64 | ✅️ | ✅️ | ✅️ | ❔ |
| x86 | ✅️ | ✅️ | / | / |
| ARM64 | 👌 (1.8+)<br/>✅ (use x86 emulation) | 👌 | 👌 (1.6~1.18.2)<br/>✅ (1.19+)<br/>✅ (use Rosetta 2) | ❔ |
| ARM32 | / | 👌 | / | / |
| MIPS64el | / | 👌 | / | / |
| RISC-V 64 | / | 👌 (1.13+) | / | / |
| LoongArch64 | / | 👌 (for Old World)<br/>👌 (1.13+ for New World) | / | / |
| PowerPC-64 (Little-Endian) | / | ❔ | / | / |
| S390x | / | ❔ | / | / |
Legend:

View File

@ -40,6 +40,7 @@ val jfxPlatforms = listOf(
Platform("linux-x86_64", "linux"),
Platform("linux-arm32", "linux-arm32-monocle", unsupportedModules = listOf("media", "web")),
Platform("linux-arm64", "linux-aarch64"),
Platform("linux-loongarch64", "linux", groupId = "org.glavo.hmcl.openjfx", version = "17.0.8-loongarch64"),
Platform("linux-loongarch64_ow", "linux", groupId = "org.glavo.hmcl.openjfx", version = "19-ea+10-loongson64", unsupportedModules = listOf("media", "web")),
Platform("linux-riscv64", "linux", groupId = "org.glavo.hmcl.openjfx", version = "19.0.2.1-riscv64", unsupportedModules = listOf("media", "web")),
)