I have two screens hooked together with twinview. Some applications treat it as one big 3840*1200 panel but that's pretty undesirable in first person shooters as your sights end up in the gap between the two screens.
So I usually run Wine games in a 1920*1200px window. The window manager makes it full-screen on one screen and that works great for some games. However some games lag and that allows the mouse to fly out the side of the Wine window, causing my player to spin like a fox on drugs.
And then there are a whole load of native games (X3, OpenArena, Quake4, QuakeWars, etc) that don't have a good windowed mode. Using windowed mode on X3 results in the mouse becoming uber-sensitive.
Wouldn't it be nice if I could launch some games in a new X session that just used one screen?!
It would. I've got as far as this for 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"
Now this technically uses two screens but when games launch in fullscreen mode once they've already been set to 1920*1200, they seem to adapt and use one of my xorg.conf metamodes. It would be better if I could explicitly state the mode in this executable. Is there a way to do that?
There's also no sound. I've got the WinePulse patch so I just need to get PulseAudio hooked into this session (or vice versa) and I'm good to go for now, I think.
Edit: Ralf picked up on a few things but missed (or misconstrued) some others. This is probably down to my over-verbose question. Despite the length of the post, I only have two problems.
Here are my problems in a succinct setting:
-
How can I start a new X session with a specified resolution? I would preferably like to specify an existing metamode or the exact resolution when I call X.
-
How can I get applications on the new X session talking with the right PulseAudio server? At the moment, they don't seem to line up. I've tested this with
totem
, not just Wine apps.
Best Answer
To answer your question more specifically. You can use nvidia-settings to change the meta-mode. A fragment from nvidia-settings --help: