コンテンツにスキップ

「Wine」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
インストール: 誤字修正(管理べき->管理するべき)
 
(3人の利用者による、間の16版が非表示)
1行目: 1行目:
[[Category:エミュレーション]]
[[Category:エミュレーション]]
[[Category:ゲーム]]
[[Category:ゲーム]]
[[cs:Wine]]
[[de:Wine]]
[[de:Wine]]
[[en:Wine]]
[[en:Wine]]
[[es:Wine]]
[[fr:Wine]]
[[fr:Wine]]
[[it:Wine]]
[[ru:Wine]]
[[ru:Wine]]
[[zh-hans:Wine]]
[[zh-hans:Wine]]
[[zh-hant:Wine]]
{{Related articles start}}
{{Related articles start}}
{{Related|CrossOver}}
{{Related|CrossOver}}
15行目: 11行目:
{{Related|Wine パッケージガイドライン}}
{{Related|Wine パッケージガイドライン}}
{{Related articles end}}
{{Related articles end}}
[[Wikipedia:ja:Wine|Wine]] は Microsoft Windows のアプリケーションを UNIX ライクな OS で動かすための互換レイヤーです。Wine で実行されるプログラムは、エミュレータパフォーマンス/メモリのペナルティなしに、ネイティブプログラムと同じように機能します。
[[Wikipedia:ja:Wine|Wine]] はMicrosoft Windows のアプリケーションを UNIX ライクな OS で動かすための ''互換レイヤー'' です。Wine で実行されるプログラムは、エミュレータにあるようなパフォーマンスメモリのペナルティなしに、ネイティブプログラムと同じように機能します。


