Linux上でWindowsアプリを動かしてみる
さて、前回の続きです。前回はWindows11非対応マシンを活用するため、Linux Mintを導入しWindowsの互換レイヤー(Wine)を搭載したBottlesアプリを導入した所までお伝えしてきました。興味のある方は前回の記事も参照して頂ければ幸いです。
今回は具体的にBottleアプリ等を使用しLinux上で各種Windowsアプリの動作状況をレビューしてみたいと思います。
↓ちなみに前回の記事(前編)はコチラ
ボトルを作成
まずはSteamに次いで有名なゲーム配信プラットフォームであるEpic Gamesを導入しましょう。Bottleを起動したらそのアプリ名通り、Windowsアプリを動かす仮想環境である”ボトル”を作成します。左上の”+”ボタンをクリックするとボトルの作成画面が出てきますので、”ボトルの名前”と動作させたいWindowsアプリのジャンルを選択します。
今回はEpicGamesのランチャーを起動させたいので、名前は”Epic Games”、ジャンルは”ゲーミング”に設定しました。
しばらく待っているとボトルが作成されました。この作成されたボトルに対してWindowsアプリケーションをインストールしていきます。
作成されたボトルを開くと、Windowsアプリの実行・インストール画面が表示されます。今回の”Epic Games”はBottle側で専用インストール機能が用意されているのでそれを利用しましょう。”プログラムをインストール…”をクリックします。
クリックすると各種有名処のアプリが登録されています。今回は”Epic Games Store”横の下矢印をクリック。
割と時間がかかりましたが、Epic Gamesのボトルが完成しました。
Epic Gamesのゲームを遊ぶ
早速、完成したEpic Gameのボトルを選択し起動してみましょう。
お、起動はしましたが、なんかフォントがおかしい。文字化けしてますね。
こういう場足は各ボトル内のメニューで”依存関係”をクリックして、
適切な追加プログラムを導入すると改善される場合があります。今回は”cjkfonts”をインストールしました。
はい。無事に文字化けが改善しました。改めてログインしてみましょう。
ついにEpicGameが正常に実行されました!
とりあえず、お気に入りの超名作インディーゲーム”INSIDE”を起動。Windows環境の時となんら変わらず遊べました。これはかなりイイッ!!
一般的なWindowsアプリも試す
では、このBottleアプリを使用して、その他の一般的なWindowsアプリの動作もチェックしてみましょう。ちなみに1つのボトルに複数のWindowsアプリを導入する事も可能ですが、依存関係のトラブルがあるかも知れませんので、出来れば1つのアプリごとに1つのボトルを作成する方が良いと思われます。
また、このこのBottleアプリはWindowsアプリをサンドボックス型と呼ばれる方法でLinux環境とは切り離した環境で動作させるため一般的なWindowsアプリ起動時はちょっとした注意が必要な様です。
(その1)1ファイルでインストール又は実行されるタイプのアプリの場合
これは特に難しい事はありません。Bottle作成後、青い”実行可能ファイルを実行”ボタンを押してLinux上にあるWindows アプリの実行ファイルを実行すればBottle上にアプリのインストールや直接プログラムの起動が出来ます。
(その2)複数ファイルで構成されているインストール不要なアプリ、又は複数のファイルを呼び出しながらインストールするタイプのアプリ
このタイプのアプリは上記の方法で実行しようとしても、こんな感じで実行途中やインストール途中で何かしらのファイルが見つからない旨のエラーが表示されて正常に実行できません。理由は先述した通りBottleはWindowsアプリをサンドボックスという閉鎖された空間内で動作させているため、実行ファイルがサンドボックス外のファイルを途中で呼び出してもアクセスできない為だと思われます。
そこで、一旦 Bottle内の右上メニューで”ファイルを表示”を選択すると、
各Bottle内に実物のWindowsマシンを模倣したWindowsフォルダ群が表示されます。ここのフォルダ群はBottleの先述したサンドボックス内の空間なので、これらのフォルダ内の任意の場所に一旦全ての任意のWindowsアプリのファイルをコピーしましょう。
ちなみに、この仮想フォルダの具体的なパスはLinux側から見ると
/home/(ユーザー名)/.var/app/com.usebottles.bottles/data/bottles/bottles/(作成したボトル名)/drive_c
となっている様です。(ちなみに上記のフォルダは隠しフォルダとなっているので注意)
コピー後、”ショートカットを追加”ボタンを押して先ほどコピーした任意のフォルダ内の実行ファイルやセットアップファイルを指定して実行を行えば、ファイルが見つからないというエラーが表示される事無く無事にアプリを実行又はインストールが可能になると思います。
実はこれらの情報はネット上でほとんど解説されていない為、原因がなかなか分からずこの方法に気付くまでにかなり苦労しました。今後のBottleアプリのアップデートでこの辺が改善がされて行く事を期待しましょう。
って事で、気を取り直していくつかWindows用のフリーソフトを実行させてみましょう。
1996年にとある親子によってゲーム作成ツールで作成されたゲーム。クレヨンしんちゃんの父ヒロシのようなキャラが呪いの館から脱出を試みるというアクションゲーム。2008年頃ニコニコ動画にて取り上げられ、そのあまりに理不尽な難易度と死んだときのシュールな断末魔の叫び声が話題になり、近年でも某超有名ク〇ゲー実況者の方も取り上げた程有名なゲームです。
Bottleにてバッチリ動作しましたので、少し嬉しくなり久しぶりに遊びましたが、とてもクリア出来そうにありませんw
高機能な音声編集ソフト。ちょっとした音声の切り貼りや充実したエフェクト機能までこれ一つでいろいろ出来るのでお気に入りなソフトの一つ。
ただ、そのままではファイルの読込時に直接Linux上のファイルを参照できない為、ちょっとした工夫が必要です。
いろいろ解決策はあるかも知れませんが、自分が成功した方法は、
Bottleのオプションメニューから ”設定”→”ドライブを管理” 内にある”既存のドライブ”指定箇所で、自分の場合はDドライブの指定のパスをLinux上にある任意のフォルダ(読み込みたいファイルがあるフォルダ。アクセスしやすいデスクトップ上のフォルダにしておくと便利)に設定。(右側のフォルダアイコンから選択できます。)
設定後にAudacity側からファイル選択でDドライブを選択すると、先ほど設定したフォルダの内容がDドライブとして表示され無事にファイルを読み込み出来るようになりました。
Steamも試す
続いてSteam。このアプリはBottleを利用しなくても標準でLinuxに対応しているので当然起動するはずですが一応、試してみましょう。
まずは、Steamアプリ起動。
とりあえずカプコン アーケードスタジアム内のストリーとファイター2を起動。うーん、当たり前のように問題なく動いてますw
ちなみにLinux版のSteamにもBottleと同じくWindowsアプリを動かす互換レイヤー(Proton)が搭載されており、それを利用して各種ゲームが動作している訳ですね。
いや~、普通にスゴイ!
ネイティブ環境とのベンチマーク比較
ここでBottleを使用した環境下でWindowsアプリを動作させた場合、気になるのはWindowsのネイティブ環境に比べどれ位パフォーマンスの低下があるのかだと思うので、今回は定番のドラゴンクエストXのベンチマークソフトで比較してみる事にしました。
結果は
↑ Windowsネイティブ環境での結果
元々この検証用PCがゲーミング仕様とは程遠いスペックなのでこんなもんですかね。ちなみに内蔵グラフィックチップはIntel HD グラフィックス 620です。
↑Linux Mint + Bottle環境下での結果
って事で、Linux Mint + Bottle環境下ではネイティブ環境に比べ約8割程度のパフォーマンスでした。これを良いとみるか悪いとみるかは人によりますが、個人的には互換レイヤー使用でここまでパフォーマンスが出せているのはかなり頑張っている方だと感じました。
また、この結果はアプリやハードウェア環境によって大きく変わると思うのであくまで参考値として頂ければと思います。
Windows11非対応PCもまだまだLinuxで活用できる!
って事で、前後編でWindows11非対応PCの今後の活用方法をお伝え・試してきましたが、正直”もう無理にWindows系OSにこだわらなくいてもいいんじゃない?”という感想を抱きました。現在ではLinuxアプリも豊富なのでLinux環境だけでも大抵の事は出来ますし、必要であればBottleを使用してWindows専用アプリを十分動かすことも出来ますので、Windows11に見捨てられたパソコンを活用するにはピッタリだと思います。もちろんOS自体は無料なので気軽に試せるのも良いですね。
後、Linux系OSはWindows系OSに比べて要求スペックがだいぶ低く動作が軽いのも魅力ですね。あくまで個人の感想ですが本来OSと言うのは影の存在であるべきであり、他のアプリの負担にならないようなるべく動作が軽くかつ安定して動作すればそれで十分だと思うのですが、近年のWindows系OSはやたらと派手に多機能化・複雑化しすぎておりOS自体でかなりのリソースを食ってしまっている印象を拭えません。
使いたいアプリのためにパソコンをアップグレートするのは納得できるのですが、OSのために高スペックPCを要求されるのには正直”何だかなぁ”といった感想です。
それにしても、Windows互換レイヤーの進歩のおかげで最近はLinux上でかなりの数のWindowsゲームが動作する事に正直驚きました。一昔前は導入も難しくまともに動くソフトもほとんど無かったイメージでしたが今回の検証で印象がガラッと変わってしまう程衝撃を受けました。これを機会に我が家のオールドPCは全てLinuxで運用してもいいかなという感想です。
って事で、今回はここまで。では、また。