Steam for Linux

Steam for Linux

Thoughts on multi-monitor fullscreen
Hi all,

I have a dual-monitor nvidia configuration, and like many others, I've had a lot of grief with weird fullscreen behaviour from various games. I've done some experimenting and come up with a pretty effective strategy for sane fullscreen.

1) My ideal fullscreen configuration is the game fullscreen on one head with the second head unaffected. This may not be what you want, and if it isn't, my thoughts won't help you, but I think this is what most people want. In practical terms, you want the game window to be in _NET_WM_STATE_FULLSCREEN without messing with the physical screen resolution.

2) Some games already do the 'right thing', such as World Of Goo, Darwinia, Osmos or Galcon Fusion. These set the fullscreen hint on themselves and leave it at that.

3) Compiz doesn't allow you to toggle fullscreen on windows which can't be resized. Some window managers can, like XFWM or KWM, and for those, you should just set games to run in a window at the desktop size and then configure a WM hotkey to set the fullscreen hint. Problem solved.

4) But for compiz, you have to get tricker and reset the window hints that are preventing fullscreen from working. After a little investigation, I identified two hint that need to be removed from the game windows: WM_NORMAL_HINTS and _MOTIF_WM_HINTS.

You can remove them simply using: xprop -remove <HINT NAME>I hope that's

Removing WM_NORMAL_HINTS is enough, unless the _MOTIF_WM_HINTS are set, in which case they will continue to restrict behaviour, and should also be removed.

In the cases where fullscreening of the window doesn't work, these hints are asserting a fixed size for the window, and when that happens, compiz disables fullscreen capability.

I've tested this out with pretty much all of the other available games, with much success.

It's probably possible to automate the hint removal using a tool like devilspie but I haven't had a chance to investigate this yet.
< >
Näytetään 1-10 / 10 kommentista
AlenL 22. marras, 2012 12.40 
We are working on fixing fullscreen behavior on Serious Sam 3 to support such behavior: fullscreen on primary, others unaffected.
Thx KiasuBurger for the tips!

On Unity the xprop approach works well, except that the game window (RedOrchestra in this case) won't overlap the top panel on my game monitor (and there seems to be no setting to disble that panel).

Best way i experienced so far is the fullscreen option in XFCE4, this is almost perfect. Besides that i have set up a nvidia twinview configuration which can start a game in fullscreen mode while disabling the smaller monitor and switching back to the dual monitors after exiting the game or switching out of the game window.
As another user of XFCE with multiple monitors, I strongly agree with fullscreen on the first monitor, maybe using the others as secondary screens. In most games, In most cases you don't want to have your POV right between two screens (i.e. the crosshair, in a FPS) and I assume 2 screens beside eachother is the most common multimonitor setup.

The best implementation of multiscreen support I've seen so far, is in Rochard from the last Humble Indie Bundle, which runs fine on the first monitor and grabs the mouse, except in pause mode, where the mouse is available to the whole desktop and even x2x.
Blzut3 27. marras, 2012 13.22 
While finding ways to properly support fullscreen is always welcome, one thing that I would recommend is for Steam to have an option to tell games to run in windowed mode by default if possible. Even outside of multi monitor configurations I've heard people complain about games messing with the desktop when going fullscreen (usually due to resolution changes). I know a few people who would prefer this even outside of Linux users.
See the '-windowed -noborder' options in TF2 - As far as I'm concerned, that works great for Multimonitor support - I can set it to the width of my main screen(1920x1080), set those options, and it works 'right'. I do have to drag the window over into the right spot each launch, but that's a small price to pay.

Mouse grabbing works fine too - during play, it grabs the mouse. Hit escape(ingame pause menu), and I can mouse outside of the game window.
It also seems to play nicely with my KDE virtual desktops, even without compositing enabled.
Using -windowed -noborder is the only way I can get TF2 working correctly on my setup. I have three monitors set up as two separate X screens. The first X screen is a single 1920x1080. The second X screen is two 1680x1050 monitors in Twinview. I can play TF2 on my first screen using -windowed -noborder -w 1920 -h 1080, however it will not set the height any higher than 1050, the height of the second X screen. So I can play at 1920x1050 but no higher. I'm pretty sure it thinks my desktop resolution is 3360x1050, which is also why it doesn't work for me in fullscreen mode.
Eric 9. joulu, 2012 12.46 
I've got 3 1920x1600 screens, and TF2 shows up on the left screen in full screen mode. Changing to windowed mode, then dragging to the center screen and switching back to full screen puts it back on the left. My neck hurts. :-(
I am running Cinnamon WM with dual monitors, and I too am having some issues with attempting to restrict full screen to one monitor. "The Big Picture" works beautifully, switching off to my side monitor and maximising there. This is the exact behaviour that I want to see with the games. Unfortunately, the games will read the full 3840x1080 as my screen resolution when I attempt to run them, even if I used the -w and -h flags when running steam.

World of Goo becomes unplayable stretched between my two monitors, as they are separated by a few inches. Waveform at least gives me the option of selecting a resolution first, which helps quite a bit.

Setting my monitors to twin view temporarily is another, less than ideal workaround. But with that, I can at least enjoy some of the games in my library without firing up wine. Kudos to Valve on a great start. So far, this is the only pain point for me.
I am running Kubuntu. At least for me the problem with multi-monitor setup has so far been the biggest problem with linux steam. I have a 24" monitor and a 15" monitor. The 15" is only used for keeping a terminal open but for some reason the games I have tried so far have all tried to use it as default. Mostly I play killing floor and after making some changes the game started and expanded the picture to use both of the screens.

After some serious battle with the configurations and trying everything I could possible think of, I simply came to conclusion that the easiest solution was to remove the 15" monitor completely.

Hopefully the fullscreen behavior can be made more like the one we have been accustomed to in windows environment. If you leave out the problems with multi-monitor setup, it is amazing how stable and well functioning the steam for linux allready is. A big hand to Valve for all their hard work and effort on making the world more Linux friendly.
I solved it by simply disabling my second monitory while starting then game, then just enabling my second monitor again.
This is running Cinnamon.
Hopefully a better solution will popup that will make fullscreen games prefer first monitor unless otherwise specified without messing upp resolution on other or taking it all as one big monitor :)
< >
Näytetään 1-10 / 10 kommentista
Sivua kohden: 15 30 50

Lähetetty: 21. marras, 2012 16.15
Viestejä: 10