けさらんぱの自由帳

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

LinuxでPCIeデバイスをリセットするには

Linuxの入っているPCにSound BlasterX AE-5というサウンドカードを接続しているのですが、一度s2idleでスリープするとスリープ解除しても音が出なくなります。その状態でもサウンドカードをリセットしてやると音が出る状態に復帰したので、その方法のメモです。

PCIeデバイスのリセット

下記を実行して、あらかじめPCIのアドレスを調べます。

% lspci -tv
-[0000:00]-+-00.0  Intel Corporation Device a700
(略
           +-1c.0-[04]----00.0  Creative Labs CA0132 Sound Core3D [Sound Blaster Recon3D / Z-Series / Sound BlasterX AE-5 Plus]
(略

上記の場合、サウンドカードのアドレスは0000:00:1c.0なので、下記を実行します。

% (echo "1" | sudo tee /sys/bus/pci/devices/0000:00:1c.0/remove) && (echo "1" | sudo tee /sys/bus/pci/rescan)

Hyper-V上のLinuxの画面解像度を変更する

久しぶりにHyper-V上でLinuxを動かしてみたのですが、画面解像度の変更のやり方がいつの間にか変わっていたのでメモです。

ホストOSの設定

Windows側で管理者権限のPowerShellを立ち上げ、Linuxが実行されていない状態で下記を実行します。

set-vmvideo -vmname "Arch Linux" -horizontalresolution 1920 -verticalresolution 1080 -resolutiontype single

VM名(上記の場合は「Arch Linux」)は仮想マシンの名前に置き換えてください。

FF14をLinuxで動かす話

普段はGPUパススルーを使ってLinux上の仮想環境でWindowsを動かし、その上でFF14をプレイしています。さらに以前Mediated Passthroughで仮想GPUを作成して、それを使用する仮想環境でFF14を動かしてみたこともありました。一方Wine等を使用して仮想環境を使わなくてもFF14が動くという話は以前からあり知っていたのですが、やったことはありませんでした。今回興味本位で試してみたのでそのメモを残しておきます。 当然このページの内容はサポート外になります。何があっても責任は取れません。

テスト環境

OSはDebian GNU/Linux (sid)です。2023-08-18時点で最新の環境です。

手順

まずはFlatpakのパッケージをインストールします。

# sudo apt install flatpak

Flatpakのリポジトリを追加します。

% flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

XIVLauncherをFlatpakでインストールします。グローバル版と中国版があるようなので、中国版ではないほうを選択します。

% flatpak --user install xivlauncher

起動します。

% flatpak --user run dev.goats.xivlauncher

左下の歯車アイコンをクリックして、Game LanguageをJapaneseにして右下のチェックマークアイコンをクリックします。そのあとUsername、Passwordを入力して、Use one-time passwordにチェックを入れてLoginを押します。そしてワンタイムパスコードを入力してOKを押します。そうするとゲームのダウンロードが始まります。そのままダウンロードが終了すると起動しました。なんて簡単なんだ…!

とりあえず試してみたところ、ゲームパッドはそのまま使えました。ただしfcitx5では日本語を直接入力することはできないようです。日本語を含むテキストのコピペはできました。

今回実施したその他の設定

うちの環境では下記も実施しています。

Swayを使っていてマウスの入力がおかしい!

Swayを使っていると、そのままでは解像度が間違って認識されて、クリックした座標が見た目と一致しないようです。下記を ~/.config/sway/config に追加してフローティングを有効にすると、クリックした座標が見た目と一致するようになりました。

for_window [class="XIVLauncher.Core"] floating enable
for_window [class="ffxiv_dx11.exe"] floating enable

SSDが足りない!

下記を実施して、ゲームのファイルをSSDからHDDに逃がしました。

% mv -iv ~/.xlcore/ffxiv /hdd/
% mkdir ~/.xlcore/ffxiv
% sudo mount --bind /hdd/ffxiv/ ~/.xlcore/ffxiv/

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