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."
Wait for Wayland.
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.
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?
arandr is a standard package in Debian and can be used with Xfce too. http://packages.debian.org/unstable/main/arandr
Even Windows took a step back with XP. In 9x, you were able to use any mix of video cards for each monitor. With XP, the driver model changed and you had to have the same card (or similar cards, but the drivers themselves had to have the support)
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
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.
Let's hope for Wayland
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.
Try the README.txt
I'm afraid there's simply nothing for Linux that will easily do what you want.
Multi-monitor - even with only 2 outputs - support is bad.. personal anecdote:
- Debian Wheezy with 3.9 kernel from Sid
- Lenovo 2011 era laptop (Thinkpad Edge E420)
-> when connecting both internal screen (LVDS) and to a beamer for presentations, if the output is set to beamer only and the VGA cable is removed, display will not be reset to LVDS only, making the laptop unusable
-> when connecting three displays (VGA + LVDS + HDMI), really bad things happen (outputs black) if the laptop goes to suspend..
If Linux is coming up short for multi-monitor support (especially 2+ on a single card), definitely plop Windows 7 on your box then run Linux in a VM using your choice of VirtualBox, VMWare Player, or Virtual PC. The only snag I can think of to that is that the VM may not be able to take advantage of your screen real estate if you need tools visible on more than one screen. At which point, you could always clone that VM and run other tools in that one if you have the hardware resources.
It's kind of surprising to me that in 2013 Linux is still having issues with more than two monitors running from a single card (which the NVS450 is capable of four total).
Get yourself a gamer motherboard that has two PCI-e slots, put two video cards that has two video ports out each, and you can have up to four monitors with full hardware acceleration.
Yeah? Anyone managed to get TGIF running in a CentOS 6 VM under Win7? On my native install, TGIF worked fine, and shows up in the drop down menus. On the VM install, make completes without error, but TGIF is not in the menu, and it will not start. I am checking each install package by package, but I have not found any differences yet. So, I am not convinced a VM gives the best of everything.
Some newer kepler cards have >2 CRTC, probably some newer radeons too. If you want a multi card support use the most recent fedora or ubuntu, which have some support for this with the open source drivers, the secondary gpu wouldn't be used except to display, and will be slow since it will use system memory and tear badly, but it may work.
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.
You like and need linux/unix, you want support for 3 monitors, you're thinking of running Windows but hate the idea. Did you think about OSX and home-brew for package installation?
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.
I have a Nvidia GTX 680 and three HD monitors. Everything works great with Twinview as far as acceleration. My only issue is that I cannot get a window from Wine (or a game like Nexuiz) to be larger than one monitor. I can move the window so that it crosses two monitors, but it won't get larger than 1920x1080. I've asked in various forums about this, but have had no useful replies.
Use the right tools for the job.
You need three monitors which is easily supported by windows.
You need the linux based toolsets to also do your job.
So why not just run windows and fire up a linux VM to run your tools in?
After weeks of trying to get AMD/Gigabyte motherboard and video card to drive 4 displays on linux, it just didn't work.
Tried 3 different distros, god knows how many xorg confs and driver combinations.
In the end I broke down and bought a NVIDIA GTX 760 for the following reasons.
*Drive 4 displays in Linux no problem with HW Acceleration.
*4 displays can be driven at 1920x1080.
*OpenCV has Cuda support , nothing for OpenCL yet.
*Openscenegraph has Cuda library, nothing for OpenCL yet.
*The Nvidia settings manager actually works.
*Xrandr is is working correctly.
I am happy now, it just worked. I want to tell NVIDIA **** you also about the linux/drivers /open source issue but there shit is just working and I will pay for working linux driver.
I'd say, ditch the nvidia setup and acquire a matrox video board. http://www.matrox.com/graphics/en/products/graphics_cards/ Linux supports matrox boards very nicely with all bells and whistles. Especially if you're only interested in hw accell 2d.
Get an AMD card... the multi-monitor support is great on Linux with their proprietary driver. I used a FirePro V4900 to drive 4 monitors for a while (but it has relatively poor 3D performance) and recently upgraded to a FirePro W7000 which has support for up to 6 (4 DisplayPort outputs which you can daisy-chain with monitor/hub support). While my experience has been mostly with the FirePro series, I think the consumer cards are just as good in this department.
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***
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?)
Automation - The Car Company Tycoon Game
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.
No, I'll windows in a vm before I run linux. I get so much more usefulness out of linux than anything else.
Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
Get a Mac. Are you sure your toolset is Linux specific? Odds are your apps and tools run fine under Mac OS X. Some info from Apple:
http://movies.apple.com/media/us/osx/2012/docs//OSX_for_UNIX_Users_TB_July2011.pdf
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.
Until a few months ago at work I was running triple-head on an Ubuntu 10.04 LTS desktop with an ATI Radeon something-or-other card. Hardware acceleration was supported. The third head was analog, but AFAIK that was just a limitation of the sub-$150 graphics card I was using (only 2 digital ports), not something inherent in X or the drivers. I was surprised to discover that triple head was even possible with an inexpensive card.
I did need to install a beta version of the proprietary drivers, and IIRC it took a bit of finagling with xrandr in a startup script to get the heads to consistently come up in the correct order (stupid Catalyst Control Center!), but once I got those issues sorted it worked reasonably well.
http://lmgtfy.com/?q=twinview+four+displays – and well, you see, that you should be fine if you buy a new graphics card which supports more than 2 3d-accelerated displays and has equivalent performance. instead you flame citing linux as being so "90s", complaining that your _2D_ quadro card isn't fast enough. You could call up nvidia and tell them – maybe they will send you something better suited (quadro 6000) or they'll just laugh at you...
I've got four monitors (one is 2560x1600) on a single Radeon HD 6870 and it does everything you want. Running Fedora 17 with the proprietary ATI drivers, FVWM2, with a single desktop and 3D hardware acceleration. I tested F19 with Gnome and free drivers too.
Nothing will be faster.
If you need windowing, check out emacs!
I've run 3 windows on UNIX before, but each had a dedicated graphics card, hence a dedicated X/Windows server. That means that drag-n-drop between the monitors was not possible.
There are display-sharing tools that work on all 3 main platforms, but I don't know how fast they are.
I'd look into what the airplane simulator crowd uses as a starting point. I've seen 6 monitor setups and the Linux simulators are top-of-the-line.
Iwas just going to suggest the matrox TripleHead2Go, but it's apparently limited to 5760x1080 (3x 1920x1080) or two screens combined to 3840x1200 (2x 1920x1200). I'd say that doesn't qualify as three big screens.
Does anyone know how multiple screens daisy-chained via their display-port outputs appear to the system?
It's really a pity that functionality that's been available since 15 years on SGI Onyx computers hasn't found its way into all desktop systems.
Btw, is there any good reason why the idle power consumption of graphics cards increases significantly when more than one (or in some cases two) monitors are connected?
You get the best of everything by running Linux inside a VM on OSX, if not using the underlying Unixness.
But if more than 2 monitors is the issue, why not get 2 of the latest really big/high res ones and stop whining?
The biggest issue is that everything but displayport sucks donkeyballs. So get a firepro card from AMD with 6 display ports and run it with the linux native driver. Works fine for me. I use XFCE myself with such a setup with 3x 2560x1600. I have tried to do it with HDMI and such but run into all kinds of weird issues where displayport just works right every time.
I am to lazy to search for mine but it isn't even a 3D card so it was pretty cheap and fits in any PC (no extra power needed). If you want 3D you are going to run into driver issues on Linux but AMD's work station cards can do the trick if you can afford them.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
It can...
Does anyone know how multiple screens daisy-chained via their display-port outputs appear to the system?
They appear as separate monitors.
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.
many people do this (and with more than three monitors) on Linux, just a matter of the right card and driver; you're imaging a massive response to the non-issue you fabricated between your ears?
The reverse often works better for games and Windows specific software auch as Outlook or a great deal of CAD software. If your software needs the bare metal performance of vendor supported access to the graphics, such as many games require now, then I've found virtualizing the Linux to be far more efficient.
This is worth a read:
http://hackaday.com/2013/03/18/hack-removes-firmware-crippling-from-nvidia-graphics-card/
It seems nVidia restrict you to two monitors on Linux whereas you can happily use three on Windows. I have no idea why other than that they are clearly bastards.
The posters question is answered the exact same way on MS Windows or linux, hardware that supports the number of screens desired and a driver downloaded from the hardware vendor. Whether it's two low end cards to do four screens or it's one relatively high end (as in more than $100 instead of dirt cheap) card that's what will do the trick. I've done it with both ways with no problems on linux and only a few problems on MS Windows with two cards (limited options for cloned screens, so normally not a big deal).
The post looks to me like a windows fanboy trying to score points by writing about a flaw that isn't there, but maybe it really is someone that got some bad advice about twinview or made an assumption based on the name. Considering how multi-monitor behavior on MS Windows still sucks I find it a bit much if it is a fanboy post. Matrox handled it better with their tool on Win2k than Microsoft does with Win7. Having to reboot to get the correct monitor resolution on a DVI connection is ridiculous - the guys writing the VGA part of the resolution tool got it right so why not the other programmers and where the fuck where the guys that were supposed to test the software before release?
At work I have a multimonitor setup running Debian 7 / Gnome 3. Works perfectly. I'm using an ATi graphics card (can't remember the model) and the proprietary drivers, it's accelerated and works very well. Setup was very straightforward - run the setup for the ATi drivers, then select in the GUI how you want your displays.
Oolite: Elite-like game. For Mac, Linux and Windows
I am not happy if I do not have at least 6, better 9 virtual desktops with quick switching. The FVWM pager gives you customizable edge-scroll, easy dragging of windows between desktops, multi-desktop spanning windows, etc. One reason Linux does not have multi-monitor out of the box is that it is almost never needed, different from Windows, where one cluttered desktop is the norm.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
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
just a matter of the right card and driver
I specifically said "trivial" for a reason. If I have to hunt out a particular model of graphics card (which may or may not still be on the market by the time someone who's had some success reports it in a public forum, I identify the need for it and go looking), then it's not trivial.
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)
Works out of the box for me too on an NVidia based card running dual screens.
- Michael T. Babcock (Yes, I blog)
This seems easy. Just get one of the Matrox TripleHead2Go:
http://www.matrox.com/graphics/en/products/gxm/th2go/displayport/
Seriously, why more than one 19" - 27"ish monitor when a single 32" would spare you the borders of the smaller screens?
Not really the people who are actually the main target of the drivers. (People using Quadro's for CAD / CAM / CAE). Would want it.
The Card he has is £500 (Not very good compared to gaming cards but at least you can use opengl anti aliased lines thing).
If I had that card I would use 2 X screens - seperate keyboard and mouse for one of them.
The Render extension and hardware accelerated 2D are not the same thing.
Nvidia only cares about the people using Quadro's on Linux / Solaris (Only reason there is a driver in the first place).
I only really know about Cadence which is a pita to use on Linux or Solaris but basically impossible to use on Windows in a way that is predictable. (Uses the registry instead of scripts and config files. Cannot even make sure 2 machines are configured the same very easily. And a mistake costs a minimum of $100,000 if you make an asic)
One simple solution is to run two X-servers (one per card), and then connect between them with X2X (to share mouse, keyboard, and clipboard). I run KDE on my main pair of screens, and Razor on the 3rd. It's a bit of a pain having to launch the window on the Xserver you need, but not a serious problem.
Btw, is there any good reason why the idle power consumption of graphics cards increases significantly when more than one (or in some cases two) monitors are connected?
In searching the answer for the infamous never-waking-up-from-the-power-saving-state-black-screen in a hd7xxx cards, I stumbled upon the bit of information that if using HDMI connector to drive the monitor, the deep power saving state never activates and the black screen problem doesn't occur. It may be that either using multiple DVI connections or DPs and HDMI with DVIs, the deepest power saving states don't activate.
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.
> Btw, is there any good reason why the idle power consumption of graphics cards increases significantly when more than one (or in some cases two) monitors are connected?
A few reasons, but if you have twice the pixels then the video card needs to read twice as much data out of it's output buffers (one 1080p@60fps monitor would require ~2.9Gbps of writing to DVI, two 1080p monitors would require 6Gbps of writing to DVI). For idle card that are not doing much, and especially one with a very weak GPU like many of the onboard ones that might be a good chunk of their power. But for the high end gaming GPUs, I don't think it should matter all that much, if the 3D application is drawing to more pixels then it will probably use more power, otherwise I don't think it would be a significant difference.
If I have to hunt out a particular model of graphics card
Yeah, very hard. The model is called an "nvidia".
SJW n. One who posts facts.
I have a Radeon 7850 with 2 dual link DVI ports and a displayport. It won't allow more than one DVI output to run dual-link resolutions. I doubt *three* monitors like this guys asks for will work if two won't even work.... Mind you, his current Nvidia board will do it just fine, but ATI is severly limited when it comes to proper resolutions on non-displayport screens.
I was promised a flying car. Where is my flying car?
The point is, on other OSes you don't need a "right" card or "right" driver to do something as simple as multiple monitors driven from one card. Two monitors is fairly standard for one card pre-Radeon 5000 series and pre-GeForce 600 series. Now both vendors support driving 3+ monitors from a single card or in SLI/CFX for many more. All it should take is installing the most current driver for the card to get the monitors up and working properly.
Or install gentoo.
I'm using two completely different nVidia boards to drive 3 monitors, one of which happens to be a 3D monitor (which is why I have two cards to begin with, needed a newer card for 3D monitor support). It was extremely simple to set up. In fact I can't even remember having to do anything other than plug in the cards an monitor, I don't think I ever opened up the nvidia control panel tool to configure it.
I meant "I'm getting the idea that the article summary posted is a troll". The word "post" is not meant to refer to the above post by starfire83, but the AC that is making some incorrect assumptions.
You are an idiot. You realize that initially Wayland is going go use a bunch of drivers ported from X right? An issue stemming from lack of drivers will continue to be an issue...
What do you think compiz, kde, gnome, enlightenment etc have been doing for the last decade?
oh please, trivial shit, i had a Mac II with 6 monitor all sharing one desktop in 1990. your just trying to crack an egg with a sledgehammer...... again, use the right tool for the job and life is easy.
Wrong. It was totally OK in XP. It was Vista that broke it for WDDM (the new driver model), but I think 7 fixed it "back".
Hey,
I know your pain, I used to hack a 3d accelerated desktop between two nvidias using some xserver packages that hadn't been worked on since 2002.
ATI finally got their crap together (only took serveral years) and you can run Eyefinity w/ 3D acceleration. I am typing this on a Debian system w/ 4960x1600 combined desktop and PLP. Learn more here : http://superuser.com/questions/95884/ati-eyefinity-under-linux (If you read down you can see a link to the initial discussion w/ ATI developers RE: drivers when these Eyefinity cards were close to launch. (ATI had promised Linux support pre-launch)
Setup in Debian takes 10-15 minutes using the drivers from ATI's site, make sure you are running Wheezy.
Best of luck.
My MacBook most certainly does drive three displays. My Mac Pro drives four, is quad-core with 16 GB RAM, and is almost five years old. I bet one a couple years old, like mine, could be bought for a couple hundred bucks.
I used Linux exclusively for fifteen years. I contributed to the kernel. When the boss put me on a Mac, I was surprised to discover how familiar it felt. I can use it just like Linux, with exactly the same workflow. The main difference is the cost of a Mac buys you nice hardware that "just works", and works very well. Mac has of course always been THE system for graphic design and publishing, so the display system is well done.
3 head ati cards are easy to come by.
In 2009, we did 24 displays on on PC. Each 3x2 quadrant is randr based. That is what you want.
Http://youtube.com/watch?v=N6Vf8R_gOec
I try to make sure that I always use the least secure operating system as the hypervisor. Playing fallout is much more important to me than having auditable, OSS software controlling the hardware, let alone a shell or terminal that is useful. /bye slashdot
It seems nVidia restrict you to two monitors on Linux whereas you can happily use three on Windows. I have no idea why other than that they are clearly bastards.
The most logical explanation is that the 3 monitor support didn't work on Linux and that they couldn't justify spending the money to debug this problem, given that the number of people using that particular card, and running Linux, and using 3 monitors, was probably only a handful.
This is why Linux will never be mainstream. "Just edit your config files". Where the OP could install Windows and not have to fuck around with settings and put up with things that don't work as expected. This is why I gave up on Linux a while ago. I was submitting patches for Wine that were almost always rejected because it interfered with some hack the Codeweavers implemented for their own gain. No compromise was ever pursued. It's all a giant patchwork of barely working hobby projects. It saddens me, because of the potential it could have.
What the OP wants is perfectly possible. I'm typing this on an Ubuntu 12.04 box running the most recent Catalyst driver, and connected to three 1920x1080 monitors. Two are DVI, one is via a DisplayPort->DVI adapter. Video card is an older Radeon 6950. It works, more or less without issue, for what I do: coding in Eclipse, browsing the Internet, etc.
Using the open-source driver works for triple monitors, but the power management is not up to snuff in the open-source driver, and the fan on the video card gets annoyingly loud after a few minutes. This is the only reason I run the closed-source driver. Strangely video playback is smoother with the open-source driver in the triple monitor scenario.
Contrary to popular myths, you do not have to edit a config file for either closed or open-source drivers to enable magical triple monitor goodness. Both were able to detect and orient the monitors using either the Ubuntu monitor control panel or the Catalyst Control Center.
Things that don't work as well: video playback and 3D games. Video will get choppy full-screen if tear-free mode is enabled, and the tearing is intolerable when it's not. Likewise, performance for 3D games across 5760x1080 is iffy. I have a laptop for gaming and an HTPC for the video stuff, so it's not a deal-breaker for me. The OP did not specify what kind of engineering he/she does (circuit design? CAD? software?), so the 3D performance may well be an issue depending on the tools being used.
I have tried the Nvidia route several times, but always came away frustrated. AMD cards Just Worked for this application. Google 'Linus Torvalds middle finger' for a more complete technical discussion of why this is.
Getting a reliable triple monitor setup on Windows or Mac is much easier than in Linux, but most that experience can be chalked up to X. In theory, Wayland or Mir will handle this much better, but no stable distro uses them by default, and none of the high-level toolkits have mature support for it.
Same here.
I have a setup with one Radeon HD6670 card running three 27" displays (1 DVI, 1 Displayport, and 1 HDMI), and it worked out of the box on the latest Mint Linux with proprietary drivers.
The monitors are on their side, so they are really 1600x2560. On their side they are 45cm each. It gives me a desktop where I can code long pages in the center screen and have debug and info to the left and right at eye level and info displays I need only occasionally at the top and bottom.
I have several generations of Dell monitors, U3011 and U3014. They have direct displayport. I have tried it with converter cables and it is a nightmare with having to edit x config files. The moment I switched over to pure display port, everything just worked.
The problem with multi-monitor setup, especially big ones is that on most normal video cards, the DVI outputs are often not equal. Typically one dual and one analog. And analog doesn't do a good job of telling your video card the capabilities of your screen.
Also since you need at least dual DVI to power a high rez screen, even if you have a Titan, it still can't power three screens because it simply lacks the outputs. There are some game video cards out there with multiple display ports but they are hard to find. The firepro series has several with either 4 or 6 DP ports.
When I found I didn't need to input timing information in x config anymore, I never went back.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
How can he be an 'engineer' and only have ever used windows?
Most engineers I know know all this stuff and use linux
more than windows/DOS.....
Could be an age thing I guess.
This log snippet is an *old* ATi Radeon 4770, running on the FLOSS (open, free) drivers (in a Debian Wheezy box with the latest 3.9 kernel):
Looks like EXA is enabled (2D acceleration), and that it is hardware-based, and that the radeon driver specifically notes that RENDER is being hardware accelerated, as well as the primitives that are actually used nowadays for 2d (nobody is drawing lines and circles anymore, the toolkits submit entire pixmaps).
[ 22.259] (II) RADEON(0): Direct rendering enabled
[ 22.260] (II) RADEON(0): Setting EXA maxPitchBytes
[ 22.260] (II) EXA(0): Driver allocated offscreen pixmaps
[ 22.260] (II) EXA(0): Driver registered support for the following operations:
[ 22.260] (II) Solid
[ 22.260] (II) Copy
[ 22.260] (II) Composite (RENDER acceleration)
[ 22.260] (II) UploadToScreen
[ 22.260] (II) DownloadFromScreen
[ 22.260] (II) RADEON(0): Acceleration enabled
[ 22.261] (II) RADEON(0): Set up textured video
[ 22.261] (II) RADEON(0): [XvMC] Associated with Radeon Textured Video.
[ 22.261] (II) RADEON(0): [XvMC] Extension initialized.
[ 22.261] (II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message.
I see the six monitors, the laptop, and the demo that uses Compiz.
But no reference to how it was done, why?
Works out of the box on ATI hardware with Eyefinity support. I am running three 1080 HD monitors right now with OpenGL support under Ubuntu.
http://www.amd.com/us/products/technologies/amd-eyefinity-technology/Pages/eyefinity.aspx
This is more complex when the monitors need dual link. You need to read and see what each particular ATI board supports.
So...you don't know how to make it work either?
I better unplug two of my four monitors really quickly! Must just be my imagination that I can see windows and drag things to them...
Presumably you have two cards? Or one of the cards that isn't restricted.
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.
Somehow, manufacturers keep their Windows driver code entirely closed, yet still manage to support multiple monitors.
before that I had nVidia TwinView, but after adding extra card and third monitor and stitching it to other two through Xinerama, work on such machine soon became unbearable.
So after i learned about AMD's Eyefinity i was desperate enough to buy one right then, even before I knew if it would work as advertised.
So I bought HD6850 and spent many nights trying to connect third monitor through DP-DVI passive ( bassicall just two connectors and piece of wire)adapter.
I have learned that I need active adapter, since card needs one PLL per output and it has only twoof them. DP per se doesn't need PLL, because it works on fixed frequency ( it just churns packets of data, just like networking card, for example). So I needed something that would convert DP packets to picture frames fro DVI.
Since DP-DVI active adapter was quite expensive back then ( almost two years back IIRC), I've got meself DP-VGA. It was awkward, since it needlesly converted data to analog ( only to be converted back in monitor!) but it worked, save a few quirks.
Then I've got hold of cheap XFX's DP-DVI ( single link) adapter and used that instead.
And recently author of open source radeon driver told me that he made a tweak in kernel version 3.9 and later, which enabled the card to rationalize PLL use when theere was more than one output to be driven with same parameters ( pixel clock above all).
Since I have three equal monitors, I plopped back in elcheapo DP-DVI passive adapter, compiled new driver and tried it. It works !
Experience with Eyefinity as well as with open source radeon driver is GREAT for me:
http://www.avtomatika.com/MOJE_SLIKCE/3MON_EYEFINITY.jpg
I've been running a three-monitor desktop for many years, and I've had to use Xinerama to get it to work. This results in some serious performance issues occasionally (I think triggered by Adobe Flash, not surprisingly) where the whole system becomes mostly non-responsive for a while. The right way of doing it is to use xrandr to configure the displays into a single logical screen. That would work great if I had a video card that could drive all three monitors. Unfortunately, I have two separate video cards, so I have to use Xinerama to make it work, which, as noted, kills acceleration.
Support for RandR across multiple GPUs has been on the schedule for years, but it's slated for release 2.0, which isn't going to be out anytime soon. When it does come out, I'll be reconfiguring my system to use it.
A bit of Googling reveals many similar stories. For example: http://unix.stackexchange.com/questions/30958/setting-up-a-3-monitor-display
So if you can find a video card that can drive all your monitors, you should be all set. There may be some vendor-specific options for doing this, but I'm not aware of them. (I seem to recall some gaming cards that would let you combine multiple cards into a single logical card, and that might work here. I have no experience in that area.)
An Engineer? I'm already impressed.
I have four monitors on my Linux box and I didn't have to do anything special. They just kinda worked. Maybe you're doing something wrong?
You can use 3d acceleration to generate a scene or just draw in 2d. The problem is it would require complete rewrites of the libraries used for 2d widgets.
Function Line3d( mesh, x0#,z0#,x1#,z1#, y# , r, g, b)
If mesh = 0
mesh = CreateMesh()
surf = CreateSurface(mesh)
Else
surf = GetSurface(mesh,1)
If CountVertices(surf)>30000
surf = CreateSurface(mesh)
EndIf
End If
dx# = x1 - x0
dz# = z1 - z0
d# = Sqr( dx*dx + dz*dz ) * 4.0
dx = dx / d
dz = dz / d
v0 = AddVertex( surf , x0-dz, z0+dx , y )
v1 = AddVertex( surf, x1-dz, z1 + dx, y )
v2 = AddVertex( surf, x1+dz, z1 - dx, y )
v3 = AddVertex( surf, x0 + dz, z0 - dx , y )
For v = v0 To v3
VertexColor surf, v, r,g, b
Next
AddTriangle surf,v0,v1,v2
AddTriangle surf,v2,v3,v0
entityfx mesh,2
Return mesh
End Function
Having to work for a living is the root of all evil.
It's in the video info. Look for XGL and XServer. This is also entirely dependent upon specific hardware and drivers. Not all work, else I'd have posted my own vids by now.
It's also how Linux video wall renderings are done on clusters, as well that nice 24 monitor Quake3 video on YouTube from 2007.
Compiz is just the eye candy here.
Would you please post your xorg.conf? I don't know how you managed to do that across two different board brands without Xinerama, which is not accelerated.
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.
Nvidia cards bump their performance up full speed (max clock and memory speed) when more than one monitor is attached. Supposedly this is design. . Fortunately, a third-party hack is available so you can have multiple monitors without blowing your energy budget. Sadly, it currently only works with n5xx or lower cards (more recent cards apparently use different power states).
Because the vendors driver code is not closed to Microsoft.
When all you have is a hammer, every problem starts to look like a thumb.
Subby, you have posted the stupidest Ask Slashdot question ever!
And you posted the stupidest Slashdot comment ever. Gratz!
Bullshit. I used to run dual displays on XP with two completely different video cards. It worked fine.
actually, as computer dept. found at work with my Mac, you might indeed need to do some research as driver might not work on one's "one behind current version" OS
that said, trivial to find working combination, I'm amazed some people are afraid they'll break a nail doing 120 seconds "research" on the net
The open Radeon drivers have accelerated 2D too and they're slowly trickling into the latest distros. F19 has them and Ubuntu saucy too, although in a buggy state last I tried.
thegodmovie.com - watch it
No, I'll windows in a vm before I run linux. I get so much more usefulness out of linux than anything else.
Actually Windows as the host is better as you are guaranteed to get full hardware support and the Windows desktop is much faster anyway.
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...
With Mac you also have the benefit of not having to wait ages for some OSS component being developed with low funding. Army of paid engineers and most of the shit works on day one.
https://www.google.com/search?q=kernel%20changelog%20%22ray%20morris
Easy. Use NVIDIA's proprietary drivers and the NVIDIA control panel to configure you multi-monitor setup. You will get full 2D and 3D acceleration.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
Slashdot changed quite a bit in the last decade...
Tomorrow is another day...
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.
> You can use 3d acceleration to generate a scene or just draw in 2d.
Until hinted scalable fonts enter into the equation. Then everything goes straight to hell. If you tried to write pixel-shaders to define every single letter of every font, style, and weight used on a page in a way that's legible at 8 pixels tall and smooth & curved without artifacts at 100, and had a hard rule that you couldn't do anything that couldn't be fully-rendered from definition to rendering in 1/60th of a second, you'd run out of ram, time, and/or triangles LONG before you got to the end of a technical ebook's first real page.
The fundamental problem is that triangle-based acceleration is the *wrong* kind of acceleration for high-quality text rendering. Fonts need B-spline acceleration. Rendering text with triangles is like trying to emulate a Soundblaster Pro with a Gravis Ultrasound was back in 1993.Sometimes, you need hardware that's optimized for the specific task at hand, and trying to generalize it into something else just makes matters worse.
I'm dumping Linux because Flash doesn't work. It's foolish to be without access to Youtube. And none of the Flash players work.
Entropy- It's not just a good idea.....
Or the linked article is complete bullshit that you've sucked down.
I switched back to fvwm from kde. Xfce is not quite as configurable. Unfortunately fvwm has some crippling bugs that crash it occasionally.
>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." You could go full retard and install Windows + proprietary drivers and then either 1. setup a virtual Linux box or 2.use CygWin ( http://www.cygwin.com/ )
I'm on the proprietary Nvidia Linux driver with 2 monitors and adaptive mem/gpu clock speed. The clocks do appear to be scaling, so maybe this is a Windows driver problem?
:. Ultimate Control Dedicated/VM Servers
I am running Ubuntu 13.04 with an amd vid card. I just plugged in my monitors, then when I turned on my compy they just worked without me having to do anything.
Word!
I couldn't say. The problem was acknowledged by nvidia (albeit as something intentionally designed rather than a bug) but perhaps it's a workaround for something in Windows. Supposedly ATI cards suffer a similar - if not as serious - flaw (IIRC only the memory speed clocks up). Its also possible that the problem only appears on certain GPU chipsets (definitely the 4xx and 5xx lines, and apparently the 6xx GPUs as well), so if you have an older or new card it may not effect you. There also seemed to be some argument if it always happened or if it required "different monitors" (e.g., some reported that using identical monitors did not trigger the problem).
In any event, the posted solution is also Windows-only. /That/ fact occurred to me roughly 2.7ns after I hit the submit button ;-)
Nonetheless, if you /do/ have one of those cards be aware that plugging in more than one monitor may cause it to ramp up to full speed, wasting electricity and generating excess heat for no good use. Unfortunately, it's not immediately obvious so I felt obligated to bring it to people's attention. If it doesn't happen to you, then count yourself fortunate (especially when your electric bill comes due). But checking is relatively easy (Windows users can use GPU-Z to see their GPU's current clock speed) and it may save you some money in the long run.
Windows..., and the alignment of the planets.
Is that why Allen got involved in SpaceX?
It'd be worth the effort. It's also the most viable option since OpenGL support is nearly complete for nVIDIA and AMD, while 2D acceleration is basically abandoned already.
I don't know if you are aware, but Microsoft is not developing those drivers.
Let me answer all the troll posts in a few lines.
Remember that eyefinity demo from 2009? http://www.youtube.com/watch?v=N6Vf8R_gOec Can you guess what operating system it was demoed on?
Linux is not the problem. Multiscreen has been working for a long time either with randr or with proprietary implementations. If your nvidia card with the proprietary driver can not use 3 screens, maybe you should complain to nvidia about their driver because it's their job to make it work.
Nowadays you can use a single desktop on multiple gpus too. The trolls can say that this is "simple" all they want but the simple fact is that this required some sophisticated infrastructure like the new randr specification, dma-buf/prime, etc. Of course this works best on the open source drivers. I don't know the state for the nvidia drivers but they wanted to support it too. If this doesn't work for your nvidia card, maybe you should complain to nvidia about their driver.
Not true. Have a friend who developed display drivers for wp8, he had the driver source and was making fixes for the hardware vendor. Same likely applies to desktop gpus.
Google signed distance fields and then reexamine your comment.
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.
If I had mod points, you'd have them. I'd like a FLOSS world, but I'll take a working closed world over a broken open one. As much as I'd like to, I simply can't fix everything I come across that's broken, no matter how open it is.
The real question is: which solution works with the X.org drivers and does not require me to pull in proprietary binary code? My experience is that binary-only graphics cards drivers will blow up sooner or later, or might just stop being ported to newer X.org versions.
echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck
Intel is the only GPU manufacturer that has a fully free graphics stack. AMD has a free driver, Nvidia has free nothing. (There is a free reverse-engineered 3rd party stack for Nvidia cards, nouveau)
On the other hand, Intel's wifi will not work with free software.
It's a real shitty situation.
You could pre-render the page, compress it, then store that to SD. That'd probably be significantly faster than storing the full bitmap to slow storage, even with the compress/decompress overhead.
Software sucks. Open Source sucks less.
Never had luck with the triple-head-2-go. Startech had this great little unit though that automagically detected the monitors plugged into it and presented it to the OS as a single, expansive monitor.
http://ca.startech.com/AV/Splitters/DisplayPort/Triple-Head-DisplayPort-Multi-Monitor-Adapter~SP123DP
Worked on our XP laptops without a driver install.
nVidia on Linux just isn't very good. Lots of driver issues whether you go with the nVidia binary or the open source. If you have a laptop that you need to dock and undock it gets worse.
Do you have the xorg.conf for that setup?
Are the multi-monitor support with Eyefinity 2.0 (as on the 7870) indeed comparable, or are the reasons why I would choose one or the other? One advantage to nVidia is that Radeon cards (with the exception of the few Sapphire Flex models) require an active DisplayPort to DVI adapter if one wants to connect 3 non-DisplayPort devices, but nVidia does not have this limitation. On the other hand, and this is fuzzier, Eyefinity has been around longer and is presumably more mature. On nVidia, I believe a single X screen (as implemented in the card/driver) is limited to 3 monitors; the 4th must be a separate X screen. It's not clear to me if Eyefinity has a similar restriction.
Of possible importanance is that the monitors will be heterogeneous. Currently the system has two 24" 1920x1080 monitors. I expect to add a 27" 2560x1440,
Now all we need is support for hot-pluggable displays, like USB VGA cards that use the sisusbvga driver but the X server knows nothing about until it restarts.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife