Steam

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Steam and the translation is 100% complete.
Other languages:
Resources

Steam は Valve によるビデオゲームのデジタル配布サービスです。Steam はデジタル著作権管理 (DRM)、サーバのマッチメイキング、動画配信、およびソーシャルネットワーキングサービスを提供しています。また、ゲームのインストールと自動更新、フレンドリストやグループなどのコミュニティ機能、クラウドバックアップ、ゲーム内のボイスチャットおよびテキストチャット機能も提供しています。

Steam クライアントはオープンソースソフトウェアではないため、各ユーザはソフトウェアの使用の前に Steam 利用規約を受諾し、その後典型的には、Steam クライアントを通じてアクセスされる各タイトルのソフトウェア利用許諾契約または サービス利用規約を受諾しなくてはなりません。

Valve Corporation は、クローズドソースのゲームをオープンソースの OS 上で実行できるようにするために、CodeWeavers (Wine)[1] などのオープンソースソフトウェア組織と連携しています。

ゲームの互換性

Steam Deck の人気により、Linux 上での Steam ゲームプレイはこの数年でかなり成長してきました[2]。ゲーム開発者が Linux をサポートするインセンティブも増加してきています。ストア内では、ネイティブ Linux ゲームは SteamOS アイコンによって判別できます。Valve はネイティブサポートされていないゲームのために、Wine 上に構築され、クライアントと統合して、近年の Linux OS 上で Windows 専用ゲームのために使いやすい互換性レイヤーを提供する Proton を保守しています。安定性よりも最新版を優先するユーザは、コミュニティにより活発に保守されている Proton のフォークである Proton-GE も考慮してみてもよいでしょう。

重要
Proton はオープンソースであるためソースからビルドすることができますが、Steam クライアントによって提供されるバージョンの Proton を使用することが推奨されます[3]。Proton はCompatibility タブのプロパティを通じて、ゲームごとに有効化することができます。
ヒント
コミュニティによって保守されている ProtonDB (Wine AppDB のようなものです) は、ユーザからのフィードバックをもとに、Steam Deck / Proton や同様のエミュレーションツール使用時のゲームの互換性を監視しています。

前提条件

Steam は多くのサポートされているゲームのために 32 ビット環境を提供するので、クライアント自身は amd64 上のmultilib プロファイルを必要とします。つまり Gentoo のインストール中にプロファイルを選択するときに、no-multilib の選択肢を選んでいない必要があります。Steam を chroot 内にインストールする場合、この前提条件は無視することができます。

Steam ブラウザは 32 ビット Linux ディストリビューションではもうサポートされておらず、Steam クライアント内のストアコミュニティ、またはユーザプロファイルタブの表示時には無効化される[4]ため、利用可能なアーキテクチャは amd64 のみです。

カーネル

Steam はその開始前に、カーネルの tmpfs サポートを必要とする /dev/shm がマウントされていることを予期しています。/dev/shm はブート中に OpenRCsystemd によって自動的にマウントされるはずですが、/etc/fstab によって明示的にマウントすることもできます。

ファイル /etc/fstab
# サイズを制限するには size=1G などを opts に追加してください (最低 2G を推奨、デフォルトは 50%)
# 低く設定されていると、Steam やゲームが不定期にクラッシュするかもしれないことに注意してください。
 
#<fs>      <mountpoint>    <type>	<opts>		     <dump/pass>
shm        /dev/shm        tmpfs        nodev,nosuid,noexec  0 0

以下のカーネルオプションを設定する必要があります。さもないと Steam はエラーメッセージ "The futex facility returned an unexpected error code." とともに開始に失敗するかもしれません。

カーネル Steam の 32 ビット互換性のために 32 ビット time_t を許可する
General architecture-dependent options  --->
  [*] Provide system calls for 32-bit time_t Search for <code>CONFIG_COMPAT_32BIT_TIME</code> to find this item.

コントローラのサポートが欲しい場合は、ユーザレベルドライバのサポートを有効化してください。

