Skip to content
 
 

Latest commit

 

History

3,102 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClassIsland - LoongArch old-world ABI1.0

Build Status Platform .NET

本仓库是 ClassIsland 的龙芯旧世界适配 fork,面向银河麒麟 V10、Loongnix 等 LoongArch old-world ABI1.0 X11 桌面环境。这个 README 只作为入口索引和 master 分支说明,避免把 .NET 8 主分支、.NET 10 misha 测试分支、QEMU 测试环境混在一起。

构建入口

目标 分支 Workflow 运行库 原生库来源
主分支旧世界包 master Build ClassIsland for LoongArch .NET 8 本分支内置的 LoongArch-Runtime/LoongArch-NativeLibs/
misha CI 旧世界测试包 develop/v2/misha-alpha-ci Build ClassIsland misha LoongArch old-world ABI1.0 package Loongnix .NET 10 独立的 SkiaSharp/HarfBuzzSharp old-world 支持库构建
misha 非 CI 测试包 develop/v2/misha-alpha 同上 Loongnix .NET 10 同上

master 是旧版 .NET 8 旧世界构建;misha 分支是 .NET 10 测试构建。两套流程不要互相套用。master 中保留的 build-loongarch-oldworld.yml 仅用于让 GitHub Actions 默认分支页面显示 NET10 手动触发入口,运行时会 checkout 你在输入框中选择的 misha 分支。misha 分支的完整说明在对应分支的 tools/loongarch-oldworld/README.zh-CN.mdtools/loongarch-oldworld/README.md

下载和运行 master 包

  1. 打开 Actions
  2. 选择最新一次成功的 Build ClassIsland for LoongArch
  3. 在页面底部下载 artifact:ClassIsland-LoongArch-OldWorld
  4. 传到龙芯旧世界 X11 桌面环境后解压并运行:
tar -xzf ClassIsland-LoongArch.tar.gz -C ~/ClassIsland
cd ~/ClassIsland
bash run.sh

默认后台启动,日志写入 logs/classisland.log。需要前台观察输出时使用:

bash run.sh --foreground

运行依赖

建议先安装音频后备播放器:

sudo apt update
sudo apt install ffmpeg

本包面向 X11 桌面环境,不面向 Wayland/XWayland。托盘、置顶、透明窗口、声音、天气、插件等功能都应按完整应用功能测试,龙芯适配不应以牺牲功能为代价。

输入法自动探测

run.sh 默认设置:

CLASSISLAND_X11_ENABLE_IME=auto

在 LoongArch 上,程序会自动检查当前用户 DBus 会话里是否存在 Fcitx/Fcitx5 服务:

  • 检测到 Fcitx/Fcitx5 时启用 Avalonia X11 IME,不影响中文输入法。
  • 未检测到 Fcitx/Fcitx5 时,仅对 ClassIsland 禁用 IME,避免 Avalonia 反复访问不存在的 Fcitx DBus 服务导致刷日志和卡顿。
  • 需要强制启用时执行 CLASSISLAND_X11_ENABLE_IME=1 bash run.sh
  • 需要强制禁用时执行 CLASSISLAND_X11_ENABLE_IME=0 bash run.sh

.NET 8 master 和 .NET 10 misha 旧世界包采用相同的自动探测策略,但实现分别位于各自分支的构建流程中,互不混用。

构建说明

master.github/workflows/build-loongarch.yml 会在线完成以下工作:

  1. 准备 .NET 8 SDK,并把项目配置调整到可构建状态。
  2. 生成空的 GPT-SoVITS 私钥占位文件,本 fork 不内置该语音服务私钥。
  3. 修补 Linux 音频播放逻辑,优先使用原生音频引擎,失败时回退到 ffplay/paplay/aplay
  4. 修补 Linux 重启逻辑,保证随包内 .NET runtime 重新启动。
  5. 修补 Linux X11 IME 自动探测逻辑。
  6. 注入 LoongArch-NativeLibs/ 中的 SkiaSharp/HarfBuzzSharp 原生库。
  7. 解包 LoongArch-Runtime/ 中的 .NET 8 LoongArch runtime。
  8. 生成 run.sh 并上传 ClassIsland-LoongArch-OldWorld artifact。

手动触发 workflow 时可填写 version_tag,留空则基于仓库已有数字 tag 自动递增。

相关项目

许可证

本 fork 继承上游 ClassIsland 的开源协议。ClassIsland.PluginSdk、ClassIsland.Core、ClassIsland.Shared.Ipc、ClassIsland.Shared 基于 LGPL-3.0;其余应用本体代码基于 GPL-3.0。详见仓库内 LICENSE.txt 与上游项目说明。

About

Classisland在龙芯的编译

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages