Saya membuat skrip repackaging untuk menjalankan aplikasi Codex di Windows ARM64
(github.com/airtaxi)Baru-baru ini saya membeli ASUS Zenbook A16. Performanya sangat bagus dan saya juga sangat puas dengan daya tahan baterainya.
Namun kebetulan kebijakan harga baru GitHub Copilot terasa agak tidak masuk akal menurut standar saya, jadi saya mulai memindahkan agen coding utama saya ke OpenAI Codex. Codex CLI mendukung Windows ARM64 sehingga berjalan cukup baik. Masalahnya ada pada aplikasi Codex. Versi Windows yang didistribusikan lewat Microsoft Store hanya tersedia untuk x64, sehingga di Windows ARM64 seluruh aplikasi Electron berjalan dalam emulasi.
Kalau ini hanya sebatas “indikator arsitekturnya terlihat sebagai x64”, mungkin saya akan membiarkannya. Tetapi pada praktiknya, latensi input dan UI yang sesekali macet cukup mengganggu. Codex CLI berjalan baik di ARM64, jadi terasa makin disayangkan bahwa aplikasi Codex justru memakai emulasi x64.
Bagaimanapun ini adalah aplikasi Electron, dan di Linux juga ada contoh solusi serupa yang menumpangkan resource aplikasi upstream ke runtime Electron baru. Jadi saya berpikir, mungkin repackaging untuk Windows ARM64 juga memungkinkan. Karena itu, saya membuat skrip PowerShell yang mengambil aplikasi Codex Windows x64 resmi dari paket instalasinya, menggantinya dengan runtime ARM64 dan modul native, lalu membungkusnya kembali menjadi MSIX self-signed.
Repositorinya ada di sini.
https://github.com/airtaxi/codex-app-windows-arm64
Kurang lebih, metode saat ini seperti berikut.
- Menggunakan paket resmi Codex x64 yang terpasang dari Microsoft Store sebagai sumber.
- Mengganti runtime Electron ke
win32-arm64. - Mengganti Node.js ke
win-arm64. - Membangun ulang modul native in-process seperti
better-sqlite3dannode-ptyuntuk ARM64. - Mengganti helper yang memiliki asset ARM64 seperti
codex.exe,codex-command-runner.exe, sandbox setup helper, danrg.exedengan versi ARM64. - Untuk tool out-of-process yang belum ditemukan pengganti ARM64-nya, seperti
node_repl.exedantectonic.exe, tetap dibiarkan menggunakan fallback emulasi x64. windows-updater.nodedihapus karena fitur update tidak cocok untuk paket self-signed.- Pada akhirnya membuat MSIX ARM64 dengan
makeappx.exedansigntool.exe, laluInstall.batmenangani pendaftaran kepercayaan sertifikat dan instalasi.
Di rilisan, saya juga mengunggah dist.7z hasil build saya. Cukup ekstrak lalu jalankan Install.bat.
https://github.com/airtaxi/codex-app-windows-arm64/…
Terkait hal ini, saya juga meninggalkan komentar di issue openai/codex.
https://github.com/openai/codex/issues/17491#issuecomment-4369034462
Jika dukungan resmi Windows ARM64 dirilis, alasan keberadaan proyek ini hampir pasti akan hilang. Sampai saat itu, saya akan berusaha menjaga proyek ini tetap selaras setiap kali versi aplikasi Codex naik.
Kalau Anda termasuk yang frustrasi dengan emulasi x64 aplikasi Codex di perangkat Windows on ARM, mungkin ini layak dicoba.
Belum ada komentar.