カーネル 入力デバイスのためのユーザレベルドライバを有効化する
Device Drivers  --->
  Input device support  --->
    -*- Generic input layer (needed for keyboard, mouse, ...) Search for <code>CONFIG_INPUT</code> to find this item.
      [*] Miscellaneous devices Search for <code>CONFIG_INPUT_MISC</code> to find this item.  --->
        <*> User level driver support Search for <code>CONFIG_INPUT_UINPUT</code> to find this item.

互換性モードでの (つまり Proton を使用しての) ゲームの起動をサポートするためには、user namespace サポートを有効化してください:

カーネル User namespace を有効化する
General setup --->
    [*] Namespaces support Search for <code>CONFIG_NAMESPACES</code> to find this item. --->
        [*] User namespace Search for <code>CONFIG_USER_NS</code> to find this item.

インストール

Steam インストーラは、Steam クライアントをダウンロードしてユーザのホームディレクトリにインストールします。このため、Portage は Steam クライアントの更新や、それによってインストールされるソフトウェアを管理することができません。Steam クライアントは単独でソフトウェアのインストールとアップデートを管理する責任を持ちます。

重要
このページ全体を通して、手順では Steam インストール先ディレクトリとして典型的な ~/.local/share/Steam を使用しています。

Emerge (推奨)

steam-launcher ebuild は steam-overlay リポジトリから入手することができ、これは Steam クライアントと Steam ベースのゲームのための Gentoo のメインのリポジトリです。steam-overlay リポジトリは手動で、または eselect-repository のようなリポジトリ管理ツールを使用して、追加することができます。

app-eselect/eselect-repositorydev-vcs/git をインストールしてください:

root #emerge --ask --noreplace app-eselect/eselect-repository dev-vcs/git

Steam リポジトリを追加してください:

root #eselect repository enable steam-overlay

そしてこのリポジトリのみを emaint で同期してください:

root #emaint sync -r steam-overlay

または

root #emerge --sync

Steam に組み込まれた Proton ランタイムのおかげで、ほとんどの依存関係の 32 ビットバイナリは Steam 自体のインストールに含まれています。一部のシステム依存は含まれていませんが、Portage がそれらについて催促するはずです。これらのパッケージは abi_x86_32 USE フラグを有効化して /etc/portage/package.use/steam に追加すべきです。必要な変更には以下が含まれます:

ファイル /etc/portage/package.use/steam
x11-libs/libX11  abi_x86_32
x11-libs/libXau  abi_x86_32
x11-libs/libxcb  abi_x86_32
x11-libs/libXdmcp  abi_x86_32
virtual/opengl  abi_x86_32
media-libs/mesa  abi_x86_32
dev-libs/expat  abi_x86_32
media-libs/libglvnd  abi_x86_32
sys-libs/zlib  abi_x86_32
x11-libs/libdrm  abi_x86_32
x11-libs/libxshmfence  abi_x86_32
x11-libs/libXext  abi_x86_32
x11-libs/libXxf86vm  abi_x86_32
x11-libs/libXfixes  abi_x86_32
app-arch/zstd  abi_x86_32
sys-devel/llvm  abi_x86_32
x11-libs/libXrandr  abi_x86_32
x11-libs/libXrender  abi_x86_32
dev-libs/libffi  abi_x86_32
sys-libs/ncurses  abi_x86_32
dev-libs/libxml2  abi_x86_32
dev-libs/icu  abi_x86_32
sys-libs/gpm  abi_x86_32
virtual/libelf  abi_x86_32
dev-libs/elfutils  abi_x86_32
app-arch/bzip2  abi_x86_32
dev-libs/nspr  abi_x86_32
dev-libs/nss  abi_x86_32
net-libs/libndp  abi_x86_32
x11-libs/extest abi_x86_32
dev-libs/libevdev abi_x86_32
dev-libs/wayland abi_x86_32
virtual/rust abi_x86_32
dev-lang/rust-bin abi_x86_32
x11-libs/libpciaccess abi_x86_32
sys-devel/clang abi_x86_32
media-libs/fontconfig abi_x86_32
sys-libs/libudev-compat abi_x86_32
media-libs/libpulse abi_x86_32
media-libs/libsndfile abi_x86_32
net-libs/libasyncns abi_x86_32
sys-apps/dbus abi_x86_32
dev-libs/glib abi_x86_32
dev-libs/libpcre2 abi_x86_32
sys-apps/util-linux abi_x86_32
media-libs/flac abi_x86_32
media-libs/libogg abi_x86_32
media-libs/libvorbis abi_x86_32
media-libs/opus abi_x86_32
media-sound/lame abi_x86_32
media-sound/mpg123-base abi_x86_32
media-libs/freetype abi_x86_32
media-libs/libpng abi_x86_32
virtual/libintl abi_x86_32
virtual/libudev abi_x86_32
sys-apps/systemd-utils abi_x86_32
sys-libs/libcap abi_x86_32
sys-libs/pam abi_x86_32
virtual/libiconv abi_x86_32
x11-libs/xcb-util-keysyms abi_x86_32

