LinuxにVortexでSKSE64MOD適用方法【Ubuntu22.04/Skyrim SE 1.6AE/Steam】

Ubuntu・iOS
スポンサーリンク

Ubuntu でSkyrim SE 1.6(AE)にSKSE64を適用しました。しかし、Ubuntuでは skse64_loader.exe を簡単には実行できません。Steam と Vortex を経由して実行しました。

なお、Vortexはゲームと同じドライブにインストールしないとうまく動きませんが、Ubuntu ではゲームは”C:”ドライブ、Vortexは”Z:”ドライブのような扱い(Linuxでしか参照できないフォルダ)でインストールされてしまいます。

そこで、シンボリックリンクを使ってどちらも”X:”ドライブにインストールしたような操作をしています。

Ubuntu初心者の私にそんな技術はないため、以下のサイトを参考にしました。

Steam Community :: Guide :: Installing a Windows application as a non-Steam game : Vortex Mod Manager
This guide demonstrates how to install a Windows app as a non-steam game in order to start it with Proton.In addition it...

外付けSSDにUbuntuをインストールした環境ではVortexからskse64_loader.exeを起動してもランチャーが起動してしまいSKSE64を適用できませんでした。これがバグなのかは不明です。以降で紹介する手順では内蔵SSDではうまくSKSE64を適用でき、RacemenuなどのMODが動作することを確認できましたが、条件が揃ってたまたまバグを回避できているだけかもしれません。うまくいかなかった場合はご容赦ください。

スポンサーリンク

Skyrim1.6(AE)にSKSE64の導入

Skyrim SE 1.6.353 の導入

Skyrim SE 1.6.353 を日本語化してインストール済である前提で説明します。Skyrim SE の導入は以下を参考にしてください。

SKSE64の導入

SKSE64のインストールはtktkさんのサイトを参考にしました。

SKSEの導入方法|skyrimshot
SKSEとは本体の拡張です。SKSEが前提のmodが多いので必ず導入しましょう。SKSE経由で起動することで、modでで

①「SKSEのwebページ」から “Current Aniversary Edition build 2.1.5 (game version 1.6.353)”用のSKSE64(skse64_2_01_05.7z)をダウンロードします。

②”skse64_2_01_05.7z”を展開し、”src”フォルダ以外を以下のフォルダに上書きします。

/home/(ユーザー名)/.local/share/Steam/steamapps/common/Skyrim Special Edition

③以下のフォルダ(Skyrim/DataフォルダにSKSEフォルダ作成)にSKSE.iniをダウンロードしてコピーします。

/home/(ユーザー名)/.local/share/Steam/steamapps/common/Skyrim Special Edition/Data/SKSE

Proton GE のインストール

以下のコマンドを実行し、Proton GE をインストールします。(1行目はProton GE のバージョンです。私は当時の最新だった”GE-Proton7-20″を使いました。その時点の最新バージョンに変えても大丈夫だと思いますが、GE-Proton7-20以外では試せていません。)

Releases · GloriousEggroll/proton-ge-custom
Compatibility tool for Steam Play based on Wine and additional components - GloriousEggroll/proton-ge-custom

1行ずつ実行、もしくは全行をコピー&ペーストでリターンキーでも実行できます。

export GE_VER=GE-Proton7-20
export X="/home/${USER}/.local/share/Steam"
ge_url="https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${GE_VER}/${GE_VER}.tar.gz"
ge_tar="$(basename "$ge_url")"
ge_name="$(basename "$ge_tar" .tar.gz)"
mkdir -p "${X}/compatibilitytools.d"
cd "${X}/compatibilitytools.d"
rm "$ge_tar"
rm -fr "$ge_name"
rm -fr "${X}/steamapps/common/${ge_name}"
wget "$ge_url"
tar -xvf "$ge_tar" -C "${X}/compatibilitytools.d"
ln -s "${X}/compatibilitytools.d/${ge_name}" "${X}/steamapps/common/${ge_name}"

変更を有効にするためPCを再起動します。

proton_user_settings.py のコピー&リンク作成

proton_user_settings.py をリンクよりダウンロードします。zipファイルでダウンロードできます。

proton_user_settings.py をコピーし、以下のフォルダに貼り付けます。

/home/panhage/.local/share/Steam/steamapps/compatdata

(※以降 panhage はユーザ名で読み替えてください。)

端末(ターミナル)を開き、以下のコマンドを1行ずつ実行します。(1つの枠は1行です。)

