実用的!「これならコード書けるのでは」ってレベルの3DoFデスクトップ環境がなんとお試し無料。
はじめに
当ブログで「電気メガネ」と呼称しているXREAL AirやRokid Max、VITURE Oneのようなセンサーを内蔵している光学シースルー型ヘッドマウントディスプレイはメーカーが出している専用アプリやハードウェアを組み合わせることによって頭の動きに追従する仮想の画面を表示することができたりするんですが、実質専用アプリ内のブラウザで表示したWebサイトしか表示できなかったり、WindowsやMacで3画面表示と言っても「あれ?思ってたんと違うな?」ってガッカリしてそれっきり押し入れにしまってしまったという方も多いことと存じます。
XREAL NebulaにMac版やWindows版がありますが、Windows版は特にGeForce RTX3060以上が推奨されていたりCPUやGPUの負荷が大きく、「そこまでしてこれ?」というつらい気持ちを味わった皆様方にもぜひ今回紹介するBreezy GNOMEを体験してもらいたい。
Breezy GNOMEはwheaneyさんがGitHubで公開してるGNOME Shell拡張で基本的な機能は現状無料で使うことができます。今後月5ドルになるようですが、お試しは無料です。無料で使えるOSであるUbuntuに入ってるGNOMEも無料なのでそこらへんに転がってるミニPCやらThinkPad E495で気軽に体験することができます。
GNOMEとは?
GNU Network Object Model Environmentの略で「デスクトップ環境」と呼ばれるソフトウェアですが、説明しろと言われても「Ubuntu入れたら勝手に入ってるGUI」って感じで本人よく分かってないので、Ubuntuとあわせてざっくり無料で使えるWindowsみたいなヤツぐらいなふんわりした理解でとりあえず進めたいと思います。
GNUが「ぐぬー」なのか「ぬー」なのかについては議論しません。
Windowsと一緒で普通にマウスでぽちぽち操作できるし見た目もいい感じなのでChromeインストールしてしまえば普通にこれでいいんじゃね?って気持ちになりますよね。
対応している電気メガネ
電気メガネメーカーからSDKが提供されているVITUREとRayNeo、Rokidがオススメだそうです。XREALは公式SDKがなくてユーザーが独自解析したオープンソースSDKなのでオススメできないとのこと。
Rokid Maxは開発中だけどメーカーからSDK来てないっぽい?対応して欲しいなあ…
追記(2024/08/13):Rokid Max/Airに対応
まさに今日の話なのですが、作者さんのDiscordでRokid Max対応のアルファ版協力者を募集していたので動作確認と3840×1200 90Hzだと色がおかしくなるから60Hzにした方が良い旨を報告、Rokid Airも持ってるから確認するよって話をしたところトントン拍子で対応して貰えました。
ということで、Rokid Maxだけが3840×1200のウルトラワイドスクリーンに対応しますよ!
なお、Breezy GNOMEのアップデート方法は breezy_gnome_setup の再実行でアンインストール&インストールで対応になります。GNOMEからログアウトして再ログインしてからお試しください。
試した環境
Ubuntu 24.04 LTS
インストール方法はisoファイルをダウンロードして起動可能なUSBメモリを作ってそれでPCにインストールするんですが、Windows環境そのままでインストールすることもできるのでお気軽に試すこともできますが、うっかりすると全部消えたりすることもあるかもしれないので新規にミニPCとか買ってもいいし、使ってないThinkPad E495とか使ってもいいと思います。
参考までにHDMI出力しか無くても「HDMIをUSB Type-Cに変換するアダプター」を使用して、給電をPCからUSB接続すればセンサー値を取得できて普通に動作したので無理にUSB Type-C DP Alt出力のあるミニPCを新調しなくても試すことはできます。
Ubuntu 24.04 LTSのインストール方法は探せばいくらでも出てくるので詳しくはそちらで。
インストールされたGNOMEのバージョンは46でしたが問題なく動作しました。
Breezy GNOMEのインストール
流れとしてはGitHubで公開されているセットアップスクリプトをUbuntu上の端末でダウンロードして実行権限を付与して実行するんですが、今回試した限りにおいてですが標準状態では足りないパッケージがありインストールが完了しないので先にcurlとflatpakのインストールを行います。
具体的には以下ような流れでインストールしました。flatpakに関しては検索すると色々ありますが現状は普通にaptで入れれば良さそうです。
$ wget https://github.com/wheaney/breezy-desktop/releases/latest/download/breezy_gnome_setup
$ chmod +x ./breezy_gnome_setup
$ sudo apt install curl flatpak
$ ./breezy_gnome_setup
インストール後すぐはGNOME Shell拡張が認識されないのでログアウトして入り直してください。
$ gnome-session-quit
再ログインして対応電気メガネを接続した状態でサングラスをかけたペンギンアイコンのBreezy Desktopアプリを開くと設定画面が開きますので色々弄ってください。後述する作者さんの紹介動画が分かりやすいですが、とりあえずEffect enabledをONにすれば3DoFになります。
設定画面
一般設定
機能
- 「XRエフェクト」 Breezy GNOMEの機能をオンにすることができます。
- 「ワイドスクリーンモード」オンにすると電気メガネが3Dモードに切り替わり、XREAL Airなどでは3940×1080のウルトラワイドスクリーンになります。なおRokid Maxでは3840×1200になるのでやや縦が広いです。
- 「フォローモード」オフだとXREALの言うBody Anchor(空間に画面が固定される)でオンにするとSmooth Follow(顔の前に画面が遅れてついてくる)に該当する感じですね。
- 「曲面ディスプレイ」オフだと「四角い板」って感じに表示される。通常モードだとそうでもないけどワイドスクリーンだと流石に左右が見えにくいのでオンにした方がいい。現状曲面具合の調整はできない。
ワイドスクリーンモードでフォローモードも使えますが、顔を動かすと画面がついてきて中心しか見えないのであまり意味がないかなと思います。
上から順に、オン…オン…オフ…オンで使ってます。
調整
- 「ディスプレイ距離」数字が小さいと画面が近く大きくなり、大きいと遠く小さくなる。
- 「ディスプレイサイズ」ディスプレイ距離と組み合わせて快適な奥行きとサイズを実現するらしいですが、イマイチ使い分けの理解ができてません。
- 「ディスプレイ距離の切り替え」設定した値にキーボードショートカットで素早く切り替えられます。0.8と1.0が設定した数字で、1.0は画面が全部表示されて0.8はちょっと近いので大きく見える。押すたびに見てる中心に近づいたり離れたりできる。文字をよく見たいときは近づく。全体を見るときは離れるという感じ。キーボードショートカットで2個の設定値を行き来することができます。
- 「フォローしきい値」顔を動かすとついてくるフォローモードでどれだけ動かしたら発動するかの設定。数字が大きいとだいぶ離れないとついてこなくなる。
キーボードショートカット
Breezy GNOMEで一番気に入ってるのがこのキーボードショートカットで操作ができるところです。文章やコードを書く場合にキーボードから手を離さずに画面を中央に持ってきたり近づけたり離したりすることができるのがめっちゃ強力。
「ディスプレイを中央へ移動」で目線の中央に画面を持ってきてくれます。XREAL Air 2で試してたらセンサーのキャリブレーションができてないからかじわじわ画面が移動してしまうのでズレたら押すみたいな感じ。画面がどっか行っちゃったときもとりあえず押す。
「ディスプレイ距離の切り替え」一般設定で指定した距離設定を切り替える機能です。これが一番気に入ってる機能です。
「フォローモードの切り替え」一般設定→フォローモードをキーボードショートカットでできる。
設定画面には書かれてないけど電気メガネのヒンジあたりをトン・トンってすると「ディスプレイを中央へ移動」、トン・トン・トンでキャリブレーション機能が起動するんですが、思ったように発動しない印象なのでやっぱりキーボードショートカットが安定してて良いです。
変更を押して自分の使いやすいショートカットキーに設定し直しておくことをオススメします。
追記:サンワサプライ 400-SKB075が便利
キーボードショートカットで3個同時押しは大変なので、専用ボタンを追加するととても便利でした。
詳細は以下で
3DoF時の負荷が少ない
Intel N100などの弱小CPUでもちゃんと動く!この動画はThinkPad E495を使用してますが、HiMeLE Quieter 4C(RAM8GB版)でもほぼストレスを感じない挙動です。
この動画のCPU負荷はほとんどスクリーンレコードです。
セキュリティ保護コンテンツの再生もできる
結構重要な点として、XREAL Nebula for Windowsは仮想ディスプレイ上でPrime Videoなどのセキュリティ保護コンテンツが表示されないんですが、Breezy GNOMEでは普通にChrome上でPrime Videoを再生した状態で3DoFできました。視界の外に設置して動画再生しておいて音だけ聞いて他のことをしといて気になったときにだけそっち見るとかもできます。
※ただしLinux版のChromeでPrime VideoはHD画質に対応していないのはご留意ください。
今後の予定について
公式GitHubにあるREADMEによると、KDE Plasma対応や複数の仮想ディスプレイに対応が予定されています。
複数仮想ディスプレイはXREAL NebulaやVITURE SpaceWalkerみたいな感じになるんでしょうかね。GNOME側の画面配置が反映してくれたら面白いですよね。
追記(2024/07/26):ウルトラワイドスクリーンに対応
ちょっと前の話なんですが、XREAL Airなどの3Dモードを利用したウルトラワイドスクリーンに対応しています。合わせてスクリーンを湾曲して表示する機能も追加されているので左右の両端に表示されている文字も無理なく読めます。
追記(2024/08/20):アプリの日本語対応
翻訳のお手伝いをしましたよ!
アップデートはセットアップスクリプトを再実行してGNOMEからログアウトして再ログインしてください。
作者さんが説明してる動画
概要、インストール、設定などを作者さん自ら説明してくれています。Linuxで公式サポートのあるVITURE推しですね。RokidやXREALも公式でキャリブレーションとかサポートして欲しいですねえ…
追記:ウルトラワイドスクリーン対応についての解説動画も出てます
支援しよう
現状お試し無料で使えるんですが、今後の予定では月5ドルの寄付が必要になるとのことです。現状の表記では毎月自動更新、年間50ドル、永続ライセンス125ドルのようです。
25ドル寄付したのであと25ドル払えば年間、あと100ドルで永続ってことみたい。
寄付は以下のページからできます。
おしまいに
これは良いよ。ホント。電源とXREAL Air 2だけ繋いだミニPC起動してUbuntuログインしたら自動的にBreezy GNOMEが裏で起動して3DoF有効にしてくれるからマジで実用的。
Intel N100なキーボードPCとか売ってないかなって探しちゃうぐらい気に入ってます。
これが仮想マルチディスプレイ対応予定とか夢が広がりすぎてる。
現場からは以上です。