Twinviewで2つのスクリーンをつなぎ合わせています。一部のアプリケーションは、それを1つの大きな3840 * 1200パネルとして扱いますが、2人のスクリーンの隙間に視界が入るので、ファーストパーソンシューティングではそれはかなり望ましくありません。
だから私は通常1920 * 1200pxのウィンドウでWineゲームを実行します。ウィンドウマネージャーは、1つの画面で全画面表示するため、一部のゲームに最適です。ただし、ゲームによっては遅れが生じ、マウスがワインウィンドウの横から飛び出し、プレイヤーがドラッグのキツネのように回転することがあります。
そして、ウィンドウモードが適切でないネイティブゲーム(X3、OpenArena、Quake4、QuakeWarsなど)が大量にあります。 X3でウィンドウモードを使用すると、マウスが非常に敏感になります。
そうだろう。 Steamの場合はこれまでのところです。
#!/bin/sh
X :3 -ac & nvidia-settings --load-config-only
sleep 10 # wait for X to catch up
cd ~/.wine/drive_c/Program\ Files/Steam/
DISPLAY=:3 WINEDEBUG=-all wine "Steam.exe"
現在、これは技術的に2つの画面を使用していますが、1920 * 1200に設定されているゲームがフルスクリーンモードで起動すると、xorg.confメタモードのいずれかを適応して使用しているようです。この実行可能ファイルでモードを明示的に指定できればより良いでしょう。それを行う方法はありますか?
音もありません。 WinePulseパッチを入手したので、PulseAudioをこのセッションにフックする(またはその逆)必要があり、今のところ行ってよいと思います。
編集:ラルフはいくつかのことに気づいたが、他のいくつかを逃した(または誤解した)。これはおそらく、私の冗長な質問によるものです。投稿の長さにもかかわらず、私には2つの問題しかありません。
簡潔な設定での私の問題は次のとおりです。
指定した解像度で新しいXセッションを開始するにはどうすればよいですか? Xを呼び出すときに、既存のメタモードまたは正確な解像度を指定したいと思います。
適切なPulseAudioサーバーと通信する新しいXセッションでアプリケーションを取得するにはどうすればよいですか?現時点では、彼らは並んでいないようです。私はこれをWineアプリだけでなくtotem
でテストしました。
より具体的に質問に答えるため。 nvidia-settingsを使用して、メタモードを変更できます。 nvidia-settingsのフラグメント--help:
-a, --assign=[ASSIGN]
The ASSIGN argument to the '--assign' commandline option is of the form:
{DISPLAY}/{attribute name}[{display devices}]={value}
This assigns the attribute {attribute name} to the value {value} on the X
Display {DISPLAY}. {DISPLAY} follows the usual {Host}:{display}.{screen}
syntax of the DISPLAY environment variable and is optional; when it is
not specified, then it is implied following the same rule as the
--ctrl-display option. If the X screen is not specified, then the
assignment is made to all X screens. Note that the '/' is only required
when {DISPLAY} is present.
{DISPLAY} can additionally include a target specification to direct an
assignment to something other than an X screen. A target specification
is contained within brackets and consists of a target type name, a colon,
and the target id. The target type name can be one of "screen", "gpu",
"framelock", "vcs", "gvi", or "fan"; the target id is the index into the
list of targets (for that target type). The target specification can be
used in {DISPLAY} wherever an X screen can be used, following the syntax
{Host}:{display}[{target_type}:{target_id}]. See the output of
`nvidia-settings -q all` for information on which target types can be
used with which attributes. See the output of `nvidia-settings -q
screens -q gpus -q framelocks -q vcs -q gvis -q fans` for lists of
targets for each target type.
The [{display devices}] portion is also optional; if it is not specified,
then the attribute is assigned to all display devices.
Some examples:
-a FSAA=5
-a localhost:0.0/DigitalVibrance[CRT-0]=0
--assign="SyncToVBlank=1"
-a [gpu:0]/DigitalVibrance[DFP-1]=63
サウンドについては、スクリプトでck-launch-session
を実行するだけです。
#!/bin/sh
X :3 -ac & nvidia-settings --load-config-only
sleep 10 # wait for X to catch up
cd ~/.wine/drive_c/Program\ Files/Steam/
DISPLAY=:3 ck-launch-session
DISPLAY=:3 WINEDEBUG=-all wine "Steam.exe"
両方のXディスプレイからのサウンドがマージされます。
複数のXセッションの実行
これはまさにあなたが望むものだと思います。また、Xセッション以上の実行が可能です。つまり、すべてのビデオドライバーで同じビデオカードを使用できるというわけではありません。したがって、Xsessionを超える実行は、複数のビデオカードが必要になることを意味します。
メタモード
ゲームでは、メタモードを使用してデスクトップの解像度と画面の設定を変更できます。左側に1680x1050の大きなモニターがあり、右側に1025x768の最高解像度の古い、小さいモニターがあるとします。
Section "Screen"
Identifier "Default Screen"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT-0: 1680x1050 +0+0, CRT-1: 1024x768 +1680 +0; CRT-0: 1680x1050 +0+0, CRT-1: NULL; CRT-0: 1400x900 +0+0, CRT-1: NULL;"
EndSection
ゲームで解像度を選択できる場合、次のオプションがあります。
2704x1050 this refers to the total viewport size of using two monitors
1680x1050 this means the second monitor is off, and you will use a high resolution
1400x900 this also only used the first monitor, but it will run a bit quicker
多くのメタモードを追加できます。 「結果の」ビューポートの解像度が一意であることを確認してください。そうしないと、ゲームはそれを理解しません。
興味深いことに、Alt-Tabキーを押してゲームを終了すると、システムは元のメタモードに戻り、Alt-Tabキーを押してゲームに戻ると、設定されたゲームのメタモードに戻ります。
ワイン/スチーム
メタモードのトリックはワインでも機能します。ただし、解像度の変更をサポートしていないゲームがあります。
素敵な回避策:
- turn on emulate virtual desktop, in wine-config, and set it to your desktop size
- compiz will automatically turn it into 'fullscreen' mode and hide panels
- the mouse will be captured properly. Your other monitor is still on, and displays whatever is there. You will need to alt=tab to reach it though. Perhaps its a good idea to associate a shortcut to minimize window.
特定のゲームでマウスのキャプチャにまだ問題がある場合は、マウスワープモードを使用できます。
WINEFORCEMOUSEWARP=yes wine yourapp.exe
Pulseaudio&Wine
このPPAを使用して、Pulseオーディオドライバーが有効になっているワインを取得できます。 wine-configを使用して選択してください。
https://launchpad.net/~neil-aldur/+archive/ppa