export X="/home/${USER}/.local/share/Steam"
find "${X}/steamapps/common/" -name "Proton*" -exec echo '********** {} **********' \; -exec ln -sf "${X}/steamapps/compatdata/proton_user_settings.py" "{}/user_settings.py" \;

/home/panhage/.local/share/Steam/steamapps/common/Proton 7.0

に”user_settings.py”というシンボリックリンク(ショートカット)が作成されます。

以降、コマンドを実行する端末は閉じないでください。閉じてしまうとexportで設定した変数の値が消えてしまい、次に実行するコマンドが正しく実行されません。

もし端末を閉じてしまった場合は、exportで変数の値をセットし直してください。変数の値を参照する場合は以下で確認できます。

echo $変数名

環境変数PROTONのセット

以下のコマンドを実行します。1行目のPROTONのバージョンは以下のProtonのフォルダ名に合わせて変更してください。

/home/panhage/.local/share/Steam/steamapps/common/Proton 7.0

1行ずつ、もしくは全行コピーしても実行できます。

export PROTON="Proton 7.0"
export X="/home/${USER}/.local/share/Steam"
export PROTON_WINE="${X}/steamapps/common/${PROTON}/dist/bin/wine64"
export PROTON_BIN="${X}/steamapps/common/${PROTON}/proton"

Vortexのダウンロード

続けて以下のコマンドを実行します。1行ずつ、もしくは全行コピーしても実行できます。

