けさらんぱの自由帳

とあるFF14プレイヤーがFF14のこととか関係ないことを書いていく予定のブログです。記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

【#FF14】【#ID愛でる会Aegis】納涼紅蓮祭〜落ちる会〜

愛でる会主催で、紅蓮祭が終わるときにシーズナルイベントのアスレチックの上からみんなで落ちよう、という「落ちる会」が開催されました。今回はその日記です。

人文字作成

5周年ということで、みんなで「5TH」の人文字を作成しました。人文字は、アルファベットを大文字にするか小文字にするかとか、TがYになってしまってるとか、いろいろあって時間がかかりましたが無事に完成。「5TH」に見えるでしょうか。

f:id:KesaranPa:20180827004807j:plain

記念撮影

人文字作成とその撮影のあと、場所を変えてアスレチックの上で記念撮影。最初は晴れていたのに途中で豪雨に。飛び交う「よしだああああ」のシャウトも虚しく、結局最後まで豪雨は続きました。まあその状況をみんなで楽しんでいたのですが。

f:id:KesaranPa:20180827005002j:plain f:id:KesaranPa:20180827005033j:plain

落ちる!!

そして今回のメインの落ちる場面。前にシーズナルイベントが終わるところを撮影したときも、0時丁度ではなく数分遅れての消滅だったのですが、もしかして運営の人が手動でスイッチを切り替えているんでしょうか。

短時間のイベントでしたが、みんなで落ちるという目的は達成できたし、表示限界が出るくらいに多くの人に集まってもらえたし、こういう雰囲気こそオンラインゲームっていう感じで楽しかったです。

【#FF14】【#ID愛でる会Aegis】リドルアナ観光

f:id:KesaranPa:20180701113654j:plain 愛でる会恒例の24人レイドの観光、今回はリドルアナに行ってきました。今回は、クリアまで行くことを目的として、最後のボス手前まではストップせずに攻略していきました。

ファムフリート

f:id:KesaranPa:20180701112715j:plain

最初のボスにして、最難関(だと勝手に思っている)ボス。案の定、この戦闘だけで5、6回床ペロしてしまいました。特に水瓶くるくるからのざばーっていう攻撃がどうも苦手です。そんなわけで戦闘に必死であまり観察できず。

ベリアス戦

ベリアス戦の前の道中に出てくる変な顔の雑魚。今まであまり気にしていなかったのですが、結構サイズが大きく、もしこの口が開いたらララフェルを丸呑みできそうな大きさです。それにしても変な顔… f:id:KesaranPa:20180701112804j:plain

f:id:KesaranPa:20180701112848j:plain

そしてベリアス戦。今回初めて気がついたのですが、ベリアスさんは詠唱中に手をくるくる回しています。こういった細かい部分のモーション、通常の攻略では見ている余裕はないのですがきちんと作りこまれています。

f:id:KesaranPa:20180701113101j:plain ベリアスさんを倒したあと、フィールドの少し奥には、謎の装置と下から上に流れる水柱があります。最初、この装置は灯台の光源を発生させる装置なのかと思ったのですが、違うような気もします。何なのかわかりませんが、上部から光が出ています。 f:id:KesaranPa:20180701113134j:plain

水柱の方は、なんで下から上に流れているんだろうという話題になり、ヤズマットさんが吸い上げてる説が浮上。喉が乾いてるのかな(普通に考えるとクリスタルが吸い上げてる)。 f:id:KesaranPa:20180701113511j:plain

労働七号戦

ベリアスさんを倒すとエリアチェンジして灯台よりさらに上の部分に飛んでいきます。1ヤルムはおおよそ0.9メートルらしいので、モーグリの言葉が正しければ相当高い場所になります。 f:id:KesaranPa:20180701113605j:plain

f:id:KesaranPa:20180701113745j:plain

労働さんとの戦闘。途中の算数問題、みんななんだかんだと言ってても、うちのPTは全員満点でした。 f:id:KesaranPa:20180701113628j:plain

労働さんを倒したところで記念撮影。最近実装されたプリンセスアタイアを着ている人が数人いました。かわいいよね。 f:id:KesaranPa:20180701113802j:plain