{{Warning|
{{Warning|
* Wine はシステムから分離されていません。
* Wine はシステムから分離されていません。
* ユーザーアカウントでファイルまたはリソースにアクセスできる場合は、Wine で実行されているプログラムもアクセスできます。[[#Running Wine under a separate user account]] と [[セキュリティ#アプリケーションのサンドボックス化]] を参照してください。
* ユーザーアカウントでファイルまたはリソースにアクセスできる場合は、Wine で実行されているプログラムもそれらにアクセスできます。[[#Wine を別のユーザアカウントで実行する]] と [[セキュリティ#アプリケーションのサンドボックス化]] を参照してください。
* Wine はマルウェアを実行することもできます([https://wiki.winehq.org/FAQ#Is_Wine_malware-compatible.3F Wine FAQ on Malware compatibility] を参照)}}
* Wine はマルウェアを実行することもできます ([https://wiki.winehq.org/FAQ#Is_Wine_malware-compatible.3F Wine FAQ on Malware compatibility] を参照)}}


== インストール ==
== インストール ==


[[multilib]] リポジトリを有効にし、{{Pkg|wine}} (安定版) または {{Pkg|wine-staging}} (テスト版) パッケージでインストールできます。[https://wine-staging.com/ Wine Staging] は [https://www.winehq.org/ Wine] にパッチが適用されたバージョンで、安定ブランチにマージされていないバグフィックスや機能追加が含まれています。[[#グラフィクドライバ]][[#サウンド]]も見てください。
[[multilib]] リポジトリを有効にし、{{Pkg|wine}} (開発版)、{{AUR|wine-stable}} (安定版){{Pkg|wine-staging}} (テスト版) のどれかをインストールすることで、Wine を利用できます。[https://wine-staging.com/ Wine Staging] は [https://www.winehq.org/ Wine] にパッチが適用されたバージョンで、安定ブランチや開発ブランチにマージされていないバグフィックスや機能追加が含まれています。これらは、64 ビト Linux ライブラリのみを使用しており32 ビット Windows アプリケーショを実行するためのモード付きでビルドされてます


その他の要件については [[#グラフィックドライバ]] と [[#サウンド]] も見てください。
Internet Explorer や .NET のサポートが必要なアプリケーションを使いたい場合、それぞれ {{Pkg|wine-gecko}} と {{pkg|wine-mono}} をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、先にファイルをダウンロードしておくことで、オフラインでも作業できるようになり Wine はそれぞれの WINEPREFIX が必要とするファイルをダウンロードしなくなります。


Internet Explorer や .NET に依存しているアプリケーションを使う場合、それぞれ {{pkg|wine-gecko}} と {{pkg|wine-mono}} をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、[[システムメンテナンス#パッケージマネージャーを使用してソフトウェアをインストールする|これらのパッケージは pacman で管理]]するべきです 。
=== サードパーティ製アプリケーション ===


=== 任意の依存パッケージ ===
以下のアプリケーションは Wine コミュニティではサポートされていません。詳しくは [https://wiki.winehq.org/Third_Party_Applications Wine Wiki] を見てください。


{{Tip|一般的な依存パッケージ (特にゲーム関連) は [https://github.com/lutris/docs/blob/master/WineDependencies.md#archendeavourosmanjaroother-arch-derivatives lutris のドキュメント]にリストアップされています。}}
*{{App|[[CrossOver]]|有料・商用版の Wine。包括的なエンドユーザーサポートを提供しています。|{{AUR|crossover}}|https://www.codeweavers.com/}}


Wine には、基本的なアプリケーションでは必要ないが、サウンド、3D グラフィックス、動画再生などを提供するためにインストールする必要がある[[任意の依存パッケージ]]が多くあります。
*{{App|exe-thumbnailer|Windows の実行ファイル (.exe, .lnk, .msi, .dll) のサムネイルを生成します。|{{AUR|exe-thumbnailer}}|https://github.com/exe-thumbnailer/exe-thumbnailer}}


多くの Windows アプリケーションは 32 ビットであり、32 ビット版のライブラリが必要であることに注意してください。これらのライブラリの一部は [[AUR]] でしか入手できません。標準 (64 ビット) のライブラリは、64 ビットアプリケーションに対して、または、新しい WoW64 モード ([[#インストール]] 章のノートを参照) のある Wine バージョンを実行している場合は全てのアプリケーションに対して使用することができます。Windows 実行ファイルが 64 ビットであるかどうかは、{{man|1|file}} コマンドで確認することができます。
*{{App|Lutris|Wine のゲームから Linux ネイティブのゲーム、エミュレータまで、あらゆるゲームに対応するゲームランチャー (prefix の管理機能が存在します)。|{{Pkg|lutris}}|https://lutris.net/}}


==== グラフィックドライバ ====
*{{App|PlayOnLinux|Windows と DOS プログラムのグラフィカルマネージャです。プログラムを動かすための設定をアシストするスクリプトや、それぞれの実行ファイルにあった Wine のバージョンを(リグレッションのため)選択する機能があります。|{{Pkg|playonlinux}}|https://www.playonlinux.com/}}


グラフィックドライバの32ビットバージョンをインストールする必要があります。[[Xorg#ドライバーのインストール]] にある表の ''OpenGL (multilib)'' 列に載っているパッケージをインストールしてください。
* {{App|Proton|Compatibility tool made for [[Steam]] based on Wine and additional components. See [https://www.protondb.com/ ProtonDB] for compatibility list.|https://github.com/ValveSoftware/Proton|{{AUR|proton}}}}


Wine がターミナルウィンドウに以下のようなメッセージを出力する場合、ドライバが不適切であるか正しく設定されていないことの印です:
*{{App|PyWinery|グラフィカルでシンプルな wine-prefix マネージャ。DirectX を使うゲームやオフィススイートなどアプリケーション毎に違う設定を使ったり環境を選びたいときに便利です。|{{AUR|pywinery}}|https://github.com/ergoithz/pywinery}}


Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly
*{{App|Q4Wine|グラフィカルな wine-prefix マネージャ。[[Qt]] テーマを wine の設定に適用することで見た目を統合することができます。|{{AUR|q4wine}}|https://sourceforge.net/projects/q4wine/}}


{{Note|適切なライブラリをインストールした後は X を再起動する必要があるかもしれません。}}
* {{App|Bottles|Graphical prefix and runners manager for Wine based on GTK.|https://usebottles.com/|{{AUR|bottles}}}}


== 設定 ==
==== サウンド ====


デフォルトの状態では、Wine アプリケーションを実行する際にサウンドの問題が発生する場合があります。''winecfg'' でサウンドデバイスが1つだけ選択されていることを確認してください。
Wine の設定に使われるツール:
* [https://wiki.winehq.org/Winecfg winecfg] は Wine の GUI 設定ツールです。コンソールから動かすことができます: {{ic|$ wine winecfg}} または {{ic|1=$ WINEPREFIX=~/.some_prefix wine winecfg}}。
* {{ic|control.exe}} は Windows のコントロールパネルを Wine で模したものです。使うには {{ic|$ wine control}} で起動します。
* [https://wiki.winehq.org/FAQ#How_do_I_edit_the_Wine_registry.3F regedit] は Wine 版のレジストリエディタです。winecfg やコントロールパネルでは充分でない場合に使います。詳しくは [https://wiki.winehq.org/Useful_Registry_Keys WineHQ のレジストリキーに関する記事] を見て下さい。
* Wine の完全なコマンドリストは WineHQ の [https://wiki.winehq.org/List_of_Commands List of Commands] を見てください。


あなたが使いたいオーディオドライバの正しいパッケージをインストールしてください:
=== WINEPREFIX ===


* [[ALSA]] の場合、{{Pkg|lib32-alsa-lib}} と {{Pkg|lib32-alsa-plugins}} をインストールしてください
デフォルトでは、Wine の設定ファイルとインストールされた Windows のプログラムは {{ic|~/.wine}} に置かれます。このフォルダは通常 "Wine prefix" や "Wine bottle" と呼ばれます。Windows プログラムを動かしたり、Wine を設定するための {{ic|winecfg}} を動かすと自動的にフォルダが作成されます。そして Wine で動いているプログラムはこのフォルダの下のツリーを {{ic|C:\}} (C ドライブ) とみなします。
* [[PulseAudio]] の場合、{{Pkg|lib32-libpulse}} をインストールしてください
* [[PipeWire]] の場合、{{Pkg|lib32-pipewire}} と、以下のどれかをインストールしてください:
** PulseAudio をフロントエンドとして使用するには {{Pkg|pipewire-pulse}} と {{Pkg|lib32-libpulse}}。
** ALSA をフロントエンドとして使用するには {{Pkg|pipewire-alsa}}、{{Pkg|lib32-alsa-lib}}、{{Pkg|lib32-alsa-plugins}}。
* [[OSS]] の場合、{{Pkg|lib32-alsa-oss}} をインストールしてください


上記のパッケージをインストールしても''なお''、''winecfg'' がオーディオドライバを見つけられない時 (Selected driver: (none)) は、[https://wiki.winehq.org/Wine_User's_Guide#Using_Regedit レジストリから設定してください]。例えば、64ビットの標準の wine-1.9.7 で32ビットの Windows アプリケーションを使ったときにマイクが機能しない場合、次の手順でサウンドハードウェア (サウンドプレイバックとマイク) にアクセスできるようになります: ''regedit'' を開いて ''HKEY_CURRENT_USER > Software > Wine > Drivers'' と進んで ''Audio'' という名前の文字列を追加して値を ''alsa'' に設定してください。また、[[#WINEPREFIX|prefix を再作成]]することで解決するかもしれません。
必要ならば {{ic|WINEPREFIX}} 環境変数を設定することで、違うフォルダを指定することができます。これは Windows プログラムにそれぞれ違う設定をしたいときに便利です。初めて新しい Wine の prefix を使ってプログラムを起動した時、Wine は自動で C ドライブとレジストリの入ったディレクトリを作成します。


===== MIDI サポート =====
たとえば、{{ic|1= $ env WINEPREFIX=~/.win-a wine program-a.exe}} と {{ic|1= $ env WINEPREFIX=~/.win-b wine program-b.exe}} のようにプログラムを動かせば、2つのプログラムは別の C ドライブとレジストリを使います。


90年代のビデオゲームでは音楽に [[MIDI]] を使うのが人気でした。古いゲームを動かすときは、設定をしないと音楽が再生できないのは珍しくありません。
{{Note|Wine の prefix はサンドボックスではありません!Wine で動いているプログラムはシステムの全てにアクセスすることが可能です (例えば、Wine の prefix に関係なく、{{ic|Z:}} は {{ic|/}} にマッピングされます)。}}
Wine には素晴らしい MIDI サポートがあります。ただし、最初に MIDI がシステムで動くように設定する必要があります。詳しくは [[MIDI]] を見てください。そして Wine が適切な MIDI 出力を使うように設定しなくてはなりません。


==== 他の依存パッケージ ====
プログラムを動かしたり GUI ツールを使わずに Wine へフォルダを設定したいときは
$ env WINEPREFIX=~/.customprefix wineboot -u
で可能です。


一部のアプリケーションは追加のパッケージを必要とします [https://wiki.winehq.org/Building_Wine#Satisfying_Build_Dependencies]。
=== WINEARCH の使用 ===


* 暗号化サポートは、{{Pkg|lib32-gnutls}} をインストールしてください。
Wine はデフォルトで 64 ビットの環境を作ります。この挙動は {{ic|WINEARCH}} 環境変数を使うことで変更できます。あなたの {{ic|~/.wine}} ディレクトリの名前を変更して新しい wine 環境を作って下さい:
* 32ビットの prefix におけるジョイスティックとゲームパッドのサポートは、{{Pkg|lib32-sdl2}} をインストールしてください。
{{ic |1=$ WINEARCH=win32 winecfg}}。これで 32 ビットの wine 環境が作られます。{{ic|WINEARCH}} を設定しないときは 64 ビット環境が作られます。
* 32ビットプログラムでのメディアプレイバックは、{{Pkg|lib32-gst-plugins-base}}、{{Pkg|lib32-gst-plugins-good}}、{{Aur|lib32-gst-plugins-bad}}、{{Aur|lib32-gst-plugins-ugly}}、{{Aur|lib32-gst-libav}} をインストールしてください。
* [[Wikipedia:ja:NTLM|NTLM]] 認証は、{{Pkg|samba}} をインストールしてください。


=== Prefix 内の依存パッケージ ===
{{ic|WINEPREFIX}} を使うことで win32 環境と win64 環境を分割することができます:
$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
$ WINEPREFIX=~/win64 winecfg


システムの依存パッケージとは別に、多くのプログラムは追加のフォントや DLL が Wine prefix にインストールされていることを要求します [https://wiki.winehq.org/FAQ#My_application_says_some_DLL_or_font_is_missing._What_do_I_do?]。これらの依存関係は、[https://github.com/Winetricks/winetricks Winetricks] を使うことでインストールすることができます。Winetricks はシンプルなパッケージマネージャで、何かをインストールしたり、設定の調整を行ったりする ''verb'' が用意されています。Winetricks には2つの使い方があります:
{{Note|prefix の作成で、wine の64ビット版は全てのフォルダを64ビットの prefix として扱い既存のフォルダに32ビットを作成しません。32ビットの prefix を作成するには {{ic|WINEPREFIX}} で指定したフォルダを作るように wine に指示を出す必要があります。}}


* CLI から: {{ic|winetricks ''verb_name''}} を実行する。
winetricks と {{ic|WINEARCH}} をひとつのコマンドで一緒に使うことで以下のように winetricks からインストールをさせることもできます (例: Steam):
* GUI から: {{Pkg|zenity}} か {{Pkg|kdialog}} をインストールし、{{ic|winetricks}} を実行する。
env WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam
{{Tip|[[Bash#シェルと環境変数|~/.bashrc]] を使うことで {{ic|WINEPREFIX}} や {{ic|WINEARCH}} をコマンド毎に指定する必要をなくせます。}}
{{Note|{{ic|wineprefixes}} ディレクトリに steam サブディレクトリを作成していないと、自動で作成されます。詳しくは下の Bottles セクションを見て下さい。}}


依存パッケージ間の衝突により、何でもできる "完璧な" Windows 環境を構築することができない場合があります [https://github.com/Winetricks/winetricks/issues/1580#issuecomment-666604256] [https://github.com/Winetricks/winetricks/issues/469]。そうするよりも、(重要な設定やデータが存在しない限り) prefix を使い捨てにして、異なる依存パッケージを必要とするプログラム毎に個別の prefix を使用するほうが良いです。[[#WINEPREFIX]] 環境変数を使うことで、どの prefix に対して verb を実行するかを指定することができます。
=== グラフィックドライバ ===


プログラムが必要とする verb を知るには、多くのトライアンドエラーが必要になる可能性があります。一部のより一般的な依存パッケージは [https://usebottles.com/database/dependencies/ Bottles の依存関係ページ]を、また以下のプログラム固有のリソースを参照してください:
ゲームを動作させる時はほとんどの場合、パフォーマンスを出すためにグラフィックドライバが必要になります。基本的にプロプライエタリな [[NVIDIA]] や [[ATI|AMD Catalyst]] ドライバを使うべきですが、オープンソース [[ATI|radeon]] ドライバーも Wine の使用に耐えるほど成熟してきています。[[Intel Graphics|Intel]] ドライバは何も設定しなくとも問題なく動くはずです。


* [https://appdb.winehq.org/ Wine Application Database]: 公式のリソースですが、古く、他のものと比べてメンテナンスされていないかもしれません。
詳細は [https://www.phoronix.com/scan.php?page=news_item&px=MTI5NjU Gaming On Wine: The Good & Bad Graphics Drivers] を参照してください。
* [https://lutris.net/ Lutris のウェブサイト]。このサイトで扱われているゲームを実行しようとしているならば、ドロップダウンメニューをクリックして、''View install script'' をクリックすることで Lutris で使用されている Winetricks の verb を見ることができます。
* [https://github.com/bottlesdevs/programs Bottles のプログラムリポジトリ]。小さいですが、ゲーム以外もあります。
* [https://www.protondb.com/ ProtonDB]。Proton は Wine とは異なる互換性があります (それに加え、このサイトを見るなら単に Proton を使うほうが良いかもしれません)。しかし、ユーザーが書き込んだ verb は使えるかもしれません。
** また、[https://github.com/GloriousEggroll/proton-ge-custom proton-ge-custom] に同梱されている変化の速い [https://github.com/Open-Wine-Components/ULWGL-protonfixes/ protonfixes] ツールのソースを参照することもできます。しかし、このツールはゲームを修正する追加の Proton と GE のパッチが存在していることを想定しています。


ゲームの prefix を管理するのに多くの時間が掛かる場合は、prefix を管理してくれるサードパーティのアプリケーションを使う方が簡単かもしれません。
ドライバが見つからなかったり作動していない時、Wine はターミナルに次のように表示します:
Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly


=== サードパーティ製アプリケーション ===
32ビットの [multilib] パッケージが必要です。[[Xorg#ドライバーのインストール]] にある表の ''Multilib パッケージ''に記載されているパッケージをインストールしてください。


以下のアプリケーションは、独自のコミュニティーとウェブサイトを持っており、メインの Wine コミュニティによって '''サポートされていません'''。詳しくは [https://wiki.winehq.org/Third_Party_Applications Wine Wiki] を見てください。
{{Note|ライブラリをインストールしたあと、X を再起動する必要があるかもしれません。}}


* {{App|[[Bottles]]|Wine 用のグラフィカルな prefix マネージャであり、ランナーマネージャ。GTK ベース。|https://usebottles.com/|{{AUR|bottles}}}}
=== サウンド ===
* {{App|[[CrossOver]]|公式の商用版 Wine。グラフィカルなインターフェイスと包括的なエンドユーザーサポートを提供しています。|https://www.codeweavers.com|{{AUR|crossover}}}}
* {{App|[[Wikipedia:Lutris|Lutris]]|Wine のゲームから Linux ネイティブのゲーム、エミュレータまで、あらゆるゲームに対応するゲームランチャー (prefix の管理機能が存在します)。|https://lutris.net|{{Pkg|lutris}}}}
* {{App|[[Wikipedia:PlayOnLinux|PlayOnLinux]]|Wine のグラフィカルな prefix マネージャです。プログラムのインストールと設定を支援するスクリプトが含まれています。|https://www.playonlinux.com|{{AUR|playonlinux}}}}
* {{App|[[Proton]]|[[Steam]] のために作成された互換ツール。Wine と追加のコンポーネントをベースとしています。互換性のリストは [https://www.protondb.com/ ProtonDB] を見てください。|https://github.com/ValveSoftware/Proton|{{AUR|proton}}}}
* {{App|PyWinery|シンプルでグラフィカルな Wine 用の prefix マネージャ。|https://github.com/ergoithz/pywinery|{{AUR|pywinery}}}}
* {{App|Q4Wine|Wine のグラフィカルな prefix マネージャ。[[Qt]] テーマを Wine の設定に適用することで見た目を統合することができます。|https://sourceforge.net/projects/q4wine/|{{AUR|q4wine-git}}}}
* {{App|WINEgui|ユーザフレンドリーな WINE グラフィカルインターフェイス。|https://gitlab.melroy.org/melroy/winegui|{{AUR|winegui}}, {{AUR|winegui-bin}}}}


== 設定 ==
Wine を動かしたときに自動的にサウンド設定がなされますが、{{ic|winecfg}} で使うサウンドデバイスを選択することができます。


通常 Wine の設定には以下を用います:
* x86_64 環境で Wine の Alsa ドライバを使いたいときは、{{Pkg|lib32-alsa-lib}} と {{Pkg|lib32-alsa-plugins}} をインストールする必要があります。
* Wine で [[PulseAudio]] を使いたいときは、{{Pkg|lib32-libpulse}} パッケージをインストールしてください。
* [[OSS]] ドライバを Wine で使うためには、{{Pkg|lib32-alsa-oss}} パッケージが必要です。カーネルに付属している OSS ドライバでは十分でありません。
* TESV: Skyrim など、より強力なサウンドシステムを使うゲームを動かすには {{Pkg|lib32-openal}} のインストールが必要な場合もあります。


* [https://wiki.winehq.org/Winecfg winecfg] は Wine の GUI 設定ツールです。{{ic|winecfg}} を実行することで起動できます。
上記のパッケージをインストールしても {{ic|winecfg}} がオーディオドライバを見つけられない時 ({{ic|Selected driver: (none)}}) は、[https://www.winehq.org/docs/wineusr-guide/using-regedit#Configuring_Sound レジストリから設定してください]。例えば、64ビットの標準の wine-1.9.7 で32ビットの Windows アプリケーションを使ったときにマイクが機能しない場合、次の手順でサウンドハードウェアにアクセスできるようになります: ''regedit'' を開いて HKEY_CURRENT_USER → Software → Wine → Drivers と進んで ''Audio'' という名前の文字列を追加して値を ''alsa'' に設定してください。また、[[#WINEARCH の使用|プレフィックスを再作成]]することで解決するかもしれません。
* [https://wiki.winehq.org/Regedit regedit] は Wine のレジストリ編集ツールです。{{ic|regedit}} を実行することで起動できます。WineHQ の記事 [https://wiki.winehq.org/Useful_Registry_Keys Useful Registry Keys] を見てください。
* [https://wiki.winehq.org/Control control] は Windows コントロールパネルの Wine 実装です。{{ic|wine control}} を実行することで起動できます。
* 完全なリストは WineHQ の [https://wiki.winehq.org/List_of_Commands List of Commands] を見てください。


==== MIDI サポート ====
=== WINEPREFIX ===


デフォルトでは、Wine の設定ファイルとインストールされた Windows プログラムは {{ic|~/.wine}} に置かれます。このディレクトリは一般的に "Wine prefix" や "Wine bottle" と呼ばれます。Windows プログラムを動かしたり、Wine を設定するための {{ic|winecfg}} を動かすと自動的にフォルダが作成されます。そして Wine で動いているプログラムはこのフォルダの下のツリーを {{ic|C:}} (C ドライブ) とみなします。
90年代のビデオゲームでは音楽に [[MIDI]] を使うのが人気でした。古いゲームを動かすときは、設定をしないと音楽が再生できないのは珍しくありません。Wine には素晴らしい MIDI サポートがあります。ただし、最初に MIDI がシステムで動くように設定する必要があります。詳しくは [[MIDI]] を見てください。そして Wine が適切な MIDI 出力を使うように設定しなくてはなりません。


{{Note|Wine の prefix には前方互換性がありません。新しいバージョンの Wine は、必要に応じて自動的に古い prefix をアップグレードします。アップグレードされると、その prefix は古いバージョンの Wine で動作しなくなる場合があります。[https://github.com/GloriousEggroll/wine-ge-custom/releases/tag/7.0-GE-8-LoL]}}
=== 他のライブラリ ===


{{ic|WINEPREFIX}} [[環境変数]]を設定することで、Wine が使用する prefix の場所を指定することができます。これは Windows プログラムにそれぞれ違う設定をしたいときに便利です。初めて新しい Wine の prefix を使ってプログラムを起動した時、Wine は自動で C ドライブとレジストリの入ったディレクトリを作成します。
* いくつかのアプリケーション (Office 2003/2007 など) は HTML や XML をパースするための MSXML ライブラリが必要です。{{Pkg|lib32-libxml2}} をインストールしてください。

* 音楽を再生するアプリケーションには {{Pkg|lib32-mpg123}} が必要かもしれません。
例えば、{{ic|1=env WINEPREFIX=~/.win-a wine program-a.exe}} と {{ic|1=env WINEPREFIX=~/.win-b wine program-b.exe}} のようにプログラムを動かせば、2つのプログラムは別の C ドライブとレジストリを使います。
* 色管理エンジンを使用するアプリケーション (例: PDF ビューア, 画像ビューアなど) には {{Pkg|lib32-lcms2}} が必要です。

* 画像編集アプリケーションに必要なライブラリがあります。{{Pkg|lib32-giflib}} と {{Pkg|lib32-libpng}} をインストールしてください。
{{Warning|Wine の prefix は[[Wikipedia:ja:サンドボックス (セキュリティ)|サンドボックス]]ではありません!Wine で動いているプログラムは依然として Wine システムの外にアクセスすることが可能です (例えば、Wine の prefix に関係なく、{{ic|Z:}} は {{ic|/}} にマッピングされます)。}}
* アプリケーションによっては暗号化サポートのため {{Pkg|lib32-gnutls}} が必要です。

* 一部のアプリケーションは32ビットのビデオコーデックを必要とし、コーデックが存在しないとプログラムがクラッシュします。{{Pkg|gst-plugins-base}}, {{Pkg|gst-plugins-good}}, {{Pkg|gst-plugins-bad}}, {{Pkg|gst-plugins-ugly}}, {{Pkg|lib32-gst-plugins-base}}, {{Pkg|lib32-gst-plugins-good}}, {{Aur|lib32-gst-plugins-bad}}, {{Aur|lib32-gst-plugins-ugly}} などをインストールしてください。
Windows プログラムや GUI ツールを実行せずに、デフォルトの prefix を作成するには:

$ env WINEPREFIX=~/.customprefix wineboot -u

=== WINEARCH ===

Wine はデフォルトで 64 ビットの環境を作ります。この挙動は {{ic|WINEARCH}} [[環境変数]]を使うことで変更できます。{{ic|~/.wine}} ディレクトリの名前を変更し、{{ic|1=$ WINEARCH=win32 winecfg}} を実行して新しい Wine 環境を作成してください。これで 32 ビットの Wine 環境が作られます。{{ic|WINEARCH}} を設定しないときは 64 ビット環境が作られます。

{{ic|WINEPREFIX}} を使うことで {{ic|win32}} 環境と {{ic|win64}} 環境を分離することができます:

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
$ WINEPREFIX=~/win64 winecfg

{{ic|WINEARCH}} を ''winetricks'' などの他の Wine プログラムと一緒に使うこともできます (以下の例では Steam):

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam

prefix のアーキテクチャは、レジストリファイルを見ることで確認できます。以下のコマンドは、{{ic|~/.wine}} prefix のシステムレジストリを読み込み、アーキテクチャタイプに応じて {{ic|1=#arch=win32}} か {{ic|1=#arch=win64}} を返します:

$ grep '#arch' ~/.wine/system.reg


=== フォント ===
=== フォント ===


Wine アプリケーションで読みづらいフォントや不足しているフォントがある場合、フォントがインストールされていないのかもしれません。Wine からアクセスできるようにシステムフォントにすべてリンクするには:
Microsoft の Truetype フォントがインストールされてない場合、表示されるフォントが見づらいものになることがあります。[[MS フォント]]を参照してください。{{ic|winetricks corefonts}} をまず試してみて、それでもダメな場合、{{ic|winetricks allfonts}} を試してください。


$ cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf}; do ln -s "$i"; done
その後、すべてのWineサーバーを終了して {{ic|winecfg}} を動かしてください。フォントが改善されているはずです。


Wine はフォントをレンダリングするために FreeType を使用します。FreeType のデフォルトは数リリース前に変更されました。Wine でプログラムを実行する際に以下の[[環境変数]]を使ってみてください:
フォントが不鮮明な場合、[https://wiki.winehq.org/FAQ#How_do_I_edit_the_Wine_registry.3F regedit] を使って以下のようにレジストリを編集してください:

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

他の手段として、Wine prefix に [[MS フォント#インストール|Microsoft の TrueType フォントをインストール]]するというものがあります。これでもうまく行かない場合、まず {{ic|winetricks corefonts}} を実行し、最後の手段として {{ic|winetricks allfonts}} を実行してみてください。

プログラムを実行した後は、すべての Wine サーバを kill して {{ic|winecfg}} を実行してください。これでフォントが読めるようになるはずです。

フォントが汚く見える場合、[https://wiki.winehq.org/FAQ#How_do_I_edit_the_Wine_registry.3F regedit] を使って以下のテキストファイルを Wine のレジストリにインポートしてください:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"
"ClientSideWithRender"="N"


[[HiDPI]] ディスプレイを使っいる場合winecfg で DPI の値を調整できます。
高解像度ディスプレイにおいdpi の値を winecfg で調整できます。


[[フォント設定#fontconfig をサポートしていないアプリケーション]]も参照。
[[フォント設定#fontconfig をサポートしていないアプリケーション]] も参照してください

==== フォントスムージングの有効化 ====

Wine のフォントレンダリングを改善する良い方法として、cleartype フォントスムージングを有効化するというものがあります。
"Subpixel smoothing (ClearType) RGB" を有効化するには:

{{hc|/tmp/fontsmoothing.reg|2=
REGEDIT4

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingOrientation"=dword:00000001
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
EOF
}}

$ WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} $WINE regedit /tmp/fontsmoothing.reg 2> /dev/null

詳細は [https://askubuntu.com/a/219795 元になった回答] を見てください。


=== デスクトップランチャーメニュー ===
=== デスクトップランチャーメニュー ===


Windows アプリケーションチャーによってショートカットが作成された場合、wine{{ic|.desktop}} ファイルを作成します。Arch Linux ではデフォルトで以下の場所にファイルが作成されます:
Windows アプリケーションストによってショートカットが作成された場合、Wine[[.desktop]] ファイルを作成します。Arch Linux ではデフォルトで以下の場所にファイルが作成されます:

* デスクトップショートカットは {{ic|~/Desktop}} に保存されます。
* スターメニューのショートカットは {{ic|~/.local/share/applications/wine/Programs/}} に保存されます
* ップショートカットは {{ic|~/Desktop}} に保存されます
* スタートメニューのショートカットは {{ic|~/.local/share/applications/wine/Programs/}} に保存されます


{{Note|1=Wine は全てのユーザー共通で Windows アプリケーションをインストールすることはできません。{{ic|.desktop}} ファイルが {{ic|/usr/share/applications}} に作成されることはありません。詳しくは WineHQ バグの [https://bugs.winehq.org/show_bug.cgi?id=11112 11112] を見てください。}}
{{Note|1=Wine は全てのユーザー共通で Windows アプリケーションをインストールすることはできません。{{ic|.desktop}} ファイルが {{ic|/usr/share/applications}} に作成されることはありません。詳しくは WineHQ バグの [https://bugs.winehq.org/show_bug.cgi?id=11112 11112] を見てください。}}
147行目: 202行目:
{{Tip|メニューがインストールしてもファイルが''作られなかったり''もしくは消えてしまった場合、{{ic|wine winemenubuilder}} を使ってください。}}
{{Tip|メニューがインストールしてもファイルが''作られなかったり''もしくは消えてしまった場合、{{ic|wine winemenubuilder}} を使ってください。}}


==== メニューエントリを作成 ====
==== Wine ユーティリティのメニューエントリを作成する ====


デフォルトでは Wine をインストールしても Wine に付属しているソフトウェア (例: {{ic|winecfg}}, {{ic|winebrowser}}, etc) のデスクトップメニューやアイコンは作られません。ここではこれらのアプリケーションのためのエントリを追加する方法を説明します。
デフォルトではWine をインストールしても Wine に付属しているソフトウェア (例:''winecfg'' や ''winebrowser'' など) のデスクトップメニューやアイコンは作られません。{{AUR|wine-installer}} か {{AUR|wine-installer-git}} をインストールするとでれらを作成きます。あるい、以下の指示により、これらのアプリケーションのエントリを追加できます。


まず、ベースメニューを作るために Wine で Windows プログラムをインストールします。ベースメニューが作られたら、{{ic|~/.local/share/applications/wine/}} に以下のファイルを作成してください:
まず、ベースメニューを作るために Wine で Windows プログラムをインストールします。ベースメニューが作られたら、{{ic|~/.local/share/applications/wine/}} に以下のファイルを作成してください:
188行目: 243行目:
そして {{ic|~/.config/menus/applications-merged/}} に次のファイルを作成してください:
そして {{ic|~/.config/menus/applications-merged/}} に次のファイルを作成してください:


{{hc|wine.menu|2=
{{hc|wine.menu|<nowiki>
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"https://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Menu>
<Name>Applications</Name>
<Name>Applications</Name>
201行目: 256行目:
</Menu>
</Menu>
</Menu>
</Menu>
</nowiki>}}
}}


以上の設定でアイコンが表示されない場合は、有効になっているアイコンセットにランチャーのためのアイコンが存在しないのが原因です。使いたいアイコンの位置を指定してアイコンの設定を置き換えてください。プロパティメニューのアイコンをクリックしても同じことができます。これらのショートカットをサポートしているアイコンセットは [http://www.gnome-look.org/content/show.php/GNOME-colors?content=82562 GNOME-colors] です。
以上の設定でアイコンが表示されない、あるいはアイコンが醜い場合は、有効になっているアイコンセットにランチャーのためのアイコンが存在しないのが原因です。使いたいアイコンの位置を指定してアイコンの設定を置き換えてください。プロパティメニューのアイコンをクリックしても同じことができます。これらのショートカットをサポートしているアイコンセットは {{AUR|gnome-colors-icon-theme}} です。


==== メニューエントリを削除する ====
==== メニューエントリを削除する ====
209行目: 264行目:
Wine によって作成されるエントリは {{ic|~/.local/share/applications/wine/Programs/}} にあります。プログラムの ".desktop" エントリを削除すればメニューからアプリケーションが削除されます。
Wine によって作成されるエントリは {{ic|~/.local/share/applications/wine/Programs/}} にあります。プログラムの ".desktop" エントリを削除すればメニューからアプリケーションが削除されます。


Wine による不要な拡張を削除するのに加えて、以下のコマンドを実行 (Wine のウェブサイトより):
Wine による不要な拡張を削除するのに加えて、以下のコマンドを実行: [https://wiki.winehq.org/FAQ#How_do_I_clean_the_Open_With_List.3F]

$ rm ~/.local/share/mime/packages/x-wine*
$ rm ~/.local/share/mime/packages/x-wine*
$ rm ~/.local/share/applications/wine-extension*
$ rm ~/.local/share/applications/wine-extension*
215行目: 271行目:
$ rm ~/.local/share/mime/application/x-wine-extension*
$ rm ~/.local/share/mime/application/x-wine-extension*


場合によっては、KDE の Wine サブメニューからアイテムを完全に削除するために、{{ic|wine-*.menu}} も {{ic|/.config/menus/}} から削除する必要があります。
=== Mono と Gecko ===

=== 外観 ===


XP のような見た目のテーマを[https://archive.org/download/zune-desktop-theme/ZuneDesktopTheme.msi ダウンロード]できます。これをインストールするには、[https://wiki.winehq.org/Wine_User%27s_Guide#Running_.msi_files この上流の wiki 記事] を見てください。最後に、''winecfg'' を使ってそのテーマを選択してください。
新しい wineprefix を初期化したとき、Wine は Mono と Gecko のインストールを要求します。また、{{pkg|wine-mono}} と {{pkg|wine_gecko}}{{Broken package link|置換パッケージ: {{Pkg|wine-gecko}}}} パッケージがインストールされている場合、wine は特に何もメッセージを表示せずに mono と gecko の 450MB 近いファイルを wineprefix にコピーします。


{{Note|上記のリンクのテーマは、Windows XP の prefix バージョンが設定された32ビット prefix にしかインストールできません。64ビット prefix にインストールするには、一時的な32ビット prefix を作成し、テーマをインストールし、{{ic|drive_c/Windows/Resources/Themes}} から {{ic|Zune}} フォルダと {{ic|Zune.theme}} ファイルを64ビットの prefix の同じ場所にコピーする必要があるかもしれません。}}
Wine によって Mono と Gecko がインストールされないようにしたい場合、以下のようにして wine を起動してください:


Wine staging のユーザは、現在の GTK テーマにマッチさせるために、代わりに ''winecfg'' の Staging セクションの ''Enable GTK3 Theming'' オプションを有効化する必要があるかもしれません。
WINEDLLOVERRIDES=mscoree=d;mshtml=d wine somewineapp


=== 印刷 ===
=== 印刷 ===


''win32 prefix'' で wine アプリケーション (例: MS Word) を使ってプリンター (ローカル・ネットワーク両方) を使用するには {{Pkg|lib32-libcups}} パッケージをインストールしてください。それから wine を再起動 (''wineboot'') してください。
''win32 prefix'' で wine アプリケーション (例: MS Word) を使ってプリンター (ローカル・ネットワーク両方) を使用するには {{Pkg|lib32-libcups}} パッケージをインストールしてください。それから wine アプリケーションを再起動 (''wineboot'') してください。


=== Networking ===
=== ネットワーク ===


アプリケーションが LTS や HTTPS 接続を行えるようにするために、場合によっては Wine のインストール後に {{pkg|lib32-gnutls}} を[[インストール]]する必要があります。
After installation, the {{pkg|lib32-gnutls}} package may need [[install]]ed for applications making TLS or HTTPS connections to work.


For ICMP (ping), Wine may need the network access as described in the [https://wiki.winehq.org/FAQ#Failed_to_use_ICMP_.28network_ping.29.2C_this_requires_special_permissions WineHQ FAQ]:
ICMP (ping) の場合、[https://wiki.winehq.org/FAQ#Failed_to_use_ICMP_.28network_ping.29.2C_this_requires_special_permissions WineHQ FAQ] で説明されているように Wine はネットワークアクセスを必要とします:


# setcap cap_net_raw+epi /usr/bin/wine-preloader
# setcap cap_net_raw+epi /usr/bin/wine-preloader


このコマンドを実行した後に問題が発生する場合 (キャッチされない例外や特権命令など)、以下を実行してケーパビリティを削除してください:
If issues arise after this (such as an unhandled exception or privileged instruction), remove via:


# setcap -r /usr/bin/wine-preloader
# setcap -r /usr/bin/wine-preloader


== Usage ==
== 使用法 ==


{{Warning|Do not run or install Wine applications as root! See [https://wiki.winehq.org/FAQ#Should_I_run_Wine_as_root.3F Wine FAQ] for details.}}
{{Warning|Wine アプリケーションを root として実行/インストールしないでください! 詳細は [https://wiki.winehq.org/FAQ#Should_I_run_Wine_as_root.3F Wine FAQ] を見てください。}}


See [https://wiki.winehq.org/Wine_User%27s_Guide#Using_Wine Wine User's Guide] for general information on Wine usage.
Wine の使用法に関する一般的な情報は [https://wiki.winehq.org/Wine_User%27s_Guide#Using_Wine Wine User's Guide] を見てください。


See [https://appdb.winehq.org/ Wine Application Database (AppDB)] for additional information on specific Windows applications in Wine.
Wine における特定の Windows アプリケーションに関する追加の情報は [https://appdb.winehq.org/ Wine Application Database (AppDB)] を見てください。


=== Wayland ===
=== Wayland ===


{{Warning|ネイティブな [[Wayland]] ドライバはまだ実験段階です。}}
Currently Wine does not support Wayland directly, but you can use [[Wayland#XWayland | XWayland]] instead.


デフォルトでは、Wine は Wayland 上で動作する際に [[Xwayland]] を使用します。これは、ほとんどのユーザーにとって十分なエクスペリエンスを得られます。バージョン 9.0rc1 現在、Wine はネイティブな Wayland サポートにおいて大幅な進捗があり、一部のユースケースにおいては使用に適した状態になっています。
There are some efforts to support Wayland though:


最近の Wine バージョンで追加されたネイティブな Wayland ドライバを試すには、以下の手順を踏んでください:
* Experimental Wayland driver for Wine, which supports using OpenGL- and Windows GDI-applications. See [https://www.winehq.org/pipermail/wine-devel/2020-December/178575.html this] and [https://www.winehq.org/pipermail/wine-devel/2021-February/181325.html this] wine-devel maillist entries.


* [https://wiki.winehq.org/FAQ#How_do_I_edit_the_Wine_registry.3F regedit] で以下のテキストファイルを Wine レジストリにインポートしてください:
* [https://github.com/varmd/wine-wayland wine-wayland]: a custom version of Wine, which supports Wayland via Vulkan (so it supports only: DirectX 9, 10 & 11 via [[Wine#DXVK | DXVK]] and Vulkan-compatible applications).

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\Drivers]
"Graphics"="x11,wayland"

* {{Ic|DISPLAY}} [[環境変数]]を空にして、Xwayland を使用せずにネイティブな Wayland ドライバを強制してください:

$ DISPLAY= wine example.exe

2番目の手順で Wine が停止した場合は、インストールされている Wine のバージョンが新しい Wayland ドライバのサポートありでビルドされていることを確認してください。

=== Wine の実行を停止する ===

起動済みのプログラムを停止する ({{ic|wine}} に対して {{ic|wine}}、あるいは {{ic|wineconsole}} に対して Ctrl+C を押す) と、バックグラウンドでプロセスが実行中のままになってしまうかもしれません。例えば:
{{bc|<nowiki>$ ps -xo pid,cmd
PID CMD
297 -bash
933 /usr/bin/wineserver
939 C:\windows\system32\services.exe
942 C:\windows\system32\winedevice.exe
950 C:\windows\system32\explorer.exe /desktop
954 C:\windows\system32\winedevice.exe
965 C:\windows\system32\plugplay.exe
977 C:\windows\system32\svchost.exe -k LocalServiceNetworkRestricted
984 C:\windows\system32\rpcss.exe
997 mbserver.exe
1017 start.exe /exec
1019 C:\windows\system32\conhost.exe --unix --width 169 --height 40 --server 0x10
1021 Z:\home\wineuser\mbserver.exe
1030 ps -xo pid,cmd</nowiki>}}
実行中の {{ic|wine}} と {{ic|wineconsole}} プロセスは、[https://wiki.winehq.org/Wine_User%27s_Guide#-k_%5Bn%5D wineserver -k] コマンドを使って一度にすべて停止できます。例えば:
{{bc|<nowiki>$ wineserver -k 15</nowiki>}}
このコマンドは {{ic|WINEPREFIX}} 変数に依存しているため、カスタムの Wine prefix を使用している場合は、以下のコマンドを使用してください:
{{bc|<nowiki>$ WINEPREFIX=~/wine/my-prefix wineserver -k</nowiki>}}
上記の例で挙げたプログラムを両方停止するコマンドは以下のようになります:
{{bc|<nowiki>$ kill 997 1021</nowiki>}}


== ヒントとテクニック ==
== ヒントとテクニック ==


=== Wine コンソール ===
=== Wineconsole ===


''.exe'' を実行してゲームファイルにパッチを適用する必要がある場合 (例えば古いゲームにワイドスクリーン対応 MOD を適用するなど)、通常の方法で Wine から ''.exe'' を実行しても何も起きないことがあります。その場合、ターミナルを開いて以下のコマンドを実行してください:
''.exe'' を実行してゲームファイルにパッチを適用する必要がある場合 (例えば古いゲームにワイドスクリーン対応 MOD を適用するなど)、通常の方法で Wine から ''.exe'' を実行しても何も起きないことがあります。その場合、ターミナルを開いて以下のコマンドを実行してください:
265行目: 359行目:
$ wineconsole cmd
$ wineconsole cmd


コマンドラインが開くのでプログラムがあるフォルダまで移動して、''.exe'' プログラムを実行してください。
そして、プログラムがあるフォルダまで移動して、''.exe'' プログラムを実行してください。


=== Winetricks ===
=== Winetricks ===


[http://wiki.winehq.org/winetricks Winetricks] は Windows プログラムを動かすために必要なランタイムなどをインストールするためのスクリプトです。DirectX 9.x や MSXML (Microsoft Office 2007 や Internet Explorer で必要)、Visual ランタイムライブラリなどをインストールできます。
[https://wiki.winehq.org/Winetricks Winetricks] は Windows プログラムを動かすために必要なランタイムなどをインストールするためのスクリプトです。DirectX 9.x や MSXML (Microsoft Office 2007 や Internet Explorer で必要)、Visual ランタイムライブラリなどをインストールできます。


使うには [[pacman]] から {{pkg|winetricks}} をインストルしたり、[[Arch User Repository|AUR]] の {{AUR|winetricks-git}} パッケージをインストールしてください。次のコマンド動きます:
使うには {{pkg|winetricks}} パッケ (あるいは {{AUR|winetricks-git}})[[インストール]]してください。そして、以下実行してください:
$ winetricks
$ winetricks

GUI を使う場合、{{pkg|zenity}} (GTK) か {{pkg|kdialog}} (Qt) を[[インストール]]してください。


=== パフォーマンス ===
=== パフォーマンス ===
278行目: 374行目:
==== CSMT ====
==== CSMT ====


CSMT は OpenGL コールに対してスレッドを使うことでパフォーマンスを著しく向上させる技術で、Wine によって使われています。Wine 3.3 から CSMT はデフォルトで有効になっています。ただし 3.3 以前の Wine では CSMT のサポートを手動で有効にする必要があります。通常の Wine の場合、{{ic|wine regedit}} を実行して ''HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt'' で DWORD の値を 0x01 (有効) に設定してください。wine-staging の場合、{{ic|winecfg}} を起動して staging タブで有効にしてください
CSMT は OpenGL 呼び出しに対して別スレッドを使うことでパフォーマンスを著しく向上させる技術で、Wine によって使われています。Wine 3.2 から CSMT はデフォルトで有効になっています。

アプリケーションによっては CSMT がパフォーマンスを劣化させることがあります。そのような場合、{{ic|wine regedit}} を実行してレジストリエディタを起動し、''HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt'' に DWORD の値 0x00 を設定して、CSMT を無効化してください。


詳細:
詳細:
* CSMT の開発者 Stefan Dösinger による [https://www.phoronix.com/forums/showthread.php?93967-Wine-s-Big-Command-Stream-D3D-Patch-Set-Updated/page3&s=7775d7c3d4fa698089d5492bb7b1a435 Phoronix Forum の議論]
:CSMT の開発者 Stefan Dösinger による [https://www.phoronix.com/forums/showthread.php?93967-Wine-s-Big-Command-Stream-D3D-Patch-Set-Updated/page3&s=7775d7c3d4fa698089d5492bb7b1a435 Phoronix Forum の議論]


==== ゲームで強制的に OpenGL モードにする ====
==== ゲームで強制的に OpenGL モードにする ====


多くのゲームには OpenGL モードがあり''多くの場合''デフォルトの DirectX モードより良いパフォーマンスが出ます。OpenGL レンダリングを有効にする方法は''それぞれのアプリケーションによる''一方、多くのゲームは {{Ic|-opengl}} パラメータを認識します。
多くのゲームには OpenGL モードがあり''多くの場合''デフォルトの DirectX モードより良いパフォーマンスが出ます。OpenGL レンダリングを有効にする方法は''それぞれのアプリケーションによる''一方、多くのゲームは {{Ic|-opengl}} パラメータを認識します。
$ wine /path/to/3d_game.exe -opengl


$ wine ''/path/to/3d_game.exe'' -opengl
詳しい情報は、それぞれのアプリケーションのドキュメントや Wine の [http://appdb.winehq.org AppDB] を見てください。

詳しい情報は、それぞれのアプリケーションのドキュメントや Wine の [https://appdb.winehq.org AppDB] を見てください。

==== VKD3D-Proton ====

[https://github.com/HansKristian-Work/vkd3d-proton VKD3D-Proton] は [https://wiki.winehq.org/Vkd3d VKD3D] のフォークで、Vulkan を用いて完全な Direct3D 12 API の実装を目指しています。このプロジェクトは、Proton で Direct3D 12 をサポートし、DirectX 12 ゲームのパフォーマンスと互換性を向上させるものです。

VKD3D-Proton を使うには、{{AUR|vkd3d-proton-mingw}} または {{AUR|vkd3d-proton-bin}} をインストールしてください。そして、以下のコマンドを実行し、prefix (デフォルトでは {{ic|~/.wine}}) で VKD3D-Proton を有効化してください:
$ WINEPREFIX=''your-prefix'' setup_vkd3d_proton install

{{Warning|VKD3D-Proton は DirectX 12 の DLL を上書きします。これは、オンラインマルチプレイヤーゲームではチートとみなされる場合があり、あなたのアカウントが '''BAN''' されてしまうかもしれません。自己責任で使用してください!}}


==== DXVK ====
==== DXVK ====


[https://github.com/doitsujin/dxvk DXVK] は [[Vulkan]] 上で DirectX 11 を実装する新しいプロジェクトです。パフォーマンスが向上するだけでなく、互換性が高まる場合もあります。例えば Battlefield 1 は DXVK しか実行できません。ただし、DXVK は全ての Wine ゲームをサポートしているわけではありせん
[https://github.com/doitsujin/dxvk DXVK] は、DirectX 9、10、11 Vulkan による実装です。ほとんどのゲームにおいて、こちらのほうが WineD3D ドライバよりもパフォーマンス及び互換性で勝っていま


DXVK を使いたい場合、[[#Vulkan]] を使用するように Wine を設定してから、{{aur|dxvk-bin}} (公式バイナリ) または {{aur|dxvk-git}}{{Broken package link|パッケージが存在しません}} (開発版) をインストールしてください。以下のコマンドを実行することで Wineprefix (デフォルトでは {{ic|~/.wine}}) で DXVK 有効になります:
DXVK を使うに、{{AUR|dxvk-mingw}} または {{AUR|dxvk-bin}} をインストールしてください。そして、以下のコマンドを実行し、prefix (デフォルトでは {{ic|~/.wine}}) で DXVK 有効化してください:
$ WINEPREFX=''your-prefix'' setup_dxvk64


$ WINEPREFIX=''your-prefix'' setup_dxvk install
32ビットアプリケーションの場合は {{ic|setup_dxvk32}} を使ってください。


DXVK をデュアルグラフィックスの環境で使用する場合、Wine は専用の GPU を優先します。ノート PC では、省電力のためにこれを上書きできます:
{{warning|DXVK は DirectX 11 の DLL を上書きするため、オンラインのマルチプレイゲームではチートとして認識されてアカウントが ban される危険性があります。自己責任で使ってください。}}

$ VK_DRIVER_FILES=/usr/share/vulkan/icd.d/''your_driver''.json wine ''executable''

===== HDR サポート =====

[[Gamescope]] と一緒に使用する場合、DXVK (V2.1+) は HDR10 ディスプレイのサポートを提供します ([[AMDGPU]] ユーザのみ)。詳細は [[HDR モニターのサポート]] を参照してください。


==== Gallium Nine ====
==== Gallium Nine ====


Gallium ベースの mesa ドライバを使用する場合 (ほとんどの場合 AMD と Intel のカード)、DirectX 9 で優れたパフォーマンスを出すネイティブな [https://docs.mesa3d.org/gallium-nine.html Gallium Direct3D ドライバ]があります。このドライバは DXVK によりほとんど使われなくなりましたが、Vulkan のサポートがない場合に依然として便利である場合があります。DXVK と Gallium Nine のパフォーマンスは[https://www.supergoodcode.com/the-finale/#this-is-no-longer-a-zink-blog ほぼ同じである]はずです。
With the open-source gallium-based drivers (mostly AMD cards) there is a [https://wiki.ixit.cz/d3d9 Gallium Direct3D state tracker] that aims to provide nearly-native performance for DirectX 9. In most cases it has less visual glitches than the upstream wine and doubles the performances. It consumes much less CPU time than CSMT.


Gallium Nine を使うには {{Pkg|wine-nine}} をインストールしてください。これはスタンドアローンパッケージで、どの Wine バージョンとも併用できます。有効化されているか確かめるには {{ic|wine ninewinecfg}} を実行してください。
Install {{Pkg|wine-nine}} to use it. This is a standalone package that can be installed with any wine version. Use {{ic|wine ninewinecfg}} to check if it is enabled.

古い Intel graphics (4 から 7 世代: GMA 3000, GMA 4500, HD 2000-5000; 2006年-2014年) では、Mesa 21.2 以降 Crocus Gallium ドライバが i965 の代わりに使用されるはずです。Wine を実行する前に以下の環境変数を [[Export]] してください:

MESA_LOADER_DRIVER_OVERRIDE=crocus


=== Wine によるファイルの関連付けの解除 ===
=== Wine によるファイルの関連付けの解除 ===
311行目: 428行目:
デフォルトで、大量のフォーマットで Wine はデフォルトアプリケーションとして設定されます。Windows にしかないフォーマットもあり (例: {{ic|vbs}} や {{ic|chm}})、その場合 Wine で開けるようになるのは便利かもしれません。しかしながら、他のフォーマット (例: {{ic|gif}}, {{ic|jpeg}}, {{ic|txt}}, {{ic|js}}) が Wine の素っ気ない Internet Explorer やメモ帳で開かれるのは迷惑と感じることもあるでしょう。
デフォルトで、大量のフォーマットで Wine はデフォルトアプリケーションとして設定されます。Windows にしかないフォーマットもあり (例: {{ic|vbs}} や {{ic|chm}})、その場合 Wine で開けるようになるのは便利かもしれません。しかしながら、他のフォーマット (例: {{ic|gif}}, {{ic|jpeg}}, {{ic|txt}}, {{ic|js}}) が Wine の素っ気ない Internet Explorer やメモ帳で開かれるのは迷惑と感じることもあるでしょう。


Wine のファイルの関連付けは {{ic|~/.local/share/applications/}} にある {{ic|wine-extension-{extension}.desktop}} というファイルによって設定されます。関連付けを解除したい拡張子の名前が入っているファイルを削除してください。もしくは、Wine の関連付けを全て削除したい場合:
Wine のファイルの関連付けは {{ic|~/.local/share/applications/}} にある {{ic|wine-extension-''extension''.desktop}} というファイルによって設定されます。関連付けを解除したい拡張子の名前が入っているファイルを削除してください。もしくは、Wine の関連付けを全て削除したい場合:


$ rm -f ~/.local/share/applications/wine-extension*.desktop
$ rm -f ~/.local/share/applications/wine-extension*.desktop
327行目: 444行目:
$ update-mime-database ~/.local/share/mime/
$ update-mime-database ~/.local/share/mime/


削除しても、アプリケーションによってファイルの関連付けが設定されたら、Wine はファイルの関連付けを作成し続けます。
もしくは wine に関連するキャッシュだけを削除することもできます:


=== Wine がファイルの関連付けをしないようにする ===
$ find ~/.local/share -name "*wine*" | xargs --no-run-if-empty rm -r


{{Note|以下の作業は、{{ic|/usr/share/wine/wine.inf}} を変更しない限り、ファイルの関連付けをアップデートさせたくない WINEPREFIX それぞれに対して行わなければなりません。}}
その後、上述のようにキャッシュをアップデートしてください。


削除してもアプリケーションによってファイルの関連付けが設定されたらWine ファイルの関連付けを作成続けます。
以下の方法は、ファイルの関連付けを作成することを防止しますが、XDG .desktop ファイルは保持します (メニューなどに表示されるかもしれません)


winecfg を通して Wine がファイルの関連付けをしないように設定するには、Desktop Integration タブのチェックボックス "Manage File Associations" のチェックを解除する必要があります。[https://wiki.winehq.org/FAQ#How_can_I_prevent_Wine_from_changing_the_filetype_associations_on_my_system_or_adding_unwanted_menu_entries.2Fdesktop_links.3F Wine FAQ] を見てください。
=== Wine によるファイルの関連付けを停止 ===


関連付け作成ないように設定するには、レジストリ編集してください:
レジストリて同じ変更を加えるには、以下に文字列 {{ic|Enable}} {{ic|N}} という値で追加してください:


HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations
{{hc|1=associations.reg|2=
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -r"
}}


''まず、{{ic|FileOpenAssociations}} キーを作成する必要があるかもしれません。''
上記を Wine のレジストリに追加してください。{{ic|wine regedit associations.reg}} を実行するか、{{ic|wine regedit}} を起動してメニューの ''Registry > Import Registry File'' からインポートすることで追加できます。


ファイル関連付け更新たくない全ての WINEPREFIX で上記設定してください
変更コマンドラインを通して加えるには、以下コマンド実行してください:


$ wine reg add "HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations" /v Enable /d N
以下の環境変数を設定することで全ての WINEPREFIX で winemenubuilder を無効化することが可能です:


新しく作成される WINEPREFIX に対してこの変更をデフォルトで加えるようにしたい場合、{{ic|/usr/share/wine/wine.inf}} を編集し、例えば以下の行を {{ic|[Services]}} セクションに追加してください:
$ export WINEDLLOVERRIDES="winemenubuilder.exe=d"
HKCU,"Software\Wine\FileOpenAssociations","Enable",2,"N"


パッケージのアップグレードの際にこのファイルが上書きされないようにするには、pacman フックを作成して上記の変更が自動的に加えられるようにしてください:
=== Execute Windows binaries with Wine implicitly ===


{{hc|1=/etc/pacman.d/hooks/stop-wine-associations.hook|2=
The {{pkg|wine}} package installs a ''binfmt'' file which will allows you to run Windows programs directly, e.g. {{ic|''./myprogram.exe''}} will launch as if you had typed {{ic|wine ''./myprogram.exe''}}. Service starts by default on boot, if you have not rebooted after installing Wine you can [[start]] {{ic|systemd-binfmt.service}} to use it right away.


[Trigger]
{{Note|Make sure the Windows binary is executable, otherwise the binary will not be executed: e.g. run {{ic|chmod +x ''windows-binary''}}.}}
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/share/wine/wine.inf

[Action]
Description = Stopping Wine from hijacking file associations...
When = PostTransaction
<nowiki>Exec = /bin/sh -c '/usr/bin/grep -q "HKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"" /usr/share/wine/wine.inf || /usr/bin/sed -i "s/\[Services\]/\[Services\]\nHKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"/g" /usr/share/wine/wine.inf'</nowiki>
}}

詳細は [[Pacman#フック]] を見てください。

=== Windows バイナリを暗黙的に Wine で実行する ===

{{pkg|wine}} パッケージは ''binfmt'' ファイルをインストールします。このファイルにより、Windows プログラムを直接実行できるようになります。例えば、{{ic|''./myprogram.exe''}} は、{{ic|wine ''./myprogram.exe''}} と入力した時と同じように振る舞います。デフォルトでサービスは起動時に開始されます。Wine をインストールした後に再起動していないのであれば、{{ic|systemd-binfmt.service}} を[[起動]]することで、すぐに使えるようになります。

{{Note|Windows バイナリが[[実行可能属性|実行可能]]であることを確認してください。さもないと、バイナリは実行されません。}}


=== 異なる解像度でのデュアルスクリーン ===
=== 異なる解像度でのデュアルスクリーン ===
363行目: 495行目:
デュアルヘッドの設定でディスプレイの解像度が異なったときに問題が起きる場合はおそらく {{Pkg|lib32-libxrandr}} をインストールしていません。
デュアルヘッドの設定でディスプレイの解像度が異なったときに問題が起きる場合はおそらく {{Pkg|lib32-libxrandr}} をインストールしていません。


{{Pkg|lib32-libxinerama}} をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります。
{{Pkg|lib32-libxinerama}} をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります (例えば、最右や最下のモニタでアプリケーションのボタンやメニューがクリックできなくなったり、アプリケーションのインターフェイスが再描画されなかったり、アプリケーションのエリアでマウスカーソルがドラッグの状態のまま固まったりします)


=== オプティカルメディアを焼く ===
=== 光学メディアを焼く ===


CD や DVD を焼くためには、{{ic|sg}} [[カーネルモジュール]]をロードする必要があります。
CD や DVD を焼くためには、{{ic|sg}} [[カーネルモジュール]]をロードする必要があります。


=== オプティカルメディアイメージの正しいマウント ===
=== 光学メディアイメージの適切なマウント ===


いくつかのアプリケーションはオプティカルメディアがドライブにあるかの確認をします。ほとんどはデータの確認だけなので、{{ic|winecfg}} で CD-ROM ドライブのパスを正しく設定すれば問題ありません。
一部のアプリケーションは光学メディアがドライブにあるかの確認をします。ほとんどはデータの確認だけなので、{{ic|winecfg}} で CD-ROM ドライブのパスを正しく設定すれば問題ありません。
しかし、アプリケーションによってはメディアの名前やシリアルナンバーを確認するので、イメージを特別なプロパティを使ってマウントする必要があります。
しかし、アプリケーションによってはメディアの名前やシリアルナンバーを確認するので、イメージを特別なプロパティを使ってマウントする必要があります。


fuse ベースの仮想ドライブ (例えば Acetoneiso) など、仮想ドライブツールはこれらのメタデータを扱えないことがあります。CDEmu は適切にこれを処理します。
fuse ベースの仮想ドライブ (例えば Acetoneiso) など、仮想ドライブツールはこれらのメタデータを扱えないことがあります。[[CDemu]] は適切にこれを処理します。


=== ゲーム内に FPS オーバーレイを表示 ===
=== ゲーム内に FPS オーバーレイを表示 ===


Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 {{ic|1=WINEDEBUG=fps}} を設定してください。FPS は標準出力にアウトプットされます。{{pkg|xosd}} パッケージの {{ic|osd_cat}} を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト [https://gist.github.com/anonymous/844aefd70bb50bf72b35 winefps.sh] を見てください。
Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 {{ic|1=WINEDEBUG=fps}} を設定してください。FPS は標準出力にアウトプットされます。{{pkg|xosd}} パッケージの ''osd_cat'' を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト [https://gist.github.com/anonymous/844aefd70bb50bf72b35 winefps.sh] を見てください。


=== ユーザアカウントで Wine を実行 ===
=== Wine をユーザアカウントで実行する ===


{{Warning|これは適切なサンドボックス化方法ではなく、ファイルシステムのパーミッションによるホームディレクトリの保護しか行いません。サンドボックス化する必要がある場合は、[[firejail]] や [[bubblewrap]] のようなものを使用するべきです (これらには、rootful Xorg が必要であったり、音声の問題が発生したりといった欠点がありません)。}}
{{Note|以下の設定は Xorg の root を有効にしている場合にのみ機能します。詳しくは [[Xorg#Rootless Xorg (v1.16)]] を参照。}}


別のユーザーアカウントで Wine を実行することで、Windows アプリケーションからホームディレクトリにアクセスできてしまうという懸念を減らすことができます。
別のユーザーアカウントで Wine を実行することで、Windows アプリケーションからホームディレクトリにアクセスできてしまうという懸念を減らすことができます。


まず Wine 用の[[ユーザーとグループ|ユーザーアカウント]]を作成:
まず Wine 用の[[ユーザーアカウント]]を作成:


# useradd -m -s /bin/bash wineuser
# useradd -m -s /bin/bash wineuser

他の TTY に切り替えて、通常通り X WM や DE を起動するか、このまま読み続けてください。

{{Note|以下の方法は Xorg の root を有効にしている場合にのみうまく行きます。メインのユーザで {{ic|xhost}} を実行する方法については [[Xorg#Rootless Xorg]] を見てください。}}


新しいユーザーアカウントを使って Wine アプリケーションを開けるようにするために、X サーバーのパーミッションリストに新しいユーザーを追加してください:
新しいユーザーアカウントを使って Wine アプリケーションを開けるようにするために、X サーバーのパーミッションリストに新しいユーザーを追加してください:
400行目: 536行目:
以下のようにシェルスクリプトを使って Wine による Windows アプリケーションの実行を自動化できます:
以下のようにシェルスクリプトを使って Wine による Windows アプリケーションの実行を自動化できます:
{{hc|1=/usr/local/bin/runaswine|2=
{{hc|1=/usr/local/bin/runaswine|2=
#!/bin/bash
#!/bin/sh
xhost +SI:localuser:wineuser
xhost +SI:localuser:wineuser
sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"}}
sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"}}
410行目: 546行目:
Wine を実行するたびにパスワードが要求されないようにしたい場合、sudoers ファイルに次のエントリを追加してください: {{ic|1=''mainuser'' ALL=(wineuser) NOPASSWD: ALL}}。詳しくは [[Sudo#設定]]を参照。
Wine を実行するたびにパスワードが要求されないようにしたい場合、sudoers ファイルに次のエントリを追加してください: {{ic|1=''mainuser'' ALL=(wineuser) NOPASSWD: ALL}}。詳しくは [[Sudo#設定]]を参照。


{{ic|winecfg}} を Wine ユーザーで起動して、「デスクトップ統合」タブから Wine ユーザーのホームディレクトリ以外のディレクトリのバインドを全て削除することを推奨します (Wine によって起動したプログラムが Wine ユーザーのホームディレクトリの外のファイルにアクセスできないようにするため)。
{{ic|winecfg}} を Wine ユーザーで起動して、"Desktop Integration" タブから Wine ユーザーのホームディレクトリ以外のディレクトリのバインドを全て削除することを推奨します (Wine によって起動したプログラムが Wine ユーザーのホームディレクトリの外のファイルにアクセスできないようにするため)。


[[PulseAudio]] を使用している場合、Wine プログラムで音が鳴らなくなってしまいます。他のユーザーの PulseAudio デーモンに Wine ユーザーからアクセスできるようにする情報が [[PulseAudio/サンプル#複数のユーザーが同時に PulseAudio を使えるようにする]]にあります。
[[PulseAudio]] を使用している場合、Wine プログラムで音が鳴らなくなってしまいます。他のユーザーの PulseAudio デーモンに Wine ユーザーからアクセスできるようにする情報が [[PulseAudio/サンプル#複数のユーザーが同時に PulseAudio を使えるようにする]]にあります。

=== Temp ディレクトリを tmpfs 上に置く ===

Wine が物理ディスク上に一時ファイルを書き込まないようにするために、''tmpfs'' のような別の場所を使うことができます。Wine の一時ファイルのデフォルトのディレクトリを削除し、シンボリックリンクを作成してください:

$ rm -r ~/.wine/drive_c/users/$USER/Temp ~/.wine/drive_c/windows/temp
$ ln -s /tmp/ ~/.wine/drive_c/users/$USER/Temp
$ ln -s /tmp/ ~/.wine/drive_c/windows/temp

=== Mono/Gecko をインストールさせない ===

Gecko や Mono がシステムと Wine prefix のどちらにも存在しない場合、Wine はそれらをインターネットからダウンロードするか尋ねるダイアログを表示します。Gecko や Mono が必要ない場合、このダイアログを無効化できます: {{ic|WINEDLLOVERRIDES}} [[環境変数]]に {{ic|1=mscoree=d;mshtml=d}} を設定してください。


=== Vulkan ===
=== Vulkan ===
Wine 3.3 から [[Vulkan]] のサポートが含まれるようになっています。Wine Staging の古いバージョンの実装を置き換えます。現在のところ Vulkan は手動で設定が必要ですが、将来的には簡単に設定できるようになる予定です。Vulkan を設定する方法は [https://github.com/roderickc/wine-vulkan GitHub のページ] を見てください。


デフォルトの Wine Vulkan ICD ローダは、ほとんどのアプリケーションでうまく動作しますが、高度な機能はサポートしていません (例えば Vulkan レイヤー)。これらの機能を使うには、公式の Vulkan SDK をインストールしなければなりません。オリジナルの Vulkan パッチの作者の [https://github.com/roderickc/wine-vulkan GitHub ページ] のステップ 2 から 4 を見てください。
=== Remove Wine file bindings ===


=== Wine のファイルバインディングを除去する ===
For security reasons it may be useful to remove the preinstalled Wine bindings so Windows applications cannot be launched directly from a file manager or from the browser (Firefox offers to open EXE files directly with Wine!).

If you want to do this, you may add the following to the {{ic|1= [options]}} section in {{ic|1= /etc/pacman.conf}}
セキュリティ上の理由により、事前にインストールされている Wine バインディングを削除することは有用である場合があります。これにより、Windows アプリケーションはファイルマネージャやブラウザ (Firefox は EXE ファイルを直接 Wine で開くことができます) から直接起動できなくなります。
以下を {{ic|1= /etc/pacman.conf}} の {{ic|1= [options]}} セクションに追加してください:


NoExtract = usr/lib/binfmt.d/wine.conf
NoExtract = usr/lib/binfmt.d/wine.conf
NoExtract = usr/share/applications/wine.desktop
NoExtract = usr/share/applications/wine.desktop


=== Wine が自身のアプリケーションをデフォルトとして設定してしまう ===
== Troubleshooting ==


Wine は、prefix を作成 (または更新) する度に、それに応じて Notepad や Winebrowser などのバンドルされたアプリをデフォルトのテキストエディタやウェブブラウザとして設定します。
See [https://wiki.winehq.org/Wine_User%27s_Guide#Troubleshooting_.2F_Reporting_bugs Wine User's Guide - Troubleshooting] and [https://wiki.winehq.org/FAQ Wine FAQ], especially [https://wiki.winehq.org/FAQ#Troubleshooting FAQ Section Troubleshooting] for general tips on Troubleshooting.


この望ましくない挙動を回避する方法は、以下の[[環境変数]]を設定することです:
Also refer to the [https://appdb.winehq.org/ Wine AppDB] for advice on specific applications.


$ WINEDLLOVERRIDES=winemenubuilder.exe=d ...
=== XWayland problems ===


=== WineASIO ===
If you use Wine under [[Wayland#XWayland | XWayland]], you can activate the option for "Emulating a virtual desktop" in the Graphics Tab in winecfg, to avoid problems with:

* flickering
Wine で専門的なオーディオサポートが必要な場合、{{Aur|wineasio}} を使うことができます。これは、Wine 用の ASIO インターフェイスを提供し、[[JACK]] で使用できます。
* wrong window location

* wrong mouse cursor location and clicks
wineasio を使うためには、あなたのユーザアカウントを {{ic|realtime}} [[ユーザーとグループ#ユーザーグループ|ユーザーグループ]]に追加する必要があります。
* keyboard detection

次に、wineasio を wine prefix に登録する必要があります。必要に応じて32ビットバージョンや64ビットバージョンに登録してください:

$ regsvr32 /usr/lib32/wine/i386-windows/wineasio32.dll
$ wine64 regsvr32 /usr/lib/wine/x86_64-windows/wineasio64.dll

=== explorer.exe の起動を無効化する ===

X がインストールされていない状態でテキストモード ([https://www.winehq.org/docs/wineusr-guid%3Cbr%20/%3Ee/cui-programs Command User Interface]) の実行ファイルを実行すると、実行ファイルの起動中に以下のエラーが発生するかもしれません:

{{bc|0060:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0060:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
0060:err:systray:initialize_systray Could not create tray window
}}

{{ic|wine}} はデフォルトで explorer.exe を起動することが原因です。{{ic|ps}} の出力を見ればわかる通り、{{ic|wineconsole}} ですら {{ic|explorer.exe /desktop}} を起動します。

以下のように環境変数を設定することで、systray も含めて explorer の起動を無効化することができます:

$ WINEDLLOVERRIDES="explorer.exe=d" wine program.exe

CUI プログラムによっては、services.exe も無効化することによって目盛り使用量を最小限にすることができるかもしれません:

$ WINEDLLOVERRIDES="explorer.exe,services.exe=d" wine program.exe

== トラブルシューティング ==

一般的なヒントは [https://wiki.winehq.org/Wine_User%27s_Guide#Troubleshooting_.2F_Reporting_bugs Wine User's Guide] と [https://wiki.winehq.org/FAQ Wine FAQ] (特に [https://wiki.winehq.org/FAQ#Troubleshooting Troubleshooting] セクション) を見てください。

また、特定のアプリケーションでの推奨事項は [https://appdb.winehq.org/ Wine AppDB] を見てください。

=== インストールの一般的な問題 ===

それぞれの [[#WINEPREFIX|Wine prefix]] には、インストールされているプログラムからレジストリに至るまで多くの永続的な状態があります。プログラムのインストールに関する問題のトラブルシューティングの第一歩として、隔離された prefix を作成するか、{{ic|rm -rf ~/.wine}} でデフォルトの prefix を削除してみるべきでしょう。後者のコマンドは、デフォルトの prefix に追加したプログラムと設定を全て削除します。

=== libc.so.6 のロードエラー ===

wine を実行すると以下のエラーが発生することがあります:

{{hc|$ wine cmd|
/usr/bin/wine: error while loading shared libraries: libc.so.6: cannot create shared object descriptor: Operation not permitted
}}

これは、{{ic|mmap2}} のシステムコールが失敗したことが原因です:

mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not permitted)

これは [https://bugzilla.kernel.org/show_bug.cgi?id=198355 Linux カーネルの既知のバグ]です。

[[sysctl]] の {{ic|vm.mmap_min_addr}} の値をデフォルトの {{ic|65536}} から変更することで、問題が解決するようです:

# sysctl -w vm.mmap_min_addr=32768

=== Xwayland の問題 ===

[[Xwayland]] で Wine を使用する場合、以下のような問題を避けるために winecfg の Graphics タブで "Emulating a virtual desktop" のオプションを有効化できます:

* チラつき
* 誤ったウィンドウの位置
* 誤ったマウスカーソルの位置とクリック
* キーボード検出

仮想デスクトップを無効化すると winecfg のウィンドウがマウスとキーボードに反応しなくなってしまう場合、以下のコマンドで明示的にどれかの仮想デスクトップ上で winecfg を起動することで、再び使えるようにできます:

$ wine explorer /desktop=name,800x600 winecfg

Wayland で GUI ウィンドウ (winecfg など) を起動すると、何も表示されずコンソールに以下のエラーが出力される場合:

{{hc|$ wine winecfg|
Authorization required, but no authorization protocol specified

008c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
008c:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
008c:err:systray:initialize_systray Could not create tray window
}}

{{ic|DISPLAY}} 変数を {{ic|:1}} に設定してみてください:

$ DISPLAY=:1 wine winecfg

=== キーボード入力ができない ===

ウィンドウマネージャがフォーカスを切り替えないことにより発生することがあります。''winecfg'' の ''Graphics'' タブで、'Allow the window manager...' オプションを無効化してください。あるいは、ウィンドウモードを 'Emulate a virtual desktop' に設定してください。
* ''Window settings'' のオプションを全て切り替えて、''Apply'' をクリックし、そしてオプションを全て戻すと問題が解決するという人もいます。これがうまく行かない場合、上記の方法を試してください。

アプリケーションからフォーカスを移動させた後にキーボードが動作しなくなる場合、レジストリを編集してみてください:
* ''HKEY_CURRENT_USER\Software\Wine\X11 Driver'' に行き、文字列 ''UseTakeFocus'' を追加し、それを ''N'' にセットする。
* あるいは、[[#Winetricks|Winetricks]] を使って値をセットできます: {{bc|1=$ winetricks usetakefocus=n}}

=== アプリケーションが起動に失敗する ===

一部の古いゲームやアプリケーションは、[[Wikipedia:ja:カレントディレクトリ|カレントディレクトリ]]が実行ファイルの場所と同じであることを期待します。これらの実行ファイルを他の場所から実行すると、正しく起動しなくなってしまいます。このような問題を防ぐには、Wine を実行する前に {{ic|cd ''exeへのパス''}} を使ってください。


== 参照 ==
== 参照 ==


* [https://www.winehq.org/ Wine 公式ウェブサイト]
* [https://www.winehq.org/ Wine Homepage]
* [https://wiki.winehq.org/ Wine Wiki]
* [https://wiki.winehq.org/ Wine Wiki]
* [https://appdb.winehq.org/ Wine アプリケーションデータベース (AppDB)] - Windows アプリケーションの情報 (既知の問題、レーティング、ガイドなど)
* [https://appdb.winehq.org/ Wine Application Database (AppDB)] - 特定のアプリケーションを動作させるための情報 (特定のアプリケーションの既知の問題、評価、ガイドなど)
* [https://forum.winehq.org/ Wine フォーラム] - FAQ AppDB を見ても解決しない題はここで尋ねまょう
* [https://forum.winehq.org/ Wine Forums] - あなたが FAQ AppDB を見た''後''に質するための素晴らい場所
* [[Gentoo:Wine]]
* [https://www.darlinghq.org/ Darling] - MacOS ソフトウェア向けの Wine と似たプロジェクト
* [https://github.com/wineasio/wineasio WineASIO] - WineASIO プロジェクトの GitHub ページ。追加の情報あり。

{{TranslationStatus|Wine|2024-06-16|810069}}

2025年7月2日 (水) 19:13時点における最新版

Wine は、Microsoft Windows のアプリケーションを UNIX ライクな OS で動かすための 互換レイヤー です。Wine で実行されるプログラムは、エミュレータにあるようなパフォーマンスやメモリのペナルティなしに、ネイティブプログラムと同じように機能します。

警告

インストール

multilib リポジトリを有効にし、wine (開発版)、wine-stableAUR (安定版)、wine-staging (テスト版) のどれかをインストールすることで、Wine を利用できます。Wine StagingWine にパッチが適用されたバージョンで、安定ブランチや開発ブランチにマージされていないバグフィックスや機能追加が含まれています。これらは、64 ビット Linux ライブラリのみを使用しており、32 ビット Windows アプリケーションを実行するためのモード付きでビルドされています。

その他の要件については #グラフィックドライバ#サウンド も見てください。

Internet Explorer や .NET に依存しているアプリケーションを使う場合、それぞれ wine-geckowine-mono をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、これらのパッケージは pacman で管理するべきです 。

任意の依存パッケージ

ヒント 一般的な依存パッケージ (特にゲーム関連) は lutris のドキュメントにリストアップされています。

Wine には、基本的なアプリケーションでは必要ないが、サウンド、3D グラフィックス、動画再生などを提供するためにインストールする必要がある任意の依存パッケージが多くあります。

多くの Windows アプリケーションは 32 ビットであり、32 ビット版のライブラリが必要であることに注意してください。これらのライブラリの一部は AUR でしか入手できません。標準 (64 ビット) のライブラリは、64 ビットアプリケーションに対して、または、新しい WoW64 モード (#インストール 章のノートを参照) のある Wine バージョンを実行している場合は全てのアプリケーションに対して使用することができます。Windows 実行ファイルが 64 ビットであるかどうかは、file(1) コマンドで確認することができます。

グラフィックドライバ

グラフィックドライバの32ビットバージョンをインストールする必要があります。Xorg#ドライバーのインストール にある表の OpenGL (multilib) 列に載っているパッケージをインストールしてください。

Wine がターミナルウィンドウに以下のようなメッセージを出力する場合、ドライバが不適切であるか正しく設定されていないことの印です:

Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly
ノート 適切なライブラリをインストールした後は X を再起動する必要があるかもしれません。

サウンド

デフォルトの状態では、Wine アプリケーションを実行する際にサウンドの問題が発生する場合があります。winecfg でサウンドデバイスが1つだけ選択されていることを確認してください。

あなたが使いたいオーディオドライバの正しいパッケージをインストールしてください:

上記のパッケージをインストールしてもなおwinecfg がオーディオドライバを見つけられない時 (Selected driver: (none)) は、レジストリから設定してください。例えば、64ビットの標準の wine-1.9.7 で32ビットの Windows アプリケーションを使ったときにマイクが機能しない場合、次の手順でサウンドハードウェア (サウンドプレイバックとマイク) にアクセスできるようになります: regedit を開いて HKEY_CURRENT_USER > Software > Wine > Drivers と進んで Audio という名前の文字列を追加して値を alsa に設定してください。また、prefix を再作成することで解決するかもしれません。

MIDI サポート

90年代のビデオゲームでは音楽に MIDI を使うのが人気でした。古いゲームを動かすときは、設定をしないと音楽が再生できないのは珍しくありません。 Wine には素晴らしい MIDI サポートがあります。ただし、最初に MIDI がシステムで動くように設定する必要があります。詳しくは MIDI を見てください。そして Wine が適切な MIDI 出力を使うように設定しなくてはなりません。

他の依存パッケージ

一部のアプリケーションは追加のパッケージを必要とします [1]

Prefix 内の依存パッケージ

システムの依存パッケージとは別に、多くのプログラムは追加のフォントや DLL が Wine prefix にインストールされていることを要求します [2]。これらの依存関係は、Winetricks を使うことでインストールすることができます。Winetricks はシンプルなパッケージマネージャで、何かをインストールしたり、設定の調整を行ったりする verb が用意されています。Winetricks には2つの使い方があります:

  • CLI から: winetricks verb_name を実行する。
  • GUI から: zenitykdialog をインストールし、winetricks を実行する。

依存パッケージ間の衝突により、何でもできる "完璧な" Windows 環境を構築することができない場合があります [3] [4]。そうするよりも、(重要な設定やデータが存在しない限り) prefix を使い捨てにして、異なる依存パッケージを必要とするプログラム毎に個別の prefix を使用するほうが良いです。#WINEPREFIX 環境変数を使うことで、どの prefix に対して verb を実行するかを指定することができます。

プログラムが必要とする verb を知るには、多くのトライアンドエラーが必要になる可能性があります。一部のより一般的な依存パッケージは Bottles の依存関係ページを、また以下のプログラム固有のリソースを参照してください:

  • Wine Application Database: 公式のリソースですが、古く、他のものと比べてメンテナンスされていないかもしれません。
  • Lutris のウェブサイト。このサイトで扱われているゲームを実行しようとしているならば、ドロップダウンメニューをクリックして、View install script をクリックすることで Lutris で使用されている Winetricks の verb を見ることができます。
  • Bottles のプログラムリポジトリ。小さいですが、ゲーム以外もあります。
  • ProtonDB。Proton は Wine とは異なる互換性があります (それに加え、このサイトを見るなら単に Proton を使うほうが良いかもしれません)。しかし、ユーザーが書き込んだ verb は使えるかもしれません。
    • また、proton-ge-custom に同梱されている変化の速い protonfixes ツールのソースを参照することもできます。しかし、このツールはゲームを修正する追加の Proton と GE のパッチが存在していることを想定しています。

ゲームの prefix を管理するのに多くの時間が掛かる場合は、prefix を管理してくれるサードパーティのアプリケーションを使う方が簡単かもしれません。

サードパーティ製アプリケーション

以下のアプリケーションは、独自のコミュニティーとウェブサイトを持っており、メインの Wine コミュニティによって サポートされていません。詳しくは Wine Wiki を見てください。

  • Bottles — Wine 用のグラフィカルな prefix マネージャであり、ランナーマネージャ。GTK ベース。
https://usebottles.com/ || bottlesAUR
  • CrossOver — 公式の商用版 Wine。グラフィカルなインターフェイスと包括的なエンドユーザーサポートを提供しています。
https://www.codeweavers.com || crossoverAUR
  • Lutris — Wine のゲームから Linux ネイティブのゲーム、エミュレータまで、あらゆるゲームに対応するゲームランチャー (prefix の管理機能が存在します)。
https://lutris.net || lutris
  • PlayOnLinux — Wine のグラフィカルな prefix マネージャです。プログラムのインストールと設定を支援するスクリプトが含まれています。
https://www.playonlinux.com || playonlinuxAUR
  • ProtonSteam のために作成された互換ツール。Wine と追加のコンポーネントをベースとしています。互換性のリストは ProtonDB を見てください。
https://github.com/ValveSoftware/Proton || protonAUR
  • PyWinery — シンプルでグラフィカルな Wine 用の prefix マネージャ。
https://github.com/ergoithz/pywinery || pywineryAUR
  • Q4Wine — Wine のグラフィカルな prefix マネージャ。Qt テーマを Wine の設定に適用することで見た目を統合することができます。
https://sourceforge.net/projects/q4wine/ || q4wine-gitAUR
  • WINEgui — ユーザフレンドリーな WINE グラフィカルインターフェイス。
https://gitlab.melroy.org/melroy/winegui || wineguiAUR, winegui-binAUR

設定

通常 Wine の設定には以下を用います:

  • winecfg は Wine の GUI 設定ツールです。winecfg を実行することで起動できます。
  • regedit は Wine のレジストリ編集ツールです。regedit を実行することで起動できます。WineHQ の記事 Useful Registry Keys を見てください。
  • control は Windows コントロールパネルの Wine 実装です。wine control を実行することで起動できます。
  • 完全なリストは WineHQ の List of Commands を見てください。

WINEPREFIX

デフォルトでは、Wine の設定ファイルとインストールされた Windows プログラムは ~/.wine に置かれます。このディレクトリは一般的に "Wine prefix" や "Wine bottle" と呼ばれます。Windows プログラムを動かしたり、Wine を設定するための winecfg を動かすと自動的にフォルダが作成されます。そして Wine で動いているプログラムはこのフォルダの下のツリーを C: (C ドライブ) とみなします。

ノート Wine の prefix には前方互換性がありません。新しいバージョンの Wine は、必要に応じて自動的に古い prefix をアップグレードします。アップグレードされると、その prefix は古いバージョンの Wine で動作しなくなる場合があります。[5]

WINEPREFIX 環境変数を設定することで、Wine が使用する prefix の場所を指定することができます。これは Windows プログラムにそれぞれ違う設定をしたいときに便利です。初めて新しい Wine の prefix を使ってプログラムを起動した時、Wine は自動で C ドライブとレジストリの入ったディレクトリを作成します。

例えば、env WINEPREFIX=~/.win-a wine program-a.exeenv WINEPREFIX=~/.win-b wine program-b.exe のようにプログラムを動かせば、2つのプログラムは別の C ドライブとレジストリを使います。

警告 Wine の prefix はサンドボックスではありません!Wine で動いているプログラムは依然として Wine システムの外にアクセスすることが可能です (例えば、Wine の prefix に関係なく、Z:/ にマッピングされます)。

Windows プログラムや GUI ツールを実行せずに、デフォルトの prefix を作成するには:

$ env WINEPREFIX=~/.customprefix wineboot -u

WINEARCH

Wine はデフォルトで 64 ビットの環境を作ります。この挙動は WINEARCH 環境変数を使うことで変更できます。~/.wine ディレクトリの名前を変更し、$ WINEARCH=win32 winecfg を実行して新しい Wine 環境を作成してください。これで 32 ビットの Wine 環境が作られます。WINEARCH を設定しないときは 64 ビット環境が作られます。

WINEPREFIX を使うことで win32 環境と win64 環境を分離することができます:

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
$ WINEPREFIX=~/win64 winecfg

WINEARCHwinetricks などの他の Wine プログラムと一緒に使うこともできます (以下の例では Steam):

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam

prefix のアーキテクチャは、レジストリファイルを見ることで確認できます。以下のコマンドは、~/.wine prefix のシステムレジストリを読み込み、アーキテクチャタイプに応じて #arch=win32#arch=win64 を返します:

$ grep '#arch' ~/.wine/system.reg

フォント

Wine アプリケーションで読みづらいフォントや不足しているフォントがある場合、フォントがインストールされていないのかもしれません。Wine からアクセスできるようにシステムフォントにすべてリンクするには:

$ cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf}; do ln -s "$i"; done

Wine はフォントをレンダリングするために FreeType を使用します。FreeType のデフォルトは数リリース前に変更されました。Wine でプログラムを実行する際に以下の環境変数を使ってみてください:

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

他の手段として、Wine prefix に Microsoft の TrueType フォントをインストールするというものがあります。これでもうまく行かない場合、まず winetricks corefonts を実行し、最後の手段として winetricks allfonts を実行してみてください。

プログラムを実行した後は、すべての Wine サーバを kill して winecfg を実行してください。これでフォントが読めるようになるはずです。

フォントが汚く見える場合、regedit を使って以下のテキストファイルを Wine のレジストリにインポートしてください:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"

高解像度ディスプレイにおいては、dpi の値を winecfg で調整できます。

フォント設定#fontconfig をサポートしていないアプリケーション も参照してください。

フォントスムージングの有効化

Wine のフォントレンダリングを改善する良い方法として、cleartype フォントスムージングを有効化するというものがあります。 "Subpixel smoothing (ClearType) RGB" を有効化するには:

/tmp/fontsmoothing.reg
REGEDIT4

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingOrientation"=dword:00000001
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
EOF
$ WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} $WINE regedit /tmp/fontsmoothing.reg 2> /dev/null

詳細は 元になった回答 を見てください。

デスクトップランチャーメニュー

Windows アプリケーションインストーラによってショートカットが作成された場合、Wine は .desktop ファイルを作成します。Arch Linux ではデフォルトで以下の場所にファイルが作成されます:

  • デスクトップショートカットは ~/Desktop に保存されます
  • スタートメニューのショートカットは ~/.local/share/applications/wine/Programs/ に保存されます
ノート Wine は全てのユーザー共通で Windows アプリケーションをインストールすることはできません。.desktop ファイルが /usr/share/applications に作成されることはありません。詳しくは WineHQ バグの 11112 を見てください。
ヒント メニューがインストールしてもファイルが作られなかったりもしくは消えてしまった場合、wine winemenubuilder を使ってください。

Wine ユーティリティのメニューエントリを作成する

デフォルトでは、Wine をインストールしても Wine に付属しているソフトウェア (例:winecfgwinebrowser など) のデスクトップメニューやアイコンは作られません。wine-installerAURwine-installer-gitAUR をインストールすることでこれらを作成できます。あるいは、以下の指示により、これらのアプリケーションのエントリを追加できます。

まず、ベースメニューを作るために Wine で Windows プログラムをインストールします。ベースメニューが作られたら、~/.local/share/applications/wine/ に以下のファイルを作成してください:

wine-browsedrive.desktop
[Desktop Entry]
Name=Browse C: Drive
Comment=Browse your virtual C: drive
Exec=wine winebrowser c:
Terminal=false
Type=Application
Icon=folder-wine
Categories=Wine;
wine-uninstaller.desktop
[Desktop Entry]
Name=Uninstall Wine Software
Comment=Uninstall Windows applications for Wine
Exec=wine uninstaller
Terminal=false
Type=Application
Icon=wine-uninstaller
Categories=Wine;
wine-winecfg.desktop
[Desktop Entry]
Name=Configure Wine
Comment=Change application-specific and general Wine options
Exec=winecfg
Terminal=false
Icon=wine-winecfg
Type=Application
Categories=Wine;

そして ~/.config/menus/applications-merged/ に次のファイルを作成してください:

wine.menu
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
  <Name>Applications</Name>
  <Menu>
    <Name>wine-wine</Name>
    <Directory>wine-wine.directory</Directory>
    <Include>
      <Category>Wine</Category>
    </Include>
  </Menu>
</Menu>

以上の設定でアイコンが表示されない、あるいはアイコンが醜い場合は、有効になっているアイコンセットにランチャーのためのアイコンが存在しないのが原因です。使いたいアイコンの位置を指定してアイコンの設定を置き換えてください。プロパティメニューのアイコンをクリックしても同じことができます。これらのショートカットをサポートしているアイコンセットは gnome-colors-icon-themeAUR です。

メニューエントリを削除する

Wine によって作成されるエントリは ~/.local/share/applications/wine/Programs/ にあります。プログラムの ".desktop" エントリを削除すればメニューからアプリケーションが削除されます。

Wine による不要な拡張を削除するのに加えて、以下のコマンドを実行: [6]

$ rm ~/.local/share/mime/packages/x-wine*
$ rm ~/.local/share/applications/wine-extension*
$ rm ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
$ rm ~/.local/share/mime/application/x-wine-extension*

場合によっては、KDE の Wine サブメニューからアイテムを完全に削除するために、wine-*.menu/.config/menus/ から削除する必要があります。

外観

XP のような見た目のテーマをダウンロードできます。これをインストールするには、この上流の wiki 記事 を見てください。最後に、winecfg を使ってそのテーマを選択してください。

ノート 上記のリンクのテーマは、Windows XP の prefix バージョンが設定された32ビット prefix にしかインストールできません。64ビット prefix にインストールするには、一時的な32ビット prefix を作成し、テーマをインストールし、drive_c/Windows/Resources/Themes から Zune フォルダと Zune.theme ファイルを64ビットの prefix の同じ場所にコピーする必要があるかもしれません。

Wine staging のユーザは、現在の GTK テーマにマッチさせるために、代わりに winecfg の Staging セクションの Enable GTK3 Theming オプションを有効化する必要があるかもしれません。

印刷

win32 prefix で wine アプリケーション (例: MS Word) を使ってプリンター (ローカル・ネットワーク両方) を使用するには lib32-libcups パッケージをインストールしてください。それから wine アプリケーションを再起動 (wineboot) してください。

ネットワーク

アプリケーションが LTS や HTTPS 接続を行えるようにするために、場合によっては Wine のインストール後に lib32-gnutlsインストールする必要があります。

ICMP (ping) の場合、WineHQ FAQ で説明されているように Wine はネットワークアクセスを必要とします:

# setcap cap_net_raw+epi /usr/bin/wine-preloader

このコマンドを実行した後に問題が発生する場合 (キャッチされない例外や特権命令など)、以下を実行してケーパビリティを削除してください:

# setcap -r /usr/bin/wine-preloader

使用法

警告 Wine アプリケーションを root として実行/インストールしないでください! 詳細は Wine FAQ を見てください。

Wine の使用法に関する一般的な情報は Wine User's Guide を見てください。

Wine における特定の Windows アプリケーションに関する追加の情報は Wine Application Database (AppDB) を見てください。

Wayland

警告 ネイティブな Wayland ドライバはまだ実験段階です。

デフォルトでは、Wine は Wayland 上で動作する際に Xwayland を使用します。これは、ほとんどのユーザーにとって十分なエクスペリエンスを得られます。バージョン 9.0rc1 現在、Wine はネイティブな Wayland サポートにおいて大幅な進捗があり、一部のユースケースにおいては使用に適した状態になっています。

最近の Wine バージョンで追加されたネイティブな Wayland ドライバを試すには、以下の手順を踏んでください:

  • regedit で以下のテキストファイルを Wine レジストリにインポートしてください:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\Drivers]
"Graphics"="x11,wayland"
  • DISPLAY 環境変数を空にして、Xwayland を使用せずにネイティブな Wayland ドライバを強制してください:
$ DISPLAY= wine example.exe

2番目の手順で Wine が停止した場合は、インストールされている Wine のバージョンが新しい Wayland ドライバのサポートありでビルドされていることを確認してください。

Wine の実行を停止する

起動済みのプログラムを停止する (wine に対して wine、あるいは wineconsole に対して Ctrl+C を押す) と、バックグラウンドでプロセスが実行中のままになってしまうかもしれません。例えば:

$ ps -xo pid,cmd
    PID CMD
    297 -bash
    933 /usr/bin/wineserver
    939 C:\windows\system32\services.exe
    942 C:\windows\system32\winedevice.exe
    950 C:\windows\system32\explorer.exe /desktop
    954 C:\windows\system32\winedevice.exe
    965 C:\windows\system32\plugplay.exe
    977 C:\windows\system32\svchost.exe -k LocalServiceNetworkRestricted
    984 C:\windows\system32\rpcss.exe
    997 mbserver.exe
   1017 start.exe /exec
   1019 C:\windows\system32\conhost.exe --unix --width 169 --height 40 --server 0x10
   1021 Z:\home\wineuser\mbserver.exe
   1030 ps -xo pid,cmd

実行中の winewineconsole プロセスは、wineserver -k コマンドを使って一度にすべて停止できます。例えば:

$ wineserver -k 15

このコマンドは WINEPREFIX 変数に依存しているため、カスタムの Wine prefix を使用している場合は、以下のコマンドを使用してください:

$ WINEPREFIX=~/wine/my-prefix wineserver -k

上記の例で挙げたプログラムを両方停止するコマンドは以下のようになります:

$ kill 997 1021

ヒントとテクニック

Wineconsole

.exe を実行してゲームファイルにパッチを適用する必要がある場合 (例えば古いゲームにワイドスクリーン対応 MOD を適用するなど)、通常の方法で Wine から .exe を実行しても何も起きないことがあります。その場合、ターミナルを開いて以下のコマンドを実行してください:

$ wineconsole cmd

そして、プログラムがあるフォルダまで移動して、.exe プログラムを実行してください。

Winetricks

Winetricks は Windows プログラムを動かすために必要なランタイムなどをインストールするためのスクリプトです。DirectX 9.x や MSXML (Microsoft Office 2007 や Internet Explorer で必要)、Visual ランタイムライブラリなどをインストールできます。

使うには winetricks パッケージ (あるいは winetricks-gitAUR) をインストールしてください。そして、以下で実行してください:

$ winetricks

GUI を使う場合、zenity (GTK) か kdialog (Qt) をインストールしてください。

パフォーマンス

CSMT

CSMT は OpenGL 呼び出しに対して別のスレッドを使うことでパフォーマンスを著しく向上させる技術で、Wine によって使われています。Wine 3.2 から CSMT はデフォルトで有効になっています。

アプリケーションによっては CSMT がパフォーマンスを劣化させることがあります。そのような場合、wine regedit を実行してレジストリエディタを起動し、HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt に DWORD の値 0x00 を設定して、CSMT を無効化してください。

詳細:

CSMT の開発者 Stefan Dösinger による Phoronix Forum の議論

ゲームで強制的に OpenGL モードにする

多くのゲームには OpenGL モードがあり多くの場合デフォルトの DirectX モードより良いパフォーマンスが出ます。OpenGL レンダリングを有効にする方法はそれぞれのアプリケーションによる一方、多くのゲームは -opengl パラメータを認識します。

$ wine /path/to/3d_game.exe -opengl

詳しい情報は、それぞれのアプリケーションのドキュメントや Wine の AppDB を見てください。

VKD3D-Proton

VKD3D-ProtonVKD3D のフォークで、Vulkan を用いて完全な Direct3D 12 API の実装を目指しています。このプロジェクトは、Proton で Direct3D 12 をサポートし、DirectX 12 ゲームのパフォーマンスと互換性を向上させるものです。

VKD3D-Proton を使うには、vkd3d-proton-mingwAUR または vkd3d-proton-binAUR をインストールしてください。そして、以下のコマンドを実行し、prefix (デフォルトでは ~/.wine) で VKD3D-Proton を有効化してください:

$ WINEPREFIX=your-prefix setup_vkd3d_proton install
警告 VKD3D-Proton は DirectX 12 の DLL を上書きします。これは、オンラインマルチプレイヤーゲームではチートとみなされる場合があり、あなたのアカウントが BAN されてしまうかもしれません。自己責任で使用してください!

DXVK

DXVK は、DirectX 9、10、11 の Vulkan による実装です。ほとんどのゲームにおいて、こちらのほうが WineD3D ドライバよりもパフォーマンス及び互換性で勝っています。

DXVK を使うには、dxvk-mingwAUR または dxvk-binAUR をインストールしてください。そして、以下のコマンドを実行し、prefix (デフォルトでは ~/.wine) で DXVK を有効化してください:

$ WINEPREFIX=your-prefix setup_dxvk install

DXVK をデュアルグラフィックスの環境で使用する場合、Wine は専用の GPU を優先します。ノート PC では、省電力のためにこれを上書きできます:

$ VK_DRIVER_FILES=/usr/share/vulkan/icd.d/your_driver.json wine executable
HDR サポート

Gamescope と一緒に使用する場合、DXVK (V2.1+) は HDR10 ディスプレイのサポートを提供します (AMDGPU ユーザのみ)。詳細は HDR モニターのサポート を参照してください。

Gallium Nine

Gallium ベースの mesa ドライバを使用する場合 (ほとんどの場合 AMD と Intel のカード)、DirectX 9 で優れたパフォーマンスを出すネイティブな Gallium Direct3D ドライバがあります。このドライバは DXVK によりほとんど使われなくなりましたが、Vulkan のサポートがない場合に依然として便利である場合があります。DXVK と Gallium Nine のパフォーマンスはほぼ同じであるはずです。

Gallium Nine を使うには wine-nine をインストールしてください。これはスタンドアローンパッケージで、どの Wine バージョンとも併用できます。有効化されているか確かめるには wine ninewinecfg を実行してください。

古い Intel graphics (4 から 7 世代: GMA 3000, GMA 4500, HD 2000-5000; 2006年-2014年) では、Mesa 21.2 以降 Crocus Gallium ドライバが i965 の代わりに使用されるはずです。Wine を実行する前に以下の環境変数を Export してください:

MESA_LOADER_DRIVER_OVERRIDE=crocus

Wine によるファイルの関連付けの解除

デフォルトで、大量のフォーマットで Wine はデフォルトアプリケーションとして設定されます。Windows にしかないフォーマットもあり (例: vbschm)、その場合 Wine で開けるようになるのは便利かもしれません。しかしながら、他のフォーマット (例: gif, jpeg, txt, js) が Wine の素っ気ない Internet Explorer やメモ帳で開かれるのは迷惑と感じることもあるでしょう。

Wine のファイルの関連付けは ~/.local/share/applications/ にある wine-extension-extension.desktop というファイルによって設定されます。関連付けを解除したい拡張子の名前が入っているファイルを削除してください。もしくは、Wine の関連付けを全て削除したい場合:

$ rm -f ~/.local/share/applications/wine-extension*.desktop
$ rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*

古いキャッシュを削除:

$ rm -f ~/.local/share/applications/mimeinfo.cache
$ rm -f ~/.local/share/mime/packages/x-wine*
$ rm -f ~/.local/share/mime/application/x-wine-extension*

キャッシュをアップデート:

$ update-desktop-database ~/.local/share/applications
$ update-mime-database ~/.local/share/mime/

削除しても、アプリケーションによってファイルの関連付けが設定されたら、Wine はファイルの関連付けを作成し続けます。

Wine がファイルの関連付けをしないようにする

ノート 以下の作業は、/usr/share/wine/wine.inf を変更しない限り、ファイルの関連付けをアップデートさせたくない WINEPREFIX それぞれに対して行わなければなりません。

以下の方法は、ファイルの関連付けを作成することを防止しますが、XDG .desktop ファイルは保持します (メニューなどに表示されるかもしれません)。

winecfg を通して Wine がファイルの関連付けをしないように設定するには、Desktop Integration タブのチェックボックス "Manage File Associations" のチェックを解除する必要があります。Wine FAQ を見てください。

レジストリを通して同じ変更を加えるには、以下に文字列 EnableN という値で追加してください:

HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations

まず、FileOpenAssociations キーを作成する必要があるかもしれません。

この変更をコマンドラインを通して加えるには、以下のコマンドを実行してください:

$ wine reg add "HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations" /v Enable /d N

新しく作成される WINEPREFIX に対してこの変更をデフォルトで加えるようにしたい場合、/usr/share/wine/wine.inf を編集し、例えば以下の行を [Services] セクションに追加してください:

HKCU,"Software\Wine\FileOpenAssociations","Enable",2,"N"

パッケージのアップグレードの際にこのファイルが上書きされないようにするには、pacman フックを作成して上記の変更が自動的に加えられるようにしてください:

/etc/pacman.d/hooks/stop-wine-associations.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/share/wine/wine.inf

[Action]
Description = Stopping Wine from hijacking file associations...
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/grep -q "HKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"" /usr/share/wine/wine.inf || /usr/bin/sed -i "s/\[Services\]/\[Services\]\nHKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"/g" /usr/share/wine/wine.inf'

詳細は Pacman#フック を見てください。

Windows バイナリを暗黙的に Wine で実行する

wine パッケージは binfmt ファイルをインストールします。このファイルにより、Windows プログラムを直接実行できるようになります。例えば、./myprogram.exe は、wine ./myprogram.exe と入力した時と同じように振る舞います。デフォルトでサービスは起動時に開始されます。Wine をインストールした後に再起動していないのであれば、systemd-binfmt.service起動することで、すぐに使えるようになります。

ノート Windows バイナリが実行可能であることを確認してください。さもないと、バイナリは実行されません。

異なる解像度でのデュアルスクリーン

デュアルヘッドの設定でディスプレイの解像度が異なったときに問題が起きる場合はおそらく lib32-libxrandr をインストールしていません。

lib32-libxinerama をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります (例えば、最右や最下のモニタでアプリケーションのボタンやメニューがクリックできなくなったり、アプリケーションのインターフェイスが再描画されなかったり、アプリケーションのエリアでマウスカーソルがドラッグの状態のまま固まったりします)。

光学メディアを焼く

CD や DVD を焼くためには、sg カーネルモジュールをロードする必要があります。

光学メディアイメージの適切なマウント

一部のアプリケーションは光学メディアがドライブにあるかの確認をします。ほとんどはデータの確認だけなので、winecfg で CD-ROM ドライブのパスを正しく設定すれば問題ありません。 しかし、アプリケーションによってはメディアの名前やシリアルナンバーを確認するので、イメージを特別なプロパティを使ってマウントする必要があります。

fuse ベースの仮想ドライブ (例えば Acetoneiso) など、仮想ドライブツールはこれらのメタデータを扱えないことがあります。CDemu は適切にこれを処理します。

ゲーム内に FPS オーバーレイを表示

Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 WINEDEBUG=fps を設定してください。FPS は標準出力にアウトプットされます。xosd パッケージの osd_cat を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト winefps.sh を見てください。

Wine を別のユーザアカウントで実行する

警告 これは適切なサンドボックス化方法ではなく、ファイルシステムのパーミッションによるホームディレクトリの保護しか行いません。サンドボックス化する必要がある場合は、firejailbubblewrap のようなものを使用するべきです (これらには、rootful Xorg が必要であったり、音声の問題が発生したりといった欠点がありません)。

別のユーザーアカウントで Wine を実行することで、Windows アプリケーションからホームディレクトリにアクセスできてしまうという懸念を減らすことができます。

まず Wine 用のユーザーアカウントを作成:

# useradd -m -s /bin/bash wineuser

他の TTY に切り替えて、通常通り X WM や DE を起動するか、このまま読み続けてください。

ノート 以下の方法は Xorg の root を有効にしている場合にのみうまく行きます。メインのユーザで xhost を実行する方法については Xorg#Rootless Xorg を見てください。

新しいユーザーアカウントを使って Wine アプリケーションを開けるようにするために、X サーバーのパーミッションリストに新しいユーザーを追加してください:

$ xhost +SI:localuser:wineuser

以下のコマンドを使って Wine を実行することができます (env を使用して Wine の起動する環境を設定します):

$ sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine arguments

以下のようにシェルスクリプトを使って Wine による Windows アプリケーションの実行を自動化できます:

/usr/local/bin/runaswine
#!/bin/sh
xhost +SI:localuser:wineuser
sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"

シェルスクリプトを保存したら、以下のようにして Wine アプリケーションを起動できます:

$ runaswine "C:\path\to\application.exe"

Wine を実行するたびにパスワードが要求されないようにしたい場合、sudoers ファイルに次のエントリを追加してください: mainuser ALL=(wineuser) NOPASSWD: ALL。詳しくは Sudo#設定を参照。

winecfg を Wine ユーザーで起動して、"Desktop Integration" タブから Wine ユーザーのホームディレクトリ以外のディレクトリのバインドを全て削除することを推奨します (Wine によって起動したプログラムが Wine ユーザーのホームディレクトリの外のファイルにアクセスできないようにするため)。

PulseAudio を使用している場合、Wine プログラムで音が鳴らなくなってしまいます。他のユーザーの PulseAudio デーモンに Wine ユーザーからアクセスできるようにする情報が PulseAudio/サンプル#複数のユーザーが同時に PulseAudio を使えるようにするにあります。

Temp ディレクトリを tmpfs 上に置く

Wine が物理ディスク上に一時ファイルを書き込まないようにするために、tmpfs のような別の場所を使うことができます。Wine の一時ファイルのデフォルトのディレクトリを削除し、シンボリックリンクを作成してください:

$ rm -r ~/.wine/drive_c/users/$USER/Temp ~/.wine/drive_c/windows/temp
$ ln -s /tmp/ ~/.wine/drive_c/users/$USER/Temp
$ ln -s /tmp/ ~/.wine/drive_c/windows/temp

Mono/Gecko をインストールさせない

Gecko や Mono がシステムと Wine prefix のどちらにも存在しない場合、Wine はそれらをインターネットからダウンロードするか尋ねるダイアログを表示します。Gecko や Mono が必要ない場合、このダイアログを無効化できます: WINEDLLOVERRIDES 環境変数mscoree=d;mshtml=d を設定してください。

Vulkan

デフォルトの Wine Vulkan ICD ローダは、ほとんどのアプリケーションでうまく動作しますが、高度な機能はサポートしていません (例えば Vulkan レイヤー)。これらの機能を使うには、公式の Vulkan SDK をインストールしなければなりません。オリジナルの Vulkan パッチの作者の GitHub ページ のステップ 2 から 4 を見てください。

Wine のファイルバインディングを除去する

セキュリティ上の理由により、事前にインストールされている Wine バインディングを削除することは有用である場合があります。これにより、Windows アプリケーションはファイルマネージャやブラウザ (Firefox は EXE ファイルを直接 Wine で開くことができます) から直接起動できなくなります。 以下を /etc/pacman.conf[options] セクションに追加してください:

NoExtract = usr/lib/binfmt.d/wine.conf
NoExtract = usr/share/applications/wine.desktop

Wine が自身のアプリケーションをデフォルトとして設定してしまう

Wine は、prefix を作成 (または更新) する度に、それに応じて Notepad や Winebrowser などのバンドルされたアプリをデフォルトのテキストエディタやウェブブラウザとして設定します。

この望ましくない挙動を回避する方法は、以下の環境変数を設定することです:

$ WINEDLLOVERRIDES=winemenubuilder.exe=d ...

WineASIO

Wine で専門的なオーディオサポートが必要な場合、wineasioAUR を使うことができます。これは、Wine 用の ASIO インターフェイスを提供し、JACK で使用できます。

wineasio を使うためには、あなたのユーザアカウントを realtime ユーザーグループに追加する必要があります。

次に、wineasio を wine prefix に登録する必要があります。必要に応じて32ビットバージョンや64ビットバージョンに登録してください:

$ regsvr32 /usr/lib32/wine/i386-windows/wineasio32.dll
$ wine64 regsvr32 /usr/lib/wine/x86_64-windows/wineasio64.dll

explorer.exe の起動を無効化する

X がインストールされていない状態でテキストモード (Command User Interface) の実行ファイルを実行すると、実行ファイルの起動中に以下のエラーが発生するかもしれません:

0060:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0060:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
0060:err:systray:initialize_systray Could not create tray window

wine はデフォルトで explorer.exe を起動することが原因です。ps の出力を見ればわかる通り、wineconsole ですら explorer.exe /desktop を起動します。

以下のように環境変数を設定することで、systray も含めて explorer の起動を無効化することができます:

$ WINEDLLOVERRIDES="explorer.exe=d" wine program.exe

CUI プログラムによっては、services.exe も無効化することによって目盛り使用量を最小限にすることができるかもしれません:

$ WINEDLLOVERRIDES="explorer.exe,services.exe=d" wine program.exe

トラブルシューティング

一般的なヒントは Wine User's GuideWine FAQ (特に Troubleshooting セクション) を見てください。

また、特定のアプリケーションでの推奨事項は Wine AppDB を見てください。

インストールの一般的な問題

それぞれの Wine prefix には、インストールされているプログラムからレジストリに至るまで多くの永続的な状態があります。プログラムのインストールに関する問題のトラブルシューティングの第一歩として、隔離された prefix を作成するか、rm -rf ~/.wine でデフォルトの prefix を削除してみるべきでしょう。後者のコマンドは、デフォルトの prefix に追加したプログラムと設定を全て削除します。

libc.so.6 のロードエラー

wine を実行すると以下のエラーが発生することがあります:

$ wine cmd
/usr/bin/wine: error while loading shared libraries: libc.so.6: cannot create shared object descriptor: Operation not permitted

これは、mmap2 のシステムコールが失敗したことが原因です:

mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not permitted)

これは Linux カーネルの既知のバグです。

sysctlvm.mmap_min_addr の値をデフォルトの 65536 から変更することで、問題が解決するようです:

# sysctl -w vm.mmap_min_addr=32768

Xwayland の問題

Xwayland で Wine を使用する場合、以下のような問題を避けるために winecfg の Graphics タブで "Emulating a virtual desktop" のオプションを有効化できます:

  • チラつき
  • 誤ったウィンドウの位置
  • 誤ったマウスカーソルの位置とクリック
  • キーボード検出

仮想デスクトップを無効化すると winecfg のウィンドウがマウスとキーボードに反応しなくなってしまう場合、以下のコマンドで明示的にどれかの仮想デスクトップ上で winecfg を起動することで、再び使えるようにできます:

$ wine explorer /desktop=name,800x600 winecfg

Wayland で GUI ウィンドウ (winecfg など) を起動すると、何も表示されずコンソールに以下のエラーが出力される場合:

$ wine winecfg
Authorization required, but no authorization protocol specified

008c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
008c:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
008c:err:systray:initialize_systray Could not create tray window

DISPLAY 変数を :1 に設定してみてください:

$ DISPLAY=:1 wine winecfg

キーボード入力ができない

ウィンドウマネージャがフォーカスを切り替えないことにより発生することがあります。winecfgGraphics タブで、'Allow the window manager...' オプションを無効化してください。あるいは、ウィンドウモードを 'Emulate a virtual desktop' に設定してください。

  • Window settings のオプションを全て切り替えて、Apply をクリックし、そしてオプションを全て戻すと問題が解決するという人もいます。これがうまく行かない場合、上記の方法を試してください。

アプリケーションからフォーカスを移動させた後にキーボードが動作しなくなる場合、レジストリを編集してみてください:

  • HKEY_CURRENT_USER\Software\Wine\X11 Driver に行き、文字列 UseTakeFocus を追加し、それを N にセットする。
  • あるいは、Winetricks を使って値をセットできます:
    $ winetricks usetakefocus=n

アプリケーションが起動に失敗する

一部の古いゲームやアプリケーションは、カレントディレクトリが実行ファイルの場所と同じであることを期待します。これらの実行ファイルを他の場所から実行すると、正しく起動しなくなってしまいます。このような問題を防ぐには、Wine を実行する前に cd exeへのパス を使ってください。

参照

  • Wine Homepage
  • Wine Wiki
  • Wine Application Database (AppDB) - 特定のアプリケーションを動作させるための情報 (特定のアプリケーションの既知の問題、評価、ガイドなど)
  • Wine Forums - あなたが FAQ と AppDB を見たに質問するための素晴らしい場所
  • Gentoo:Wine
  • Darling - MacOS ソフトウェア向けの Wine と似たプロジェクト
  • WineASIO - WineASIO プロジェクトの GitHub ページ。追加の情報あり。
翻訳ステータス: このページは en:Wine の翻訳バージョンです。最後の翻訳日は 2024-06-16 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。