mkdir -p "${X}/steamapps/common/Vortex Mod Manager"
cd "${X}/steamapps/common/Vortex Mod Manager"
wget "$(curl -s 'https://api.github.com/repos/Nexus-Mods/Vortex/releases' | grep -P 'browser_download_url.*vortex-setup|prerelease' | grep -Pzo 'false,\s+"browser_download_url":\s"\K[^"]+"\n' | head -n 1 | sed 's/"//')"

Vortexのインストールexeが以下のフォルダにダウンロードされます。

/home/panhage/.local/share/Steam/steamapps/common/Vortex Mod Manager/vortex-setup-1.5.13.exe

Vortexをインストール

非SteamゲームにVortexインストールexeを設定

Steam を開き、左下にある「+ゲームを追加」より「非 Steam ゲームを追加」を選択します。

Steam : 非 Steam ゲームを追加

「参照」で前段落でダウンロードしたVortexのセットアップexe(vortex-setup-1.5.13.exe)を指定します。

/home/panhage/.local/share/Steam/steamapps/common/Vortex Mod Manager/vortex-setup-1.5.13.exe

「ゲームの追加」でVortexインストールexeを選択

VortexセットアップexeでProtonを有効

Steamの「ライブラリ」にVortexセットアップexeが追加されるので、右クリックで「プロパティ」を選択します。

Steam Vortexセットアップexeのプロパティを選択

プロパティの「互換性」に以下を設定し、Proton 7.0-3を有効にします。

特定のSteam Play互換ツールの使用を強制する
Proton 7.0-3
Steam ライブラリ:Vortexの互換性にProton 7.0-3を設定

Vortexセットアップexeを実行

Vortexセットアップexe(vortex-setup-1.5.13.exe)の「プレイ」ボタンを選択します。 Vortexのインストールが始まります。インストール終了後、Vortexを閉じます。

Vortexは以下のフォルダにインストールされます。(パス内の2929056590は環境により異なります。)

/home/panhage/.local/share/Steam/steamapps/compatdata/2929056590/pfx/drive_c/Program Files/Black Tree Gaming Ltd/Vortex

「プレイ」ボタンでVortexのインストールが始まらない場合は、.exe が wine と関連付けされていない可能性があります。 vortex-setup-1.5.13.exe を右クリックでプロパティを選択し、「開き方」で「Wine Windows プログラムローダー」を指定してください。

exeの開き方で「Wine Windows プログラムローダー」を指定

STEAMAPPID の確認

STEAMAPPID:/home/panhage/.local/share/Steam/steamapps/compatdata に直近で作成された10桁の数字のフォルダ名がSTEAMAPPIDです。私の場合は2929056590でした。

STEAMAPPID

以下のコマンドを実行します。STEAMAPPID は先程調べたもので置き換えてください。

export STEAMAPPID=2929056590
export PFX="${X}/steamapps/compatdata/${STEAMAPPID}/pfx"

プロトンユーザー設定ファイルの変更

/home/panhage/.local/share/Steam/steamapps/compatdata の”proton_user_settings.py” を開き、”CHANGEME” と書かれた2箇所を先ほど調べた STEAMAPPID に書き換えます。

(前略)
# Vortex Mod Manager (non-Steam app)
elif SteamAppId == '2929056590':
    custom_settings = {
        "SteamAppId": "2929056590",
        # [fsutil.exe=d] to prevent admin rights checking on startup
        # [taskschd=d]   to prevent a crash on browsing the Vortex settings
(後略)

X:をSteamルートフォルダにリンク

以下のコマンドを実行します。

ln -s "${X}" "${PFX}/dosdevices/x:"

/home/panhage/.local/share/Steam/steamapps/compatdata/2929056590/pfx/dosdevices に ”x:”というフォルダー(/home/panhage/.local/share/Steam)へのリンク(ショートカット)が作成されます。

Vortex の再配置

Vortexが”X:”ドライブにインストールしたようにフォルダ構成を変更します。

以下のコマンドを実行します。

mkdir -p "${X}/steamapps/common/Vortex Mod Manager"
rm -r "${X}/steamapps/common/Vortex Mod Manager/"*
mv "${PFX}/drive_c/Program Files/Black Tree Gaming Ltd/Vortex/"* "${X}/steamapps/common/Vortex Mod Manager"
rm -r "${PFX}/drive_c/Program Files/Black Tree Gaming Ltd"

mkdir -p "${X}/steamapps/common/Vortex Mod Manager Downloads"
mkdir -p "${X}/steamapps/common/Vortex Mod Manager Mods Staging (Skyrim)"
mkdir -p "${PFX}/drive_c/users/steamuser/Application Data/Vortex/skyrimse"
ln -s "${X}/steamapps/common/Vortex Mod Manager Downloads" "${PFX}/drive_c/users/steamuser/Application Data/Vortex/downloads"
ln -s "${X}/steamapps/common/Vortex Mod Manager Mods Staging (Skyrim)" "${PFX}/drive_c/users/steamuser/Application Data/Vortex/skyrimse/mods"

# Update path to Vortex
sed -i.bak 's/C:\\\\Program Files\\\\Black Tree Gaming Ltd\\\\Vortex/X:\\\\steamapps\\\\common\\\\Vortex Mod Manager/g' "${PFX}/system.reg"

/home/panhage2/.local/share/Steam/steamapps/compatdata/2929056590/pfx/system.reg
にレジストリ情報が書き込まれます。

ゲームデータのリンク

SteamのゲームをVortex を経由して実行した場合、ゲームデータをVortex のフォルダから探そうとして見つかりません。そこで、Vortexのフォルダにゲームデータのリンクを貼って見つけられるようにします。

以下のコマンドを実行します。

mkdir -p "${PFX}/drive_c/users/steamuser/My Documents/My Games"

ゲームデータをリンクするコマンドを実行します。Skyrim Special Edition の場合は以下のコマンドです。

### Skyrim Special Edition
ln -s "${X}/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/My Documents/My Games/Skyrim Special Edition" "${PFX}/drive_c/users/steamuser/My Documents/My Games/Skyrim Special Edition"
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\489830" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\Wow6432Node\\Bethesda Softworks\\Skyrim Special Edition" /v "Installed Path" /t REG_SZ /d "X:\\steamapps\\common\\Skyrim Special Edition" /f

/home/panhage/.local/share/Steam/steamapps/compatdata/2929056590/pfx/drive_c/users/steamuser/My Documents/My Games にSkyrim Special Editionのリンクが作成されます。

/home/panhage/.local/share/Steam/steamapps/compatdata/3354174156/pfx/system.reg
にレジストリ情報が書き込まれます。

なお、以下は Skyrim Special Edition 以外のゲームの例です。

### Skyrim VR
ln -s "${X}/steamapps/compatdata/611670/pfx/drive_c/users/steamuser/My Documents/My Games/Skyrim VR" "${PFX}/drive_c/users/steamuser/My Documents/My Games/Skyrim VR"
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\611670" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\Wow6432Node\\Bethesda Softworks\\Skyrim VR" /v "Installed Path" /t REG_SZ /d "X:\\steamapps\\common\\SkyrimVR" /f

### Skyrim (Oldrim)
ln -s "${X}/steamapps/compatdata/72850/pfx/drive_c/users/steamuser/My Documents/My Games/Skyrim" "${PFX}/drive_c/users/steamuser/My Documents/My Games/Skyrim"
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\72850" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\Wow6432Node\\Bethesda Softworks\\Skyrim" /v "Installed Path" /t REG_SZ /d "X:\\steamapps\\common\\Skyrim" /f

### Fallout 4
ln -s "${X}/steamapps/compatdata/377160/pfx/drive_c/users/steamuser/My Documents/My Games/Fallout4" "${PFX}/drive_c/users/steamuser/My Documents/My Games/Fallout4"
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\377160" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\Wow6432Node\\Bethesda Softworks\\Fallout4" /v "Installed Path" /t REG_SZ /d "X:\\steamapps\\common\\Fallout 4" /f

### Fallout New Vegas
ln -s "${X}/steamapps/compatdata/22380/pfx/drive_c/users/steamuser/My Documents/My Games/FalloutNV" "${PFX}/drive_c/users/steamuser/My Documents/My Games/FalloutNV"
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22380" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\Wow6432Node\\Bethesda Softworks\\FalloutNV" /v "Installed Path" /t REG_SZ /d "X:\\steamapps\\common\\Fallout New Vegas" /f

### Oblivion
ln -s "${X}/steamapps/compatdata/22330/pfx/drive_c/users/steamuser/My Documents/My Games/Oblivion" "${PFX}/drive_c/users/steamuser/My Documents/My Games/Oblivion"
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22330" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\Wow6432Node\\Bethesda Softworks\\Oblivion" /v "Installed Path" /t REG_SZ /d "X:\\steamapps\\common\\Oblivion" /f

### Morrowind
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22320" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\Wow6432Node\\Bethesda Softworks\\Morrowind" /v "Installed Path" /t REG_SZ /d "X:\\steamapps\\common\\Morrowind" /f

### Fallout 3
ln -s "${X}/steamapps/compatdata/22370/pfx/drive_c/users/steamuser/My Documents/My Games/Fallout3" "${PFX}/drive_c/users/steamuser/My Documents/My Games/Fallout3"
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22370" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\Wow6432Node\\Bethesda Softworks\\Fallout3" /v "Installed Path" /t REG_SZ /d "X:\\steamapps\\common\\Fallout 3 goty" /f

### The Witcher 3
ln -s "${X}/steamapps/compatdata/292030/pfx/drive_c/users/steamuser/My Documents/The Witcher 3" "${PFX}/drive_c/users/steamuser/My Documents/The Witcher 3"
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKCU\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\292030" /v "Installed" /t REG_DWORD /d 1 /f
WINEPREFIX="${PFX}" "${PROTON_WINE}" reg add "HKLM\\Software\\CD Project Red\\The Witcher 3" /v "InstallFolder" /t REG_SZ /d "X:\\steamapps\\common\\The Witcher 3" /f

ゲームのセーブデータは SteamAppId 毎にフォルダが分かれて保存されます。Skyrim SE は”${X}/steamapps/compatdata/489830/〜”というフォルダになります。

VortexをSteamから起動すると、”${X}/steamapps/compatdata/2929056590/〜”のようにSkyrim SE とフォルダが分かれてしまいます。

上記の作業では、Vortexからゲームを起動した場合もSkyrim SE のゲームデータが参照できるようにリンクを作成しています。

Vortex の起動設定

Steamライブラリに設定してあったVortexのセットアップexe(vortex-setup-1.5.13.exe)のプロパティを以下のように変更します。(Vortexアイコンの設定は不要です。互換性は Proton 7.0-3 のままで変更しません。)

Name : Vortex Mod Manager
リンク先:"X:\steamapps\common\Vortex Mod Manager\Vortex.exe" 
Steam Vortex起動設定

Vortexを起動

Steam のライブラリから Vortex Mod Managerを選択し、「プレイ」で Vortex を起動します。

管理するゲームを追加

「Games」メニューからSkyrim SEを選択します。

Games で Skyrim SE を選択

Mods フォルダ指定

以下の警告が出るので、”Browse…”を選択します。

Mod Staging Folder invalid

“X:\steamapps\common\Vortex Mod Manager Mods Staging (Skyrim)” を設定します。

「Settings」メニューの「Mods」タブの「Mod Staging Folder」は以下に設定されます。

X:\steamapps\common\Vortex Mod Manager Mods Staging (Skyrim)

Download の確認

「Download」タブでDownloads Folder のパスを確認します。

c:\users\steamuser\AppData\Roaming\Vortex\downloads

ダッシュボードでSKSE64(Skyrim Script Extender 64)の設定確認

Dashboardで「Skyrim Script Extender 64」の設定(縦…アイコン)で「Edit(編集)」を選択します。

Target が”X:\steamapps\common\Skyrim Special Edition\skse64_loader.exe”であることを確認します。この設定がない場合は「Add Tool」で追加します。

Vortex から Skyrim SE(SKSE64)を起動

Steam ライブラリから Vortex Mod Manager を選択し「プレイ」ボタンでVortex を起動します。

Dashboard で SKSEの「プレイ」ボタンを選択し、Skyrim SE を起動します。

なぜかランチャーが起動します。”EXIT”でランチャーを終了します。Vortexも終了します。

skse64_loader.exe の起動設定

非Steamゲームにskse64_loader.exe を設定

Steam を開き、左下にある「+ゲームを追加」より「非 Steam ゲームを追加」を選択します。

Steam : 非 Steam ゲームを追加

「参照」で”skse64_loader.exe”をリンク先に設定します。

/home/panhage/.local/share/Steam/steamapps/common/Skyrim Special Edition/skse64_loader.exe

skse64_loader.exe で GE-Proton を有効

Steamの「ライブラリ」に skse64_loader.exe が追加されるので、右クリックで「プロパティ」を選択します。

Steam ライブラリ:skse64_loader.exe のプロパティを選択

プロパティの「互換性」に以下を設定し、GE-Proton7-20 を有効にします。

特定のSteam Play互換ツールの使用を強制する
GE-Proton7-20
Steam ライブラリ:skse64_loader.exe の互換性にGE-Protonを設定

Vortex から Skyrim SE(SKSE64)を起動

Steam ライブラリから Vortex Mod Manager を選択し「プレイ」ボタンでVortex を起動します。

Dashboard で SKSEの「プレイ」ボタンを選択し、Skyrim SE を起動します。

Skyrim SE のシステムメニューでバージョンを確認します。”1.6.353.0.8 (SKSE64 2.1.5 rel 6″と表示されていればSKSE64が有効になっています。これでVortexでMODが適用できるようになりました。

Vortex からの起動で SKSE64が有効

今後はVortex から SKSE64を起動してください。

補足:Vortexの再インストールについて

Vortexの導入がうまくいかなかった場合は、以下のレジストリファイルを開き、Vortexの記述を検索してセクションごと削除してください。

  • /home/panhage/.local/share/Steam/steamapps/compatdata/2929056590/pfx/system.reg
  • /home/panhage/.local/share/Steam/steamapps/compatdata/2929056590/pfx/user.reg

また、以下のフォルダを削除します。

  • /home/panhage/.local/share/Steam/steamapps/compatdata/2929056590/pfx/drive_c/users/steamuser/AppData/Roaming/Vortex
  • /home/panhage/.local/share/Steam/steamapps/common/Vortex Mod Manager
  • /home/panhage/.local/share/Steam/steamapps/common/Vortex Mod Manager Downloads
  • /home/panhage/.local/share/Steam/steamapps/common/Vortex Mod Manager Mods Staging (Skyrim)

その後、環境変数PROTONのセットからやり直してください。

まとめ

Steam のライブラリに skse64_loader.exe の起動設定を追加し、互換性に GE-Proton を設定するのがキモです。

これを設定しないと、 skse64_loader.exe を起動してもなぜかランチャー(SkyrimSELauncher.exe)が起動され、SKSE64が適用されない現象が発生します。

上記手順でもランチャーが起動してしまう場合は、Steam ライブラリの Skyrim SE のプロパティにGE-Proton を設定するとうまく行くかもしれません。

とにかく、少しでも手順を間違うとうまくSKSE64が反映されず、反映されたかと思えばなぜかMODが適用されない、など試行錯誤の連続でした。

色々いじっているうちにたまたまUbuntu に Vortex でMODが適用できたのですが、それを再現するのに1ヶ月かかりました。何度環境を作り直したことか…。もうSkyrim SE のインストールはやりたくないですね。

Racemenu などのModを適用して今のところ問題ありませんが、Ubuntu でWindowsアプリを無理やり動かしている感はあるので、細かな不具合等は出てくるかもしれませんし、Protonのバージョンによってはうまく行かないかもしれません。何か分かれば改めて報告します。

コメント

タイトルとURLをコピーしました