steam オーバーレイを package.accept_keywords に追加してください:

ファイル /etc/portage/package.accept_keywords/steam
*/*::steam-overlay
games-util/game-device-udev-rules
sys-libs/libudev-compat

そうしたら、/var/db/repos/steam-overlay/licenses/ValveSteamLicense に置かれている Steam のライセンス条項を読み、同意する場合はそれを portage に追加してください:

ファイル /etc/portage/package.license/steam
games-util/steam-launcher ValveSteamLicense

このオーバーレイは Steam ランタイムをデフォルトで有効化します。Gentoo パッケージのみに依存したい場合は、steamruntime USE フラグを無効化してください。インストールされているネイティブ Linux ゲームを走査して、それらが必要とする追加の Gentoo パッケージを見つけるために、後で esteam ユーティリティを使用してください。Gentoo パッケージはランタイムのすべてを網羅していないので、一部のゲームが動作しないかもしれないことに注意してください。

リポジトリが追加されたら、steam-launcher ebuild をインストールしてください:

root #emerge --ask games-util/steam-launcher

トラブルシューティング

ncursesgpm の循環依存のために Steam の emerge に失敗する場合は、次を試してみてください:

root #USE="-gpm" emerge --ask --oneshot sys-libs/ncurses
root #emerge --ask games-util/steam-launcher
root #emerge --ask --oneshot sys-libs/ncurses gpm

sys-apps/systemd-utilssys-fs/eudev による soft block のために Steam の emerge に失敗する場合は、次を試してみてください:

root #emerge --ask --oneshot systemd-utils

Flatpak

Steam をインストールするためのシンプルで、手っ取り早く、クリーンな (つまり 32 ビット依存をコンパイルする必要がない) 方法は、FlathubFlatpak パッケージ com.valvesoftware.Steam を使用する (ゲームコントローラのために必要な udev ルールもインストールする) 方法です:

root #USE="X" emerge --ask sys-apps/flatpak
root #emerge --ask games-util/game-device-udev-rules
メモ
Flatpak で説明されているように、アプリケーションアイコンが GUI メニューに現れるようにするためにはシステムの再起動が必要です。

加えて、下の Flapak の最初のコマンドが、以下のディレクトリについてのエラーを返すことがあるかもしれません:

/var/lib/flatpak/exports/share

/home/user/.local/share/flatpak/exports/share

これらは「XDG_DATA_DIRS 環境変数によって設定される検索パス内にないため、Flatpak によってインストールされたアプリケーションはセッションが再起動されるまでデスクトップに現れないことがあります」。

ディレクトリを作成して、XDG_DATA_DIRS に追加するだけでは動作しません。
user $flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
user $flatpak install flathub com.valvesoftware.Steam
user $flatpak run com.valvesoftware.Steam

Steam は自身で更新を行い、そのファイルを ~/.var/app/com.valvesoftware.Steam ディレクトリ内にインストールします。

手動

警告
Steam を手動でインストールすることは、様々な修正が自動で適用されないため、推奨されません[5]。代わりに上に示した通り、emerge を通じて Steam をインストールすることを検討してください!

依存関係

メモ
以下の依存は、時代遅れになっているために検証を必要とするかもしれません。一部の依存は Steam ランタイムにバンドルされていることがあり、その場合そのシステムライブラリは使用されないでしょう。

Steam に必要な依存の集合を次のように作成してください:

ファイル /etc/portage/sets/steam
# 必須!
dev-libs/glib:2
dev-libs/libgcrypt
dev-libs/nspr
dev-libs/nss
gnome-base/gconf
gnome-extra/zenity
media-libs/alsa-lib
media-libs/fontconfig
media-libs/freetype:2
media-libs/libjpeg-turbo
media-libs/libogg
media-libs/libpng-compat:1.2
media-libs/libsdl
media-libs/libtheora
media-libs/libvorbis
media-libs/openal
net-misc/curl
net-print/cups
sys-apps/dbus
virtual/libusb:1
virtual/opengl
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/pango
x11-libs/pixman
 
# 省略可能
media-sound/pulseaudio
net-misc/networkmanager
x11-misc/xdg-user-dirs

そして次を実行してください:

root #emerge --ask --noreplace @steam
警告
Steam を削除する目的で emerge --unmerge @steam を実行しないでください。システムが使用不可能になる場合があります。このインストール方法を使用した場合は、代わりに emerge --ask --depclean @steam を使用してください。

USE フラグ

amd64 下で Steam の依存のために必要な USE フラグを有効化するには、次のファイルを追加してください:

ファイル /etc/portage/package.use/steam
app-arch/bzip2 abi_x86_32
app-arch/zstd abi_x86_32
dev-db/sqlite abi_x86_32
dev-libs/atk abi_x86_32
dev-libs/expat abi_x86_32
dev-libs/fribidi abi_x86_32
dev-libs/glib abi_x86_32
dev-libs/gmp abi_x86_32
dev-libs/icu abi_x86_32
dev-libs/libcroco abi_x86_32
dev-libs/libffi abi_x86_32
dev-libs/libpcre abi_x86_32
dev-libs/libpthread-stubs abi_x86_32
dev-libs/libtasn1 abi_x86_32
dev-libs/libunistring abi_x86_32
dev-libs/libxml2 abi_x86_32
dev-libs/lzo abi_x86_32
dev-libs/nettle abi_x86_32
dev-libs/nspr abi_x86_32
dev-libs/nss abi_x86_32
dev-libs/openssl abi_x86_32
dev-libs/wayland abi_x86_32
dev-util/pkgconfig abi_x86_32
dev-util/wayland-scanner abi_x86_32
gnome-base/librsvg abi_x86_32
media-gfx/graphite2 abi_x86_32
media-libs/fontconfig abi_x86_32
media-libs/freetype abi_x86_32
media-libs/harfbuzz abi_x86_32
media-libs/libpng abi_x86_32
media-libs/mesa abi_x86_32
media-libs/openal abi_x86_32
media-libs/tiff abi_x86_32
net-dns/libidn2 abi_x86_32
net-libs/gnutls abi_x86_32
net-misc/curl abi_x86_32
net-nds/openldap abi_x86_32
net-print/cups abi_x86_32
sys-apps/attr abi_x86_32
sys-apps/dbus abi_x86_32
sys-apps/util-linux abi_x86_32
sys-devel/gettext abi_x86_32
sys-devel/llvm abi_x86_32
sys-fs/udev abi_x86_32
sys-libs/binutils-libs abi_x86_32
sys-libs/gpm abi_x86_32
sys-libs/ncurses abi_x86_32
sys-libs/readline abi_x86_32
sys-libs/zlib abi_x86_32
virtual/libffi abi_x86_32
virtual/libiconv abi_x86_32
virtual/libudev abi_x86_32
virtual/opengl abi_x86_32
virtual/pkgconfig abi_x86_32
x11-libs/cairo abi_x86_32
x11-libs/gdk-pixbuf abi_x86_32
x11-libs/gtk+:2 abi_x86_32
x11-libs/libX11 abi_x86_32
x11-libs/libXScrnSaver abi_x86_32
x11-libs/libXau abi_x86_32
x11-libs/libXcomposite abi_x86_32
x11-libs/libXcursor abi_x86_32
x11-libs/libXdamage abi_x86_32
x11-libs/libXdmcp abi_x86_32
x11-libs/libXext abi_x86_32
x11-libs/libXfixes abi_x86_32
x11-libs/libXft abi_x86_32
x11-libs/libXi abi_x86_32
x11-libs/libXinerama abi_x86_32
x11-libs/libXrandr abi_x86_32
x11-libs/libXrender abi_x86_32
x11-libs/libXxf86vm abi_x86_32
x11-libs/libdrm abi_x86_32
x11-libs/libpciaccess abi_x86_32
x11-libs/libxcb abi_x86_32
x11-libs/libxshmfence abi_x86_32
x11-libs/pango abi_x86_32
x11-libs/pixman abi_x86_32
x11-proto/damageproto abi_x86_32
x11-proto/dri2proto abi_x86_32
x11-proto/dri3proto abi_x86_32
x11-proto/fixesproto abi_x86_32
x11-proto/glproto abi_x86_32
x11-proto/inputproto abi_x86_32
x11-proto/kbproto abi_x86_32
x11-proto/presentproto abi_x86_32
x11-proto/xcb-proto abi_x86_32
x11-proto/xextproto abi_x86_32
x11-proto/xf86bigfontproto abi_x86_32
x11-proto/xf86driproto abi_x86_32
x11-proto/xf86vidmodeproto abi_x86_32
x11-proto/xproto abi_x86_32
 
# プロプライエタリの Nvidia ドライバを使用している場合は、これらも含めてください
media-libs/libglvnd abi_x86_32
x11-drivers/nvidia-drivers abi_x86_32

システムを更新してください:

root #emerge --ask --changed-use --deep @world
メモ
ユーザは、gpm と ncurses による循環依存に言及するエラーを受け取るかもしれません。その場合は、sys-libs/ncurses-gpm を追加して、@world 集合をもう一度更新してください。

デフォルトのインストーラ

Steam インストーラを取得して展開してください:

user $wget https://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.78.tar.gz
user $tar -xvzpf steam_1.0.0.*.tar.gz

Steam インストーラを実行してください:

user $cd steam-launcher
user $./steam
メモ
./steam の実行後に、libGL エラーが現れるかもしれません。解決策については Steam/Client troubleshooting を参照してください。

クライアントがクラッシュする場合は、次を実行してみてください:

user $./steam -textclient

クライアントに更新がある場合は毎回、-textclient オプション付きで Steam を実行する必要があるかもしれません。

上の Steam インストーラスクリプトをインストールしてください:

root #cp steam /usr/local/bin

Steam は次で開始することができます:

user $steam

代替のインストーラ

以下のインストール方法は、代替の Steam インストーラスクリプトを使用する点を除き、デフォルトのインストーラを使うインストール方法とほぼ同じです。

Steam インストーラを取得して、必要なファイルを展開してください:

user $wget https://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.78.tar.gz
user $tar -xvzf steam_1.0.0.*.tar.gz steam-launcher/bootstraplinux_ubuntu12_32.tar.xz
user $tar -xvzf steam_1.0.0.*.tar.gz steam-launcher/steam.desktop

Julian Ospald (hasufell) の Steam インストーラスクリプトを取得して、実行してください:

user $cd steam-launcher
user $wget https://gist.githubusercontent.com/hasufell/d02a93eccbe35be7a803/raw/987ea287dc81a60d2eb5fa1bb188eae0a5f1049f/steam
user $chmod +x steam
user $./steam

インストーラスクリプトを Dash で実行すると壊れたシンボリックリンクが作成される場合は、代わりに Bash でインストーラスクリプトを実行してください:

user $bash ./steam

Chroot

Steam は amd64 上の 64 ビット multilib chroot 内で実行することができます。chroot を使用する主な利点は、Steam とその依存がルートファイルシステムから分離されることです。Steam ブラウザは 32 ビット Linux ディストリビューション上でもうサポートされていないため、64 ビット chroot 環境のみが利用できます。[4]

chroot ディレクトリを作成してください:

root #mkdir /usr/local/steam64
root #cd /usr/local/steam64

stage3 tarball を取得して展開してください。

root #wget https://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-openrc/stage3-amd64-openrc-20231022T164658Z.tar.xz
root #tar xpvf stage3*.tar.xz --xattrs-include='*.*' --numeric-owner

DNS 情報をコピーして、全員から読めるようにしてください:

root #cp -L /etc/resolv.conf etc
root #chmod a+r etc/resolv.conf

ebuild リポジトリのディレクトリを作成してください:

root #mkdir var/db/repos/gentoo

必要なファイルシステムをマウントしてください:

root #mount -t proc /proc proc
root #mount -R /sys sys
root #mount -R /dev dev
root #mount -R /run run
root #mount -R /var/db/repos/gentoo var/db/repos/gentoo

linux64 で chroot して、環境を更新してください。linux64 の使用は amd64 上では必須ではなく、一貫性のために使用しているだけです。

root #linux64 chroot .
root #env-update && source /etc/profile
root #export PS1="(chroot) $PS1"

これで chroot が更新され設定されたはずです。少なくともタイムゾーンを設定して media-libs/alsa-lib をインストールすることで音声サポートを有効化することが推奨されます。

ローカルユーザと同じ UID (通常は 1000) を持つ Steam ユーザを作成してください。ローカルの UID は chroot の外でローカルユーザとして id -u を実行することで判断できます。同じ UID を使用することで、chroot の中から X サーバへのアクセスを許可するプロセスが簡略化されるでしょう。

(chroot) root #useradd -u <UID> -m -G audio,video steam

上のインストール方法のいずれかを使って Steam をインストールしてください。完了したら chroot から抜けてください:

(chroot) root #exit

chroot ディレクトリをアンマウントしてください:

root #umount -l proc
root #umount -l sys
root #umount -l dev
root #umount -l run
root #umount -l var/db/repos/gentoo

chroot 内から X サーバへのアクセスを許可するために、xhost をインストールしてください:

root #emerge --ask --noreplace x11-apps/xhost

ログアウトして、再ログインしてください。これにより、ディスプレイマネージャまたは xinit/etc/X11/xinit/xinitrc.d/00-xhost を処理させ、ローカル UID から X サーバへのすべてのローカル接続を許可するでしょう。Steam の UID がローカルの UID と異なっていると、これは機能しないでしょう。先に書いた通り Steam ユーザを作成するときに同じ UID を設定するか、Steam ユーザがすでに存在する場合は usermod -u <UID> steam でローカルの UID にマッチするように Steam UID を変更してください。

代わりに、任意のローカル UID から X サーバへのすべてのローカル接続を許可するために、xhost +local: を実行することもできます。これは任意のユーザが X サーバにアクセスできるようになるため、潜在的なセキュリティリスクとなります。アクセスを失効させるには xhost -local: を実行してください。

次に以下のような、chroot をセットアップして、Steam ユーザに変更して、Steam を起動する、ラッパスクリプトを作成してください。このラッパスクリプトは chroot_bitschroot_dir の 2 つのユーザ定義変数を持っています。chroot_bits 変数は 64 ビット chroot のためには 64 に設定する必要があります。chroot_dir 変数は chroot ディレクトリの場所に設定すべきです。

ファイル /usr/local/bin/steam-chroot
#!/bin/sh
 
# steam chroot ビット数
chroot_bits="64"
 
# steam chroot ディレクトリ
chroot_dir="/usr/local/steam64/"
 
# chroot ビット数が妥当か確認する
if [ "${chroot_bits}" = "32" ] ; then
  chroot_arch="linux32"
elif [ "${chroot_bits}" = "64" ] ; then
  chroot_arch="linux64"
else
  printf "Invalid chroot bits value '%s'. Permitted values are '32' and '64'.\n" "${chroot_bits}"
  exit 1
fi
 
# chroot ディレクトリが存在するか確認する
if [ ! -d "${chroot_dir}" ] ; then
  printf "The chroot directory '%s' does not exist!\n" "${chroot_dir}"
  exit 1
fi
 
# chroot ディレクトリをマウントする
mount -v -t proc /proc "${chroot_dir}proc"
mount -vR /sys "${chroot_dir}sys"
mount --make-rslave "${chroot_dir}sys"
mount -vR /dev "${chroot_dir}dev"
mount --make-rslave "${chroot_dir}dev"
mount -vR /run "${chroot_dir}run"
mount --make-rslave "${chroot_dir}run"
mount -vR /var/db/repos/gentoo "${chroot_dir}var/db/repos/gentoo"
# systemd サポートのためには --make-rslave フラグが必要です
 
# chroot して、ユーザを変更して、steam を開始する
"${chroot_arch}" chroot "${chroot_dir}" su -c 'steam' steam
 
# steam が終了したら chroot ディレクトリをアンマウントする
umount -vl "${chroot_dir}proc"
umount -vl "${chroot_dir}sys"
umount -vl "${chroot_dir}dev"
umount -vl "${chroot_dir}run"
umount -vl "${chroot_dir}var/db/repos/gentoo"
メモ
ラッパスクリプトは、ホスト上で実行中の場合は Steam が D-Bus に接続できるように /run をバインドマウントします。Steam は D-Bus がインストールされていなくても動作しますが、Steam にバンドルされた dev-libs/libappindicator に関連する致命的ではないエラーが発生するでしょう。Steam はまた、Steam ログインダイアログでパスワードを記憶するオプションが選択されている場合にも D-Bus を必要とします。さらなる詳細についてはクライアントのトラブルシューティングを参照してください。

ラッパスクリプトを実行可能にしてください:

root #chmod +x /usr/local/bin/steam-chroot

Steam を開始するには、ラッパスクリプトを root として実行してください:

root #steam-chroot

Easy Anti Cheat サポート

glibc 2.36 以降は DT_HASH がデフォルトで有効化されていないので、EAC ゲームを動作させるためには以下を適用する必要があります:

ファイル /etc/portage/package.use/glibc
sys-libs/glibc hash-sysv-compat
root #emerge -1 sys-libs/glibc

削除

手動でインストールした場合の削除

Steam の依存を削除してください:

root #emerge --deselect @steam
root #emerge --ask --depclean

Steam 実行可能ファイルと Portage の設定を削除してください:

root #rm /usr/bin/steam
root #rm /etc/portage/sets/steam
root #rm -rf /etc/portage/package.*/steam

