WebAssembly製のx86仮想マシン、Webブラウザ上でLinux GUIデスクトップ環境を実行可能に。「WebVM 2.0」が登場 - Publickey

WebAssembly製のx86仮想マシン、Webブラウザ上でLinux GUIデスクトップ環境を実行可能に。「WebVM 2.0」が登場

2024年11月18日

Leaning Technologiesは、Webブラウザ上でx86バイナリをそのまま実行できるWebAsesmbly製の仮想マシン「WebVM」をバージョンアップした「WebVM 2.0」を公開しました

figWebVM 2.0上で、GUIを備えたLinuxデスクトップを起動。マインスイーパーをプレイしているところ

従来のWebVM 1.0では、Webブラウザ上の仮想マシンでx86版のLinuxを起動し、コマンドラインからさまざまな操作が可能でした。

参考:WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能

今回公開されたWebVM 2.0では、GUIを備えたLinuxデスクトップ環境までWebブラウザ上でサポートされたことが最大の特徴です。

下図で示されるように、仮想マシン上でさまざまなプロセスを実行し、さらにLinuxシステムコール経由でGUIのディスプレイ、ローカルディスク、ネットワーキングをサポートしています。

fig

ネットワーク、ストレージ、GUIもサポート

WebVM 2.0の基盤となるWebAssemblyによる仮想マシンの実装は、同社の「CheerpX」と呼ばれるソフトウェアです。

CheerpXはx86バイナリをJITコンパイラでWebAssemblyへと変換する機能を備えており、x86バイナリをそのままWebブラウザ上で実行可能にします。

その上で、Debian系Linuxディストリビューションと複数のツールを組み合わせて、CheerpX上にLinuxシステムコールのエミュレーションレイヤを実装したことでWebVMが実現されています。

今回公開されたWebVM 2.0では、VPNサービスであるTailscaleにより外部とのネットワーク通信を可能にしました。また、ローカルストレージは1GB以上のルートファイルシステムがエミュレートされており、WebSocket経由で外部からストリーミングデータとしてCloudflare Workers経由で読み込むことが可能です。

fig

そしてXorg(X Windowサーバ)の2Dレンダリングがサポートされ、描画内容はHTMLのCanvasによってWebブラウザ上に描画されるようになりました。

これによりWebVM 2.0では、GUIを備えたLinuxデスクトップ環境もWebブラウザ上でサポートされました。今後、WebGPU経由での3Dグラフィックス機能のサポートも計画されています。

fig

WebVM 2.0は、誰でも「WebVM.io」へアクセスして実行可能です。自身のWebブラウザ上でLinuxのGUIデスクトップ環境を体験できます。

CheerpXは個人であれば無償で利用可能。WebVM 2.0はオープンソースとしてGitHubで公開されています

あわせて読みたい

Linux OS WebAssembly プログラミング言語 仮想化




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本