1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Linux Multi-Monitor Support Could Be Improved

Gaming

Published on 08 September 2012 11:06 AM EDT
Written by Michael Larabel in Gaming
38 Comments

While some want Linux multi-monitor support removed, others are looking for it to be improved. Multiple display support for Linux has improved over the years with X.Org and desktop environment advancements, it's still generally less than ideal, especially for Linux gamers.

With the liaising earlier this week between a long-time Linux desktop developer (circa 1996) and a game company, besides talking about the AMD Catalyst driver being on his blacklist of junk, he had many thoughts to share on the state of Linux multi-monitor support.

Since this isn't a problem for just one hardware/driver vendor or game company -- and this remains an active problem on the Linux desktop -- copied below is the extracted part of his message in hopes it spurs other forthcoming Linux game developers to better think through their multi-monitor support and more broadly their window manager interactions. Plus there's some recommendations from this long-time Linux desktop developer about better handling the situation.

Linux Multi-Monitor Support Could Be Improved

From my office setup, I can frustratingly confirm that Linux multi-montior support and handling can be a mess at times. Just not from the Linux graphics driver side but, yes, with games and desktop environments / applications each handling the multi-screen interaction differently.
[If using SDL] beware it has some nasty habits when it comes to fiddling with screen resolution and multi-monitor support. please please please make it play nice! i know it's trying to do these things because it "has to" but it has nasty side-effects.

...i have a few games here (i even bought them... *GASP*), and the almost all behave horribly when it comes to trying to be fullscreen and if i have multiple monitors. from some quick looking it seems SDL just doesn't care that my xinerama setup has 1 root window spanning 2 screens (insanely common in linux/x11 for people with > 1 screen. the most popular by far), BUT my window manager has DIFFERENT virtual desktops per screen. i can switch desktop on one and not the other (unlike most other linux desktops). to be honest.. everyone who discovers it falls in love with it and wonders why it isn't default.

the problem comes with games. some try screw with my screen res and end up messing up at least 1 monitor and getting it wrong and not even making their window the right size. others just bypass the window manager (override-redirect window) and make their window the size of root and span both screens. they don't know that some of their window is hidden as its out of screen bounds (2560x1440 and 1920x1200 monitor so the pixels on root below the 1920x1200 screen are invisible). also they totally mess up badly if the game crashes. it leaves my screen in the resoltuion it set up, with me having to go find my screen settings dialogs and reset it back to normal.

now here comes my "we are happy to help" bit. i understand that sometimes games DO want to adjust resolution. there is already a netwm request for becoming fullscreen. please use it liberally. the wm them may choose to fullscreen you across 2 screens, or only on 1 screen - depending on policies. this lets me keep my irc, im, browser or whatever windows on 1 screen and a game on the other. nicely. what you don't have is some way of having the resolution changed for you AND get this fullscreen policy handling. on the wm side we can extend protocol/property handling to do this for you. should you crash, wm restores the resolution. if your window loses focus it can also restore resolution. of course the wm will need to advertise it supports this and you need to detect it.

the other thing you may need/want is to maybe span all screens. but to do this you need to know the geometry of those screens. again this should be a "please, pretty please" request with wm dealing with it. the user may have 3 screens and want to always ban the use of a specific screen (maybe it has a special use).

now here comes the catch. it MAY be better to open multiple windows and not have 1 big one. if you have screens of vastly differing resolution then you avoid using excess backbuffer sizes. i have some real world examples where 1 screen has 60dpi and another 300dpi. the 300dpi screen is special and you never want to span it. you want to specially handle it. now again you'll need help. you need to know how many windows to open up and then mark them appropriately. you need to be given some general relative geometries of those windows. they then can be specially managed and placed accordingly. again - will need some custom stuff to handle this.

i don't know if you are planning on tackling the multi-screen thing at the moment, but at a minimum it'd be nice to be a good citizen in the single window/screen+fullscreen department above.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Even With Re-Clocking, Nouveau Remains Behind NVIDIA's Proprietary Linux Driver
  2. The Power Consumption & Efficiency Of Open-Source GPU Drivers
  3. AMD R600g/RadeonSI Performance On Linux 3.16 With Mesa 10.3-devel
  4. Intel Pentium G3258 On Linux
Latest Linux Articles
  1. Updated Source Engine Benchmarks On The Latest AMD/NVIDIA Linux Drivers
  2. Nouveau vs. Radeon vs. Intel Tests On Linux 3.16, Mesa 10.3-devel
  3. KVM Benchmarks On Ubuntu 14.10
  4. X.Org Server 1.16 Officially Released With Terrific Features
Latest Linux News
  1. GStreamer VA-API Plug-In Update Adds New Features
  2. Qt 5.4 Going Into Feature Freeze Next Week With Exciting Changes
  3. OpenSUSE Factory Turns Into Rolling Release Distribution
  4. "The World's Most Highly-Assured OS" Kernel Open-Sourced
  5. NVIDIA Is Working Towards VDPAU H.265/HEVC Support
  6. Hawaii Bug-Fixes Start Hitting Mainline RadeonSI Gallium3D
  7. The FFmpeg vs. Libav War Continues In Debian Land
  8. Grand Theft Auto Running On Direct3D Natively On Linux Shows Gallium3D Potential
  9. GCC As A Just-In Time Compiler Is An Interesting Project
  10. Age Of Wonders III Is Still Being Ported To Linux
Latest Forum Discussions
  1. Linus Torvalds On GCC 4.9: Pure & Utter Crap
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Debian + radeonsi
  4. Open-source drivers on ATI R7 260X
  5. List of Linux friendly Kickstarter projects
  6. Porting Mesa to the Playstation 2
  7. ASRock AM1H-ITX: One Of The Best AM1 Mini-ITX Motherboards
  8. Table test