ユーザアカウントから Steam ディレクトリを削除してください:

user $rm -rf ~/.local/share/Steam

外部リポジトリからインストールした場合の削除

steam-launcher ebuild を削除してください:

root #emerge --ask --depclean --verbose games-util/steam-launcher

トラブルシューティング

ゲーム関連のよくある問題の多くは、sys-libs/glibc パッケージで stack-realign USE フラグを有効化して、@world 集合を再 emerge することで解決されます。トラブルシューティングの最初の実施項目として、この変更を実施するのがよいでしょう。

Steam およびゲームに特化したいくつかのトラブルシューティングが Steam/Client troubleshooting および Steam/Games troubleshooting サブページ上で利用可能です。

proton を通してゲームをプレイしたい場合は、media-libs/mesa パッケージに vulkan USE フラグを追加するのを忘れないでください。

助けを求めるのにベストな場所は Gentoo Forums の Steam スレッドです。問題への解決策が他の人たちに確認されたら、それをこのページか関連するトラブルシューティングサブページに追加してください。明らかに間違っていない限り議論なしに内容を削除しないてください。

関連項目

  • Games — Gentooの主要なebuildリポジトリにある、様々なゲーム(特にオープンソースなもの)に関するランディングページ
  • Steam Controller — a game controller developed by Valve.
  • Steam/Client troubleshooting — provides troubleshooting details for the Steam client on Linux systems.
  • Steam/Games troubleshooting — provides troubleshooting details for specific games running via Steam.

外部資料

参照