Steam (日本語)
| 概要 |
|---|
| Steam は Valve Software によるコンテンツ配信システムです。Source Engine で作られたゲーム (Half-Life 2, Counter-Strike など) をプレイするためのプラットフォームとして知られています。今日では多くのデベロッパからゲームが提供されています。 |
| 関連項目 |
| Wine (日本語) |
| Steam/Game-specific troubleshooting |
Wikipedia より:
- Steam は、コンピュータゲームのダウンロード販売、デジタル著作権管理、マルチプレイヤーゲームのサポート、ユーザの交流補助を目的としたプラットフォームである。開発および運営はバルブ・ソフトウェアによって行なわれている。
Contents |
ネイティブクライアント
Steam は公式リポジトリにある steam パッケージからインストールできます。64ビット環境を使っている場合は、最初に multilib リポジトリを有効にしてください。
Steam はこのディストリビューションをサポートしていません。そのため正しく機能させるためにユーザーが以下のようなフィックスを施す必要があります:
- Steam は主として Arial フォントを使っています。使える Arial フォントには ttf-liberation や、Arial を含む公式の Microsoft フォントパッケージがあります: ttf-microsoft-arial, ttf-ms-win8,ttf-office-2007-fonts, ttf-win7-fonts, ttf-ms-fonts。詳しくは MS Fonts (日本語) を見て下さい。アジア言語を正しく表示するには wqy-zenhei が必要です。
- mesa ドライバーを使う場合ほとんどのゲームは libtxc_dxtn や lib32-libtxc_dxtn を必要とするので、これらのパッケージをインストールすることを推奨します。
- ゲームによってはあなたのシステムに欠けている依存関係を持っています。ゲームが起動しない場合 (基本的にエラーメッセージは表示されません) Steam/Game-specific troubleshooting にリストアップされているライブラリが全てインストールされているか確認してください。
トラブルシューティング
KDE での GUI 問題
- Valve GitHub issue 594
KDE を使うと GUI に問題(ラグやクラッシュなど)がおこる場合、KDE のシステム設定から Workspace Appearance and Behaviour > Desktop Effects > Advanced' とたどり、"Compositing type" を "XRender" から "OpenGL" に変更してください。
ウィンドウを閉じても Steam が終了しない
- Valve GitHub issue 1025
トレイアイコンの閉じるボタンを機能させるには環境変数 STEAM_FRAME_FORCE_CLOSE を 1 に設定してください。Steam を起動するときに次のコマンドを使っても可能です:
$ STEAM_FRAME_FORCE_CLOSE=1 steam
64ビット環境で Flash が動作しない
- Steam Support article
まず lib32-flashplugin がインストールされていることを確認してください。これだけで動かないときは、ローカル Steam フラッシュプラグインフォルダを作成します:
$ mkdir ~/.steam/bin32/plugins/
そしてシンボリックリンクをグローバル lib32 フラッシュプラグインファイルに張って下さい:
$ ln -s /usr/lib32/mozilla/plugins/libflashplayer.so ~/.steam/bin32/plugins/
文字が化けたり表示されない
Windows 用の Steam Support instructions が Linux でも上手くいくようです: SteamFonts.zip をダウンロードしてインストール (~/.fonts/ にコピー) してください。
ゲームのエラー: テキスチャーが真っ黒/S3TC サポートがない
以下の依存パッケージをインストールしてください:
ゲームで画面が消える (ただし音は鳴る)
Steam の stdout/stderr に Error が出ていないか確認してください、参考までに必要なパッケージをあげます:
- lib32-intel-dri (not confirmed as absolutely necessary)
コンソールから primusrun steam を使って Steam を起動してください
KDE を使っている場合、Steam を起動する前にデスクトップ効果を全て無効にしてください (Alt+Shift+F12)。
ゲームの起動時に SetLocale('en_US.UTF-8') が失敗する
お好きなエディタで /etc/locale.gen を編集して en_US.UTF-8 UTF-8 という行をアンコメントしてください。そして # locale-gen を実行して下さい。
64ビット環境の NVIDIA ドライバーでダイレクトレンダリングができないと Steam がエラーを出す
/etc/pacman.conf で [multilib] が有効になっているか確認してください。
以下の依存パッケージをインストールしてください:
Steam は32ビットアプリケーションなので、実行するために32ビットの nvidia GL ライブラリが必要です。このパッケージは適切な32ビット libGL ライブラリとシンボリックリンクを /usr/lib32 にインストールして既存の mesa のシンボリックリンクを置き換えます。
Bumblebee/Primus などのカスタムコマンドでゲームを起動する
幸いにも Steam はカスタムコマンドを使ったゲーム起動のサポートを追加しました。これをするには、ライブラリページから、選択したゲームを右クリックして、プロパティをクリック、そして起動設定をしてください。Steam は %command% タグを実際に実行するコマンドに置き換えます。例えば、Team Fortress 2 を1920x1080の解像度で primusrun を使って起動するには、次のように入力します:
primusrun %command% -w 1920 -h 1080
Linux-ck カーネルを動かしている場合、schedtool を使ってゲームを SCHED_ISO (低遅延、CPU 負担を減らす) で起動することで遅延を減らしたりパフォーマンスを向上させたりすることができるかもしれません:
# schedtool -I -e %command% other arguments
ゲームを起動する際にスタンドアロンのコンポジタを終了する
%command% スイッチを利用することで、ゲームや環境によってはラグやティアリングの原因となるスタンドアロンのコンポジタ (Xcompmgr や Compton) を終了することができ、ゲームを終えた後に再起動できます。ゲームの起動設定に次を加えて下さい。
killall compton && %command%; nohup compton &
上のコマンドの compton はあなたが使っているコンポジタに置き換えてください。もちろん、オプションを %command% や compton に加えることもできます。
Steam will latch on to any processes launched after %command% and your Steam status will show as in game. So in this example, we run the compositor through nohup so it is not attached to Steam (it will keep running if you close Steam) and follow it with an ampersand so that the line of commands ends, clearing your Steam status.
ネイティブランタイムを使う
デフォルトで、Steam は利用するライブラリを全てコピーして Steam 自体にパッケージ化しており、それによってゲームが問題なく動作するようになっています。これは resource hog となる可能性があり、パッケージするライブラリが古くて重要な機能が欠けているかもしれません (特に、Steam が使っている OpenAL には HRTF サポートがありません)。あなた自身のシステムライブラリを使うには、次のコマンドで Steam を実行してください:
STEAM_RUNTIME=0 steam
ただし、Steam が利用するライブラリが存在しない場合、正しく起動できなくなってしまいます。以下のコマンドを実行すると簡単に足りないライブラリを探すことができます:
cd ~/.local/share/Steam/ubuntu12_32
LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ldd $(file *|sed '/ELF/!d;s/:.*//g')|grep 'not found'|sort|uniq
ライブラリは32ビットでなくてはならないことに注意してください。つまり x86_64 環境を使っている場合 NetworkManager などを AUR からダウンロードする必要があるかもしれないということです。
ライブラリをインストールしたら、STEAM_RUNTIME=0 steam で steam を実行して steam が自身のライブラリをロードしていないことを確認してください:
cat /proc/`pidof steam`/maps|sed '/\.local/!d;s/.* //g'|sort|uniq
Steam のスキン
インターフェースファイルをスキンディレクトリにコピーしたりファイルを修正することで Steam のインターフェースを完全にカスタマイズすることができます。
Steam スキンマネージャ
Steam にスキンを適用するプロセスは AUR の steam-skin-manager を使うことで単純化できます。このパッケージには Steam ランチャーの修正版も含まれておりウィンドウマネージャが Steam ウィンドウに枠を描けるようになっています。
As a result, skins for Steam will come in two flavors, one with and one without window buttons. The skin manager will prompt you whether you use the hacked version or not, and will automatically apply the theme corresponding to your GTK+ theme if it is found. You can of course still apply another skin if you want.
The package ships with two themes for the default Ubuntu themes, Ambiance and Radiance. A Faience theme is under development and already has its own package on the AUR steam-skin-faience-git.
Wine で Steam を動かす
公式レポジトリから wine をインストールしこのページの指示に従って下さい。
必要なマイクロソフトフォント ttf-microsoft-tahoma と ttf-ms-fonts を AUR か winetricks-svn からインストールします。
すでに Wine 環境 (~/.wine) があるのならば、それを削除して新しい環境を作ることで問題を避けるべきです(新しい環境に保持したいファイルを移動することもできます)。
インストール
Steam インストーラを steampowered.com からダウンロードして起動します。.exe ファイルではないので msiexec で起動してください:
$ msiexec /i SteamInstall.msi
Steamを起動
x86 環境:
$ wine ~/.wine/drive_c/Program\ Files/Steam/Steam.exe
x86_64 環境:
$ wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Steam/Steam.exe
もしくは、これでも可能です:
$ wine "C:\\Program Files\\Steam\\steam.exe"
エイリアスを作って steam を簡単に起動できるようにして(そしてそれをシェルの rc ファイルに記述する)もよいかもしれません、例えば:
alias steam='wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Steam/Steam.exe >/dev/null 2>&1 &'
Tips
パフォーマンス
シェルのrcファイルに次のように記述することで wine のデバッグ出力を無効にできます:
export WINEDEBUG=-all
もしくは steam エイリアスに付け加えることで steam だけ無効化:
alias steam='WINEDEBUG=-all wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Steam/Steam.exe >/dev/null 2>&1 &'
また、Source のゲームはページプールメモリ量によってオーディオが異なり、WINE はデフォルトでは値を設定しません。設定するには:
$ wine reg add "HKLM\\System\\CurrentControlSet\\Control\\Session Manager\\Memory Management\\" /v PagedPoolSize /t REG_DWORD /d 402653184 /f
アプリケーション起動設定
"プロパティ" の "起動設定" から設定します。例えば:
-console -dxlevel 90 -width 1280 -height 1024
-
console
- アプリケーションの設定を変更できるアプリケーション内コンソールを有効にします。
-
dxlevel
- アプリケーションの DirextX のレベルを設定します、例えば 90 は DirectX バージョン 9.0 です。クラッシュを防ぐためビデオカードにあった DirectX のバージョンを使って下さい。公式 Valve Software Wiki http://developer.valvesoftware.com/wiki/DirectX_Versions に詳しく書かれています。
-
widthとheight
- スクリーン解像度を設定します。アプリケーションからグラフィック設定が保存されず、起動毎にデフォルトの解像度に戻ることがあります。
全ての起動オプションのリストは http://developer.valvesoftware.com/wiki/Launch_options を参照してください。
すでにインストール済みの Steam を利用する
Windows とドライブを共有していて、どこかに Steam をインストールしている場合、Steam ディレクトリから ~/.wine/drive_c/Program Files/Steam/ へシンボリックリンクを作成できます。 However, be sure to do all the previous steps in this wiki. Confirm Steam launches and logs into your account, then do this:
$ cd ~/.wine/drive_c/Program\ Files/ $ mv Steam/ Steam.backup/ (or you can just delete the directory) $ ln -s /mnt/windows_partition/Program\ Files/Steam/
Firefox, Chrome などの Steam リンク
To make steam:// urls in your browser connect with Steam in Wine, there are several things you can do. One involves making steam url-handler keys in gconf, another involves making protocol files for KDE, others involve tinkering with desktop files or the Local State file for chromium. These seem to only work in firefox or under certain desktop configurations. One way to do it that works more globally is using mimeo, a tool made by Xyne (an Arch TU) which follows. For another working and less invasive (but firefox-only) way, see the first post here .
- Make
/usr/bin/steamwith your favorite editor and paste:
#!/bin/sh # # Steam wrapper script # exec wine "c:\\program files\\steam\\steam.exe" "$@"
- Make it executable:
# chmod +x /usr/bin/steam
- Install mimeo and xdg-utils-mimeo from AUR. You will need to replace the existing xdg-utils if installed. In XFCE, you will also need xorg-utils.
- Make
~/.config/mimeo.confwith your favorite editor and paste:
/usr/bin/steam %u ^steam://
- Lastly, open
/usr/bin/xdg-openin your favorite editor. Go to thedetectDE()section and change it to look as follows:
detectDE()
{
#if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde;
#elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
#elif $(dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1) ; then DE=gnome;
#elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
#elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde;
#else DE=""
#fi
DE=""
}
- Restart the browser and you should be good to go. In chromium, you cannot enter a
steam://link in the url box like you can with firefox. The forum link above has asteam://open/friendslink to try if needed.
文字が表示されない問題
もし steam を起動した時、文字が表示されない場合、-no-dwrite パラメータをつけて steam を起動してください。詳しくはこの問題についてのスレッドを見て下さい。
wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Steam/Steam.exe -no-dwrite