- JSLinux, yang memungkinkan menjalankan Linux dan sistem operasi lain langsung di browser web, kini menambahkan dukungan untuk arsitektur x86_64
- Dukungan baru untuk AVX2, AVX-512, dan APX juga ditambahkan, menjadikannya satu-satunya emulator sistem penuh x86 terbuka yang saat ini mendukung APX
- Berbasis Alpine Linux 3.23.2, serta mencakup ekstensi instruksi AVX-512 dan Intel APX
- Selain sistem berbasis x86, RISC-V yang sudah ada, kini juga dapat dijalankan dalam lingkungan 64-bit
- Setiap sistem menyediakan konsol atau antarmuka X Window, dan beberapa di antaranya mendukung akses file melalui VFsync
- Dengan kemajuan teknologi virtualisasi berbasis browser, eksperimen sistem operasi dan pembangunan lingkungan pengujian menjadi jauh lebih mudah
Gambaran umum JSLinux
- JSLinux adalah emulator berbasis web yang dapat menjalankan Linux atau sistem operasi lain di dalam browser
- Pengguna dapat menjalankan mesin virtual di halaman web tanpa instalasi terpisah
- Tersedia pilihan berbagai arsitektur CPU dan konfigurasi sistem operasi
Daftar sistem yang didukung
- x86_64: menyediakan Alpine Linux 3.23.2 versi konsol
- x86: mendukung berbagai sistem seperti Alpine Linux 3.12.0, Windows 2000, dan FreeDOS
- riscv64: mendukung Buildroot Linux dan Fedora 33
- Setiap sistem menyediakan tautan mulai dan dapat dikonfigurasi melalui file konfigurasi TEMU
- Beberapa sistem dapat terhubung dengan sistem file eksternal melalui VFsync
- Semua konfigurasi dikembangkan dan dikelola oleh Fabrice Bellard
3 komentar
Setiap kali ada tulisan terkait, penciptanya Fabrice Bellard memang layak dipuji (lahir 1972)
Pada 1987, saat berusia 15 tahun, mengembangkan executable compressor LZEXE dalam assembly
Pada 2000, mengembangkan FFMPEG, dan pada tahun yang sama membuat compiler C berukuran di bawah 4KB hingga memenangkan IOCCC
Pada 2005, memperkenalkan QEMU
Pada 2011, merilis JSLinux dan terus mengembangkannya sampai sekarang
"Semoga cepat jadi sangat kaya lalu pensiun"
Dukungan x86 64-bit diumumkan pada bulan Januari, dan pembaruan kali ini menambahkan dukungan AVX2, AVX-512, dan APX.
Komentar Hacker News
Hal yang paling ingin saya lakukan adalah menjalankan OS virtual langsung di dalam browser dengan mesin WASM Linux, lalu menjalankan agen coding di atasnya
Rasanya akan sangat menarik jika dihubungkan dengan agen seperti Claude Code atau Codex CLI yang bisa menangani Bash dan alat Linux
Menurut saya browser adalah lingkungan sandbox terbaik. Jika loop agen bisa dijalankan di atas WebAssembly Linux, itu akan menjadi trik yang keren
Saya pernah bereksperimen dengan demo v86, tetapi belum sampai menghubungkannya dengan agen. Kita bisa mengirim perintah Linux lewat kotak input teks
Hanya saja performanya agak kurang, jadi saya tidak mendalaminya
Demo full-stack ada di vitedemo.browserpod.io, dan pekerjaan sebelumnya bisa dilihat di webvm.io
Karena menarik, saya mencoba menjalankan benchmark Primes untuk masing-masing lingkungan x86_64, x86, riscv64 di Chrome pada M1 Mac Mini
Ternyata RISC-V jauh lebih baik dalam efisiensi emulasi dibanding x86 — build lebih cepat, kode lebih kecil, dan eksekusinya juga lebih cepat
Tetapi versi gcc masing-masing berbeda (15.2.0 vs 9.3.0 vs 7.3.0), jadi ini bukan perbandingan yang sepenuhnya adil
Kode referensi
Ini memang agak off-topic, tetapi melihat lagi UI Windows 2000 terasa sangat menyenangkan. UI modern sekarang rasanya benar-benar buruk
Sayangnya, kode sumber layer emulasi 64-bit x86 maupun konfigurasi build-nya belum dipublikasikan
Jika ingin versi yang lebih open source, container2wasm layak dilihat
Saya penasaran apakah JSLinux masih berupa interpreter, atau sekarang sudah memakai kompilasi JIT
Atau mungkin JIT di mesin JS sekarang sudah begitu bagus sampai perbedaan itu tidak lagi berarti
Sepertinya ada masalah dengan DNS. Saya penasaran apakah ada yang saya lewatkan
Saya terkejut sampai mendukung AVX512. Saya benar-benar ingin menambahkannya juga ke QEMU
Sebagai referensi, patch terkait APX ada di sini
Pekerjaan Fabrice Bellard selalu mengagumkan
Dukungan x86_64 membuka kemungkinan untuk menjalankan distribusi Linux modern di browser
Bulan lalu saya memodifikasi x86_64 JSLinux agar bisa menjalankan TempleOS — ring0.holyc.xyz
Berjalan lebih cepat daripada demo saya. Tanpa JIT pun rasanya benar-benar seperti sihir
Saya telah memakai image x86_64 Alpine JSLinux di Chrome selama 4 jam
Saya meng-clone kode dengan git, membangun paket besar, lalu menjalankan tes, dan hasilnya benar-benar stabil
Memang 50 kali lebih lambat daripada native, tetapi tetap sangat mengagumkan bahwa VM sekuat ini bisa berjalan di dalam browser