Slashdot Mirror


Ask Slashdot: Hardware Accelerated Multi-Monitor Support In Linux?

An anonymous reader writes "I'm an Engineer with a need for 3 large monitors on the one PC. I want to run them as 'one big desktop' so I can drag windows around between all three monitors (Windows XP style). I run Debian and an nVidia NVS450. Currently I have been able to do what I want by using Xinerama which is painfully slow (think 1990s), or using TwinView which is hardware accelerated but only supports 2 monitors. I can live without 3D performance, but I need a hardware accelerated 2D desktop at the minimum. What are my options? I will happily give up running X and run something else if I need to (although I would like to keep using Xfce — but am open to anything). I am getting so desperate that I am starting to think of running Windows on my box, but that would be painful in so many other ways given my work environment revolves around the Linux toolset."

40 of 278 comments (clear)

  1. I do this currently.. by Anonymous Coward · · Score: 5, Informative

    A pair of nvidia 9800gtx cards gives me quad DVI on which I run three monitors. The option you are seeking is basemosaic. I don't have the config in front of me or I would include it.

    1. Re:I do this currently.. by amginenigma · · Score: 5, Informative

      I also do not have the config in front of me, but mosaic is what you are looking for in your xconfig. Bit of googling (ftp://download.nvidia.com/XFree86/Linux-x86/256.35/README/sli.html) on that should point you in the right direction. And yes once configured it's as 'easy as Windowz...'

    2. Re:I do this currently.. by Mad+Merlin · · Score: 4, Informative

      That's not necessary anymore. Kepler based cards (GTX 600 and 700) support up to 4 monitors. I'm posting from 3 monitors connected to a GTX 670.

    3. Re:I do this currently.. by yhetti · · Score: 5, Informative

      I can confirm that BaseMosaic on an NVS450 works under LMDE (Debian Testing) using:

      Section "Screen"
              Identifier "Screen0"
              Device "Device0"
              Monitor "Monitor0"
              DefaultDepth 24
              Option "BaseMosaic" "True"
              Option "MetaModes" "GPU-1.DFP-0: 1680x1050+0+0, GPU-0.DFP-1: 1680x1050+3360+0, GPU-0.DFP-0: 1680x1050+1680+0; GPU-1.DFP-0: NULL, GPU-0.DFP-1: NULL, GPU-0.DFP-0: 1680x1050"
              SubSection "Display"
                      Depth 24
              EndSubSection
      EndSection

    4. Re:I do this currently.. by aliquis · · Score: 2

      Took me the first attempt when I knew what I was looking for.

      Google: nvidia x sli

      Second hit.

    5. Re:I do this currently.. by iserlohn · · Score: 3, Informative

      Yes, same here on a 660. Twinview works with 3 monitors on 1 card as expected. 3D acceleration is working fine, I'm using gnome-shell (I can hear the gasps already).

  2. Re:Congratulations! by mwvdlee · · Score: 2, Insightful

    Followed by the stupidest answer ever!
    Congratulations to the both of you.
    Well, mostly to the answer, as the question really isn't that stupid at all.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  3. You tried arandr already? by tramp · · Score: 4, Informative

    arandr is a standard package in Debian and can be used with Xfce too. http://packages.debian.org/unstable/main/arandr

    1. Re:You tried arandr already? by Anonymous Coward · · Score: 3, Informative

      I use xrandr with Arch and Xfce and it works fine: https://wiki.archlinux.org/index.php/Xrandr, so I suspect arandr for Debian will achieve the same results. How did this get past the /. moderators?

    2. Re:You tried arandr already? by russbutton · · Score: 2

      I use xrandr with Windowmaker. Works fine for me. I rotate one of my monitors so I can view long listings and docs. Love the screen real estate!

  4. huh? but this is working for at least 3 years now! by Anonymous Coward · · Score: 5, Informative

    This works out-of-the-box with any number of monitors (well, as many as the number of CRTCs provided by your GPU) for ATi Radeons (both free and proprietary drivers) and Intel (free drivers).

    Now, embedded Intel usually only has two CRTCs, but the newer Radeons have at least three, up to six.

    You just need to configure the viewports using your preferred desktop environment or directly using xrandr or the x.org config.

  5. What driver do you use ? by Coeurderoy · · Score: 5, Informative

    You might be using the open source driver and not the nvidia driver.
    We use Two GTX220 or GT650 and plug three or four terminals withouth any hassle, but we do use the proprietary nvidia driver.

    And the result is quite fast (we typically test our games on two full HD monitors while running our development tools in one or two others.

    I suspect the NVS450 is also more expensive than our setup :-)

    BTW we use either debian or ubuntu depending of the whim of each developper.

    1. Re:What driver do you use ? by Mike+Frett · · Score: 2

      CnlPepper, yes real Game development. Especially when Leadwerks (Kickstarter) comes out, which allows you to make AAA quality Games for Linux IN Linux. Also Unity3D can export to Linux. Ogre (Torchlight) is OK if you want something free.

    2. Re:What driver do you use ? by houghi · · Score: 2

      he official software also comes with nvidia-xconfig for the initial config, nvidia-settings to be run as root for the settings and nvidia-smi for the CLI part.
      I use openSUSE and after adding the NVidia repo, I do the following:
      1) Close X
      2) As root, run nvidia-xconfig
      3) Log back in as standard user
      4) Open a terminal, su to root and run nvidia-settings
      5) Configure anything as I desire
      6) Restart X

      I have a GeForce GT 520 (1GB) and a GeForce 8400GS (0.5GB) with 2x1920x1200 and 2x1920x1080. Both GPU's run at below 30% and I never had any issue with it being slow.

      glxgears -fullscreen runs at 60FPS. Good enough for my eyes.

      --
      Don't fight for your country, if your country does not fight for you.
  6. Re:Multi-Monitor Support in 2013?!? by Anonymous Coward · · Score: 5, Informative

    Multi-monitor isn't the problem here. Hardware-acceleration is the problem.

    Last time I checked, officiak nVIDIA driver is the only one which implements 2D render acceleration which is still marked as experimental (for like 10 years), and that is only partially supported by other GUI functionalies, such as multi-monitor - most applications/toolkits don't even know it. Hardware-acceleration except 3D for gaming is difficult with X-window because:

    1) You need X-window to have that acceleration API
    2) You need X-window drivers (per-vendor) to implement the acceleration API
    3) You need various X-window extensions to make use of the acceleration API
    4) You need GUI toolkits to provide a layer of higher-level acceleration API to support the acceleration API in X-window and make use of it
    5) You may also need GUI apps to make use of the higher-level acceleration API

    It cannot change overtime, and since nobody cares about hardware acceleration except gamers, there can be no acceleration for your regular 2D/GUI work, no progress in the field for so many years. About 3 years ago I can still notice that quick-scrolling on webpage appears to be much slower on x-window than winodws (using opera browser), though it doesn't hurt usability.

  7. any nvidia MDT device by zeldor · · Score: 2

    http://www.amazon.com/computers-accessories/dp/B0089WM7XE
    with the nvidia drivers version 304 or newer.
    Have 2 machines each with one of these cards. drives 3 monitors one of which is even in portrait mode.

    --
    If I could walk that way I wouldnt need cologne.
  8. Re:You've only got one real choice here by serviscope_minor · · Score: 3, Funny

    Yes, because Wayland has the magic pixie dust which makes the drivers support things that they never did before.

    --
    SJW n. One who posts facts.
  9. I just used by mocm · · Score: 4, Informative

    the nvidia-settings tool to set up 4 monitors on my GTX670, there is no problem with speed and I get hw accelerated 3d on every screen. The driver is NVidia's 310.19. I used the TwinView Option on the Layout selection screen and could put the monitors into the wanted configuration with the GUI. I can move windows between the monitors and xfce gives me panels on the separate monitors.
    The screen section in the xorg.conf looks like this:
    Section "Screen"
            Identifier "Screen0"
            Device "Device0"
            Monitor "Monitor0"
            DefaultDepth 24
            Option "TwinView" "0"
            Option "Stereo" "0"
            Option "nvidiaXineramaInfoOrder" "DFP-0"
            Option "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: 1920x1200 +1920+1080, DFP-3: nvidia-auto-select +1920+0, DFP-4: nvidia-auto-select +0+1080; DFP-1: 1920x1200 +0+0; DFP-1: 1920x1200 +0+0"
            SubSection "Display"
                    Depth 24
            EndSubSection
    EndSection

    and the server layout:

    Section "ServerLayout"
            Identifier "Layout0"
            Screen 0 "Screen0" 0 0
            InputDevice "Keyboard0" "CoreKeyboard"
            InputDevice "Mouse0" "CorePointer"
            Option "Xinerama" "0"
    EndSection

    --
    ***Quis custodiet ipsos custodes***
  10. Re:Multi-Monitor Support in 2013?!? by Zeussy · · Score: 3, Interesting

    I'm confused by this. I have 7 monitors on one machine, 3 connected to an AMD Radeon, the other 4 connected to a Nvidia Geforce (using a matrox triple head 2 go, to make 3 appear as 1 monitor to the card). And it all works seamlessly. Even have 3d applications/meda players spanning across them and it works. (Not quite sure how the 3D side of things work, backbuffer from one copied to the other?)

  11. Re:Run windows... with linux VMs by serviscope_minor · · Score: 5, Informative

    So why not just run windows and fire up a linux VM to run your tools in?

    Because Linux does support it out of the box. I have no idea what the user has done, but me and many other posters find that the nvidia drivers support multiple accelerated monitors with no trouble whatsoever.

    There seems to be some odd issue with his setup. This therefore seems to me more of a question for a slower, more persistent help problem where he can post debugging output and have some experts look at it.

    --
    SJW n. One who posts facts.
  12. AMD/ATI isn't as bad as it used to be by Anonymous Coward · · Score: 2, Informative

    My Ubuntu workstation has an HD 7950, using proprietary drivers installed from the Settings menu. Currently running three 1080p monitors, two of which are rotated portrait mode. Any HD 7xxx series card is supposed to be able to run up to six monitors, though you usually only get four outputs (six requires monitors that support DisplayPort daisy-chaining).

    Oh, and I occasionally play DotA 2 on Steam for Linux on this as well. Apart from trying to start on the wrong monitor, it works very well.

  13. Was simple for me with Nvidia by Agent+ME · · Score: 2

    I feel like I'm missing something; this was dirt-simple for me.

    I used to have a computer with an Nvidia card. I had Ubuntu on it. I had the Nvidia drivers installed. I had the nvidia-settings utility installed (which for some reason wasn't included by default). I plugged in the extra monitors. I opened nvidia-settings. I clicked "Detect Monitors". I enabled them. Suddenly I had several monitors without having to touch a single config file.

  14. Re:Get a Mac, it just works ... by Anonymous Coward · · Score: 4, Informative

    No, it doesn't just work. I have a very nice triple monitor Mac setup. Besides the obvious price issue, here are my two major complaints (there are other more nitpicky ones I won't get into).

    1. Sound. I had to download a third-party app called Soundflower to get the sound to work the way I want. (Actually, the way I want is for the sound of the app on a given monitor to come from that monitor's speaker, but that's asking for unicorns so I just settled for using left and right monitors for stereo.)
    2. Fullscreen. Fullscreening any app on a monitor blanks out the other two monitors.

  15. Re:Multi-Monitor Support in 2013?!? by Tripkipke · · Score: 3, Interesting
  16. Re:Get a Mac, it just works ... by Anonymous Coward · · Score: 3, Informative

    2. Fullscreen. Fullscreening any app on a monitor blanks out the other two monitors.

    You'll be pleased to know that apple announced that fixing this is one of the major new features of Mavericks.

  17. Eyefinity by hawkeyeMI · · Score: 2

    Just get a Radeon Eyefinity model, with 4-6 mini-DisplayPorts on it. Works great. Been running like this in Debian with 4 monitors for years now using fglrx drivers.

    --
    Error 404 - Sig Not Found
  18. Re:Congratulations! by bill_mcgonigle · · Score: 2

    Sweet, it's like Stack Exchange, but with ad hominem attacks.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  19. Let's hear about more than yourself by dbIII · · Score: 3, Insightful

    It's trivial on linux as well if the hardware can do it, and the GUI tool to set it up looks just like the MS Windows one. Your "royal PITA on Linux" is just telling us you have an axe to grind and are willing to bring it out over a non-issue.

  20. Re:Why not a VM? by dbIII · · Score: 2

    I'm getting the idea that the post is a troll since the nvidia drivers are just as capable on nearly every OS they are available for. It would surprise me if in 2003 linux was having issues with multi-monitor support on cards that are capable of it - I've still got some Matrox cards from then that were happily driving two screens at the time.

  21. Re:Get a Mac, it just works ... by bartoku · · Score: 2

    The MacBook Pro Retina 15" can drive 3 external monitors.
    I regularly have two 2560x1440 cinema displays through the thunderbolt/displayports and a 1920x1200 monitor through the HDMI port.

    I wanted more though, and for less than $2K you can get a powerful multi-monitor Mac setup today.
    With the hope of improved multi-monitor support in Mavericks and the 2013 Mac Pro months away and disappointing I bought a Mac Pro.
    Got a good deal on eBay for a used Mac Pro 2009.
    Two ATI Radeon HD 5770 and a NVIDIA GeForce GT 120 give me 8 displays in OS X.
    I was hoping I could use my AMD FirePro W600 given the new Mac Pro will be using a variant of that GPU line, but could not get it to work in OSX.

  22. Re:Multi-Monitor Support in 2013?!? by Tawnos · · Score: 5, Informative

    Not quite. I used to work on the windows display management kernel and did a ton of testing when we brought back heterogeneous in Win7. In XDDM (XP Display Driver Model), heterogeneous was allowed, but it had issues when drivers would conflict. You could find some setups that worked and some that didn't, largely based on the drivers, cards, and the alignment of the planets.

    When Windows Vista came out the drivers moved to WDDM (Windows Display Driver Model). This model initially disallowed heterogeneous configurations. In Win7, heterogeneous support was again allowed, partially because the OS now tracked monitor connectivity state (CCD - connecting and configuring displays). Previous versions of windows had left that to the individual drivers, which could cause conflicts and loops of bad behavior ("value add" software from vendor x sets "clone" mode, then from vendor y sets extend mode, and they fight back and forth, for example).

    So in Windows, it was allowed for every release except Vista, though it wasn't really supported or tested well until 7 and beyond.

  23. Re:Multi-Monitor Support in 2013?!? by jones_supa · · Score: 2

    Ok, Linux needs help in the video department, but its more the fault of the manufacturers who want to keep their code licensed in such a way that it exludes OSS.

    To me (and to the submitter, I bet) it's more important to get accelerated multi-monitor going than the code being open source.

  24. Re:Congratulations! by jones_supa · · Score: 2

    Subby, you have posted the stupidest Ask Slashdot question ever!

    And you posted the stupidest Slashdot comment ever. Gratz!

  25. Re: Multi-Monitor Support in 2013?!? by gagol · · Score: 2

    And this is worse than starting from scratch because... ? They are concentrating their attention on fixing the protocol between applications (clients) and the server (the thing with beautiful moving colors attached to your computer)

    --
    Tomorrow is another day...
  26. Re:Why not a VM? by jones_supa · · Score: 2

    I'm getting the idea that the post is a troll since the nvidia drivers are just as capable on nearly every OS they are available for.

    No one would bother to craft a lame troll like that. I myself also found surprising that his setup was not supported properly, but I simply do not suspect that the post is a troll.

  27. lmgtfy by raymorris · · Score: 2

    https://www.google.com/search?q=kernel%20changelog%20%22ray%20morris

  28. Re:Multi-Monitor Support in 2013?!? by Miamicanes · · Score: 5, Informative

    Oh, the days of using separate video cards for 2D and 3D support. It was "cool" to have a setup like that, but somehow I was never interested and held out for the TNT2.

    > Oh, the days of using separate video cards for 2D and 3D support.
    > It was "cool" to have a setup like that, but somehow I was never interested and held out for the TNT2.

    And thanks to mass-market consumers who did the same thing, we ended up with video GPUs today that are basically a pimped out 3DFX stapled onto a dumb framebuffer, with no real 2D acceleration to speak of.

    Instead of getting hardware-accelerated B-splines and the ability to render subpixel-hinted scalable fonts via hardware in realtime sometime around 2006 like we were supposed to (going by ATI's roadmaps), we have Android and IOS hardware built around GPUs that couldn't render a full page of hinted dealiased text a-la-Postscript to display memory in 1/60th of a second if the future of their manufacturers' companies depended on it. Because 3D is trendy, hot, and sexy, and 2D isn't.

    Joe Sixpack doesn't know what a B-spline or subpixel rendering is, but he knows that 3D is "cool", and a GPU that has "more triangles" is better (the same way he "knew" a 1.8GHz Pentium 4 was better than a 1.1GHz Pentium III Xeon, and even ran out to buy a new laptop with one).

    That's why Android & IOS-based e-readers suck for interactively reading technical books that require constant page-flipping. They lack 2D spline acceleration, so they have to do everything via brute CPU force. They're too slow to render pages from scratch in realtime with "real book" aesthetics, they don't have enough memory to pre-render the whole book to ram, and they're too slow to fetch entire pre-rendered arbitrary pages from microSD in 1/60th of a second or less(*).

    (*) The fastest microSD interface on any known Android phone maxes out around 25MB/s.... and a 32-bit 1280x800 bitmap weighs in around 4MB. Real-world Android phones like the S3 generally max out around 17MB/s. The fastest UHC-1 Sandisk Extreme cards have a theoretical max of 95MB/s, which STILL isn't fast enough to fetch the ~187MB/sec required for realtime brute-force 1280x800x60fps @ 24 bits. In theory, the 62MB/s required to fetch 8-bit grayscale at 60fps might be do-able on a future phone with UHC-1 microSD, but no current device can do it.

  29. Re:Why not a VM? by dbIII · · Score: 2

    I've set up something functionally identical with much older quatro cards, and the very bottom end of quatro cards at that, so I doubt that the posters setup is not supported properly. The person using it was unfamiliar with linux but once I showed them the GUI tool they were fine with it over several changing combinations of monitors before it was finally installed in a truck with four monitors bolted to the wall. I'm pretty sure the monitors have been upgraded to larger ones in the two or three years since with no drama.
    Thus to me it fails the bullshit test. I've been there, done that, and let it loose on someone without a lot of education or computer experience and they don't think it's hard. That makes me think the "engineer" didn't even try and is making shit up.
    I've set up a couple of dozen dual or more screen systems since 2003 and it's rarely been difficult, even when mixing video cards from two different vendors (which sometimes doesn't work but when it does it isn't all that hard), so that's why I've confident in my opinion.

  30. Re:Why not a VM? by jones_supa · · Score: 2

    That is possible.

  31. Re: Multi-Monitor Support in 2013?!? by Miamicanes · · Score: 2

    Hmmm. Interesting. But now the million-dollar question... are signed distance fields fast enough on any current high-end Android or IOS hardware to actually render a full page of arbitrary text that includes multiple fonts and multiple styles of those fonts? All the examples I found via Google use it to render just a few glyphs at any one time.

    Realistically, if you're rendering English text and you stick to pre-loading characters that are actually used or likely to be used, you're going to need about 80-90 for each font+style. For technical books, that realistically means at least 3 complete font sets in normal, bold, italic, and bold+italic -- usually, a serif font, a sans-serif font, and a monospaced "console" font with disambiguated zeroes and ones for code examples.

    Ram-permitting, text has somewhat of the advantage that you can preload your font data, then reuse it from "scene" to "scene". On the OTHER hand, with a game, you can define a large scene, then just move the frustum around to change what's visible from frame to frame. With text, a new page means defining and rendering an entirely new scene from scratch... and doing it at 60fps without lag or latency is no small feat. Add page-turning visuals, and you have a task that could bring the development team from a game like "Battlefield 4" to their knees and have them begging for mercy (at least, when you tell them it has to work acceptably well on a MSM8960's Adreno 2 or a Tegra3, even if the device HAS a gig of ram and dual/quad-core 1.5GHz+ CPUs).

    Text might not be sexy, but rendering print-quality text in realtime is *hard*. We've settled for less in the past, because text on a video display was always regarded as a second-rate ghetto that was good enough for nasty throw-away stuff, but was never expected to approach the visual quality and responsiveness of printed text on paper. Video displays have now largely caught up (like the iPad's retina displays), but the hardware we need to put them to proper use is still very much in its infancy. The industry used the slow update times of e-ink as an excuse for years, and when displays capable of crisp, high-resolution text display and instantaneous updates appeared, the underlying hardware wasn't even close to being ready to take advantage of it for anything besides sequential page-by-page reading of novels.