かわいい…よね…!? f:id:KesaranPa:20180701113820j:plain

ヤズマット戦

ここのエリアは、空を見上げると、青空なのに星が出ています。時間的には昼で固定のようなので、高度が高いせいでしょうか。 f:id:KesaranPa:20180701113840j:plain

f:id:KesaranPa:20180701113859j:plain

ヤズマットさん、途中で心核を破壊しますが、きちんと見た目も心核が壊れています。 f:id:KesaranPa:20180701113916j:plain

今回、たけおさんが労働七号が踊り出すタイミングを見たいということでヤズマット戦に参加せずに労働さんに張り付いていたのですが、結果としてはヤズマットさんを倒して画面が暗転したタイミング、ということだったみたいです。


【FF14】リドルアナで労働七号が踊り出すタイミングを確認してみた

全体としては、ヤズマット戦で一度全滅したものの、無事に最後まで倒せて終了! 今回も非常に楽しかったです。主催してくれたはなおん、すぱさん、本当にありがとうです!

#FF14 をLinuxの仮想環境で動かす話・GVT-g編

以前、PCIパススルーを使ってGPUをゲストOS側に完全にパススルーしてFF14Linux上で動かす話をしました。今回は、完全なパススルーではなく、Mediated Passthroughというもので仮想GPUを作成し、それでFF14ベンチマークを動かしてみるお話です。GVT-gというのは、Intelによる仮想GPUの実装をそのように呼ぶみたいです。

ベンチマーク結果

まずは結果から。ベアメタル環境。 f:id:KesaranPa:20180502005244p:plain

GVT-gを使った仮想環境。CPUやメモリを半分しか割り当てていないこともあり、60%ぐらいに落ち込んでいます。 f:id:KesaranPa:20180502005255p:plain

前回の完全パススルーを使ったときは常用を目的にしていたし、実際に常用していますが、今回は元々非力なIntel NUC6i5SYH上で、しかも仮想環境で動かしているので、常用はかなり厳しいです。

テスト環境

ハードウェアは2世代ほど前のものですが、ソフトウェアはかなり最新で、LinuxカーネルQEmuもここ数週間にリリースされたものが必要です(この記事を書いている時点で、qemu-2.12.0-1はtestingにしかありません)。

手順

カーネルコマンドラインに以下のオプションを追加します。 i915.enable_gvt=1 はGVT-gを有効にします。 kvm.ignore_msrs=1 は特殊なレジスタへのアクセスを無視します(たまにアクセスするプログラムがあるらしい)。

i915.enable_gvt=1 kvm.ignore_msrs=1 intel_iommu=on

Linuxが起動したら、下記のようにして、Mediated Deviceを作成します。 echo の引数はUUIDです。 uuidgen とかで作成します。 i915-GVTg_V5_1 以外にもいくつかのディレクトリがありますが、vGPUに割り当たるメモリ量なんかが違うみたいです。ディレクトリ名の最後の数字は、作成できるvGPUの数を表しているようです。

% echo XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | sudo tee /sys/class/mdev_bus/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_1/create

次に、Libvirtの設定を書き換えます。自分が今回書き換えた箇所のうち、重要な部分は下記の部分です。QEmuのカスタム引数を使用しています。また海外サイトによると、OVMFでは問題があるようなので、SeaBIOSを使用しています。 x-igd-opregion=on は内蔵GPUのときに必要になるようです。

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
...
  <os>
    <type arch='x86_64' machine='q35'>hvm</type>
  </os>
...
  <devices>
...
    <graphics type='spice' keymap='en-us'>
      <listen type='none'/>
      <gl enable='yes' rendernode='/dev/dri/by-path/pci-0000:00:02.0-render'/>
    </graphics>
...
    <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x2'/>
    </video>
    <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci'>
      <source>
        <address uuid='XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </hostdev>
...
  </devices>
  <qemu:commandline>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.video0.driver=ne2k_pci'/>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.hostdev0.x-igd-opregion=on'/>
  </qemu:commandline>
</domain>

他にゲームパッド等の必要なデバイスの設定も行い、virt-managerから起動します。

記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。