2018-08-23

Steam Playで不自由なWindows用ゲームをGNU/Linux上で実行するにはPython 2が必要

Steam Playが発表されたので、早速使ってみた。

Steam PlayというのはWineからforkしたValveのProtonを使ったGNU/LinuxでWindows用ゲームを実行する機能だ。なぜWineをforkしているかというと、ProtonではWineにまだ入っていない変更を使っているからだ。例えばDirectXをVulkanで実装したdxvkや、同期処理をユーザースペースで行うValveが開発したWineに対するパッチesyncを使っている。

https://github.com/ValveSoftware/Proton

Steam Playを使うには、まずSteamクライアントのSettings→Account→Beta participationからSteamクライアントBetaを使う設定であるSteam Beta Updateに切り替え、Steamクライアントをアップデートする。

すると設定にSettings→Steam Playが追加されているのでこれを有効にする。Valveが検証したゲーム以外のすべてのゲームでSteam Playを有効にするには、その設定項目のEnable Steam Play for all titlesを有効にする。これでGNU/LinuxのSteam クライアントでもWindows用ゲームがインストール、実行できるようになる。

ここまではSteamクライアントで必要な変更だ。GNU/Linux側でも必要な用意がある。Steam PlayにはVulkanに対応したかなり最新のグラフィックスタックが必要になる。

詳しい内容は

https://github.com/ValveSoftware/Proton/blob/proton_3.7/PREREQS.md

に書いてある。

NvidiaのGPUを使っている場合は、不自由なバイナリブロブドライバーを396.51以上のバージョンにしなければならない。Ubnuntu 18.04のドライバーはLatest Long Lived Branchである390を使っているので、最新のバージョンをインストールしなければならない。

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt install nvidia-driver-396

AMDとIntelのGPUを使っている場合は、最近のMesaとLLVMをインストールしなければならない。

sudo add-apt-repository ppa:paulo-miguel-dias/mesa
sudo apt dist-upgrade
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

AMDでVRゲームを実行する場合は、以下のパッケージが必要だ。

sudo add-apt-repository ppa:kisak/steamvr4pk
sudo apt dist-upgrade
sudo apt install linux-generic-steamvr-18.04

現在、IntelのGPUによるVRゲームはサポートしていないそうだ。

DirectX 11を使ったゲームを実行するには、NVIDIA 396.51以上、もしくはMesa 18.1.xが最低でも必要だ。LLVM 7も推奨されている。

OpenCLを使ったゲーム(DOOM 2016, Google Earth VR)を実行するには、Mesa 18.2.x以上が最低でも必要になる。

一部のディストロでは1プロセスあたりのfd limitが低いので、これを変更しなければならない。4096は1990年台には妥当な値ではあったかもしれないが、この2018年には少なすぎる。DebianとUbuntuでは上限が引き上げられているので問題はないそうだ。

そして最後にとても重要なソフトウェアをインストールする。Python 2だ。

sudo apt install python-minimal

こともあろうかこの2018年にProtonとgit submoduleしているffmpegがpython 2に依存している。

これでSteam Playを使う用意が整った。いくつかのWindows用の不自由なゲームを実行してみたが、いずれもよく動いている。

GNU/Linuxにおけるゲームは卵が先か鶏が先かという問題に直面していた。ゲーム開発者はGNU/Linuxゲーマーの需要がわからないのでGNU/Linux用のゲームを出さず、GNU/Linuxユーザーは対応しているゲームが少ないので仕方がなくWindowsかWineを使うので、結果として潜在的なGNU/LinuxゲーマーはWindowsゲーマーとしてカウントされてしまう。するとゲーム開発者はGNU/Linuxゲーマーの需要がわからないというデッドロック問題だ。

Steam Playによるゲームの実行は、GNU/Linuxユーザーとしてカウントされ、ゲーム開発者に通知されるしSteamの統計にも出る。これにより我々GNU/Linuxゲーマーの時代が訪れる。Microsoftの不自由で不便で非効率的なWindowsは最後の砦であったゲーム環境としても滅ぶのだ。未来は明るい。

2018-08-14

江添ボドゲ会@8月18日

江添自宅ボドゲ会を以下の要領で開催します。

江添ボドゲ会@8月18日 - connpass

2018-08-12

違法な職務質問を受けたので国賠訴訟を起こした裁判の傍聴のお知らせ

私の裁判の傍聴をしたいという人が何人かいるので、ここで証人尋問の傍聴の告知をしておく。

  • 日時: 2018年9月19日 水曜日 13時30分から16時頃まで
  • 場所: 東京地方裁判所631号法廷

傍聴をするためには、指定の日時の少し前に東京地裁に行き、金属探知機のある入り口を通過し、そのままエレベーターで6階まで上がって時間通りに631号法廷に行くだけだ。特に予約や手続きは必要ない。また、途中退出してもよいそうだ。

裁判の内容だが、私は約1年前に警察官から違法な職務質問を受けたので東京都を相手に起こした国賠訴訟だ。

本の虫: 警察官に職務質問をされた話

本の虫: 濫用に当たる職務質問を受けたと考えたので弁護士に相談して訴訟を起こすことになった話

裁判を起こすことになって初めて知ったのだが、警察というのは地方自治体の行政であるので、東京都内で生じた警察の行為について裁判を起こす場合、被告は東京都になる。

裁判は公開かつ口頭で行われるということになっているが、その実態としては、口頭で話すべき内容をすべて書面にまとめておき、あらかじめ裁判所に提出する。書面にすべてがまとめられているので、実際の期日に物理的な裁判所でやることはほとんどない。

実際に裁判所で行われる「儀式」は以下のようになる。

裁判官「原告/被告からは準備書面が提出されていますが、これは?」
原告/被告「陳述します」
裁判官「では次回期日ですがX月Y日のZ時からでは?」
原告/被告「その日は差し支えです/大丈夫です」

事前に提出した書面について「陳述」する宣言と、証拠の原本の確認と、次回期日を決めることしかしていない。

このようなやり取りが数カ月に一回発生するのが裁判だ。1回あたり5分から10分で終わる。この裁判の傍聴もできるのだが、傍聴しても退屈なので、これまで特に案内はしてこなかった。

今回は証人尋問が行われる。証人は原告である私と、職務質問の最初から最後まで現場にいたという警察官だ。当事者ではない第三者が傍聴して退屈ではない裁判というと、まず証人尋問だろう。

ところで、今回の裁判で気になる点としては、裁判官が頻繁に交代することだ。前々回でいきなり3人全員が同時に交代したかと思ったら、前回はさらに2人同時に交代した。裁判官の一部が交代するのはよくあることだが、それでも普通は一人ぐらいは最初から最後まで同じ裁判官を残すものだという。さもなければ、判決を書く裁判官はこれまでの裁判の口頭弁論も証人尋問も直接聞かず、書面だけで判断することになるからだ。一人でも最初から担当していた裁判官が残っていればその裁判官が物理的に見ているわけだから、その裁判官が知っているということにできるが、3人同時に交代してしまってはその手法も使えない。

今後の想定としては証人尋問を経て年内には判決が出る見込みだそうだ。