
2026/01/07 1:52
**Box64によるLoongArchの改善** - Box64 の新リリースは、LoongArch アーキテクチャ向けに大幅なパフォーマンス向上を実現し、エミュレーションがよりスムーズになり、64‑bit バイナリとの互換性も向上しています。 - 主な特徴として、最適化された命令パイプライン、メモリフットプリントの削減、および LoongArch システムにおけるシステムコール処理の改善が挙げられます。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Box64 v0.4.0 がリリースされ、ARM64・RISC‑V・Loongarch(Linux)での Steam 完全サポートが追加され、Windows ビルドも動作することが確認されました。Box32/Box64 の安定性は大幅に向上していますが、Steam 経由でダウンロード中にクラッシュが発生する可能性があります。また、Battle.net は安定していますが、成功率は地域やプラットフォームによって異なります。
主なリファクタリングとして、インタプリタと 3 つの dynarec バックエンドで新しいプレフィックス・オペコードデコーダーを導入し、重複したコードを削減してソースファイル数を減らしました。メモリフットプリントの改善も進行中です:未使用のネイティブブロックは破棄でき、メモリを再利用できます。ARM64 dynarec はループ検出/最適化により速度が向上し、XMM/YMM レジスタを事前ロードすることでさらに高速化します。RISC‑V dynarec は Steam、Proton、および Wine をサポートしていますが、SV48 ハードウェアまたはハッキングされた Wine/Proton がない限り 39 ビットのアドレス空間に限定されます。Loongarch は 4 KiB ページサイズカーネル(例:AOSC または Debian)を要件として、Steam、Wine、および Proton を実行できます。
Capture‑card のワークフローは、Elgato HD60X と ARM64/RISC‑V 上の OBS に関して記述されています。ソフトウェアエンコードされたキャプチャでは圧縮ノイズが表示される可能性があります。同期オプションには ESync/FSync があり、一部のゲームで破損することがあります。また、カーネルサポートと最新の Wine/Proton‑GE を必要とする新しい NTSync もあります。
Box64 は使用準備が整っており、ソースコードとリリースは https://github.com/ptitSeb/box64/releases/tag/v0.4.0 で入手できます。
本文
ハッピーニューイヤー&Box64の新リリースをお知らせします!
今回のバージョンは、サポート対象の3つすべてのプラットフォームで多くの改善と修正が施されました。Steam は Arm64 のみならず、RISC‑V と Loongarch でも動作するようになりました(Linux バージョンです。Windows をご希望の場合は Windows 用も同様に機能します)。Box32(Steam 実行用)はまだ実験段階ですが安定性が向上しています。ただし、Steam でコンテンツをダウンロード中にクラッシュすることがあります。Battle.net も安定化しましたが、成功率は地域やプログラムのバージョンによって異なる場合があります。
主なハイライト
- 新機能と修正 – スピードアップ、オペコード実装、ラッパー関数など。
- リファクタリング – 今後の利用(例:libdl)に備える土台作りと即効性のある改善点:
- プレフィックス・オペコードデコーダをインタープリターと3つの dynarec バックエンドへ統合。
- 多くの未使用ソースファイルを削除し、保守を簡素化。
- 追加コーディングなしで希少なオペコードも自動サポート。
- メモリフットプリントの改善 – 未使用のネイティブコードブロックを特定・削除する仕組みを導入し、新しいコード用にメモリを解放(作業中)。
- キャプチャカード – Elgato HD60X と OBS を Ampere ARM64 マシンで使用。Lenovo T14s(ARM64)からのキャプチャはソフトウェアエンコーディングで行い、圧縮ノイズが生じます。編集はすべて Ampere ARM64 上で OpenShot を使って実施。
対応アーキテクチャ
Arm64
- GB10 CPU のビルドプロファイルを追加。
- dynarec のパフォーマンス向上に向けたリファクタリング中:
- ループへの入る前に XMM/YMM レジスタをプリロードするなど、より多くのコードループを検出・最適化。
RISC‑V
- PLCT Labs の貢献で dynarec は高い完成度とパフォーマンスに到達。
- Steam、Proton、Wine が 39 ビットアドレス空間制限下でも動作。Windows システムコールエミュレーションが必要な DRM 保護コンテンツは、ハードウェアが SV48 をサポートしない限り、またはハックされた Wine/Proton を使用しない限り制限されます。
- ハードウェア:Pioneer Milk‑V mini‑server(64 コア @ 1.5 GHz)+AMD RX550。
Loongarch
- このサイクルで最大の進展を遂げました。
- Steam、Wine、Proton が動作;4 KiB ページサイズカーネルが必要(デフォルトは 16 KiB)。
- AOSC と Debian 上でテスト済み。
- CPU:
- 3A6000 – 物理コア 4 (論理 8) @ 2.5 GHz + AMD RX7600。
- 3B6000 – コア 12、3C6000 – コア 16 はさらに良好な性能を示す。
ESync / FSync / NTSync
-
ESync & FSync – より高速ですが常に 100 % 正確ではありません。Box64 は両方をサポートし、Steam の Proton は自動で使用します。一部のゲーム(例:Rockstar ランチャー、Microsoft Xbox サービス)は ARM64 上でこれらの同期を使うと起動できない場合があります。
- 回避策:
を Steam の起動オプションに追加するか、Heroic UI から無効化します。PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%
- 回避策:
-
NTSync – 新しくて優れた同期機能ですが、カーネルで NTSync が有効になっている必要があります。
- Debian・Ubuntu (ARM64) は現在未対応。x86_64 ディストリビューションは通常 NTSync 有効のカーネルを搭載しています。
- Armbian、AOSC(Loongarch)では NTSync が有効です。
- ブリージングエッジ版 Wine または Proton‑GE が必要。標準 Steam Proton はまだ使用していません。
- 3C6000 プロセッサでの初期結果は、重負荷ゲームで約 80 % FPS の向上を示しています。
結論
Box64 は日常的な利用に十分な状態です。ソースを取得し、自分だけのビルドを作ってお楽しみください!
ダウンロード先: https://github.com/ptitSeb/box64/releases/tag/v0.4.0