View Full Version : AMD's MultiView On Linux
phoronix
10-09-2008, 07:10 AM
Phoronix: AMD's MultiView On Linux
Introduced in the Catalyst 8.8 Linux driver and further stabilized within Catalyst 8.9 was AMD's MultiView technology. MultiView makes it possible to use multiple GPUs on the same system not for Linux CrossFire but for driving multiple display heads. Using MultiView on Linux you can easily drive four, six, or even eight screens. In fact, up to 32 displays are theoretically supported on a single system (permitting you have enough graphics cards and PCI Express slots). MultiView also allows for OpenGL acceleration across all displays and does not rely upon Xinerama. In this article we are taking a brief look at this multi-GPU multi-monitor feature catered towards AMD's workstation customers.
http://www.phoronix.com/vr.php?view=12931
This was a nice article, with some interesting information being presented. However, I almost fell out of my chair when I read this:
After manually modifying the AMDPCSDB, you will want to save it when X isn't running or hard restart the computer following that. When the system is turned off, rebooted, or other graphics changes are made, the manual AMDPCSDB modifications will be wiped out. Hitting the restart button immediately after saving the button and booting back up, our MultiView hack remained and we were able to begin using this feature.
Come again?! In order to preserve the settings you made in a simple text file you pull the plug on the computer? Are you for real? I would expect this to be written by some newbie on a forum, not to read something like this in an article on what is one of the (few, unfortunately) serious Linux sites!
Not only do you advise people to do this, you actually seem to do it yourselves... Priceless.
Now, in case someone else is reading and wants to give it a try: please do NOT follow the advice presented in the quote above! Doing so may seem harmless, but it would be like someone kicking you while running: sure, you may just loose your foot and stumble or you may get bruised or, if unlucky enough, you may even brake something. The same happens to the computer: it may be completely harmless, or you may loose the latest edit to a config file (talk about self-defeating advice) or you may loose some important data... you never know -- that's why the reset button should only be used when the computer freezes as a last resort.
Besides, there's a lot of different ways you can accomplish the same goal without resorting to extreme measures:
1. Ctrl-Alt-F1, log in, type "/etc/init.d/{k|g|x}dm stop" -- basically shut down X.Org from the console. You are then free to use vi/mcedit/joe/whatever to edit the file and when you're done start X.Org again by "/etc/init.d/{k|g|x}dm start"
2. If you need to keep the settings through reboots, simply edit the file (even under X) but save it with a different name, say "/etc/ati/myconf", then add a short line to "/etc/rc.local" that says "cp /etc/ati/myconf /etc/ati/amdpcsdb" and that will run each time the computer boots.
These are just some examples I came up with on a whim, there are a lot of ways to achieve this... "hitting the restart button" is NOT one of them!
Note to the editor: please do not take this personally, I really appreciate the site and all the work that goes into it. I just can't stand by when things like this get posted publicly!
Michael
10-09-2008, 08:49 AM
This was a nice article, with some interesting information being presented. However, I almost fell out of my chair when I read this:
Come again?! In order to preserve the settings you made in a simple text file you pull the plug on the computer? Are you for real? I would expect this to be written by some newbie on a forum, not to read something like this in an article on what is one of the (few, unfortunately) serious Linux sites!
Not only do you advise people to do this, you actually seem to do it yourselves... Priceless.
Now, in case someone else is reading and wants to give it a try: please do NOT follow the advice presented in the quote above! Doing so may seem harmless, but it would be like someone kicking you while running: sure, you may just loose your foot and stumble or you may get bruised or, if unlucky enough, you may even brake something. The same happens to the computer: it may be completely harmless, or you may loose the latest edit to a config file (talk about self-defeating advice) or you may loose some important data... you never know -- that's why the reset button should only be used when the computer freezes as a last resort.
Besides, there's a lot of different ways you can accomplish the same goal without resorting to extreme measures:
1. Ctrl-Alt-F1, log in, type "/etc/init.d/{k|g|x}dm stop" -- basically shut down X.Org from the console. You are then free to use vi/mcedit/joe/whatever to edit the file and when you're done start X.Org again by "/etc/init.d/{k|g|x}dm start"
2. If you need to keep the settings through reboots, simply edit the file (even under X) but save it with a different name, say "/etc/ati/myconf", then add a short line to "/etc/rc.local" that says "cp /etc/ati/myconf /etc/ati/amdpcsdb" and that will run each time the computer boots.
These are just some examples I came up with on a whim, there are a lot of ways to achieve this... "hitting the restart button" is NOT one of them!
Note to the editor: please do not take this personally, I really appreciate the site and all the work that goes into it. I just can't stand by when things like this get posted publicly!
Right, as mentioned in that paragraph, you can do it when X isn't running and everything will be all set. What I just did though was the quick and dirty approach as with the test systems to save a few minutes of time, if a hard restart messes up the software or breaks the hardware on the test system, quite frankly it doesn't concern me.
miles
10-09-2008, 11:52 AM
Is it possible and easy with Multiview to configure multiple users on one computer (i.e. having one computers, 2 screens, 2 keyboard, 2 mouses), with either one or two AMD/ATI graphic cards?
shreg
10-09-2008, 11:57 AM
Too bad it is only for FireGL.
I do wonder if it works with a notebook (1 GPU and 2 Head)? Not that I own a Mobility FireGL
HwyXingFrog
10-09-2008, 12:15 PM
Ok, I've got a question.
I've been trying to find a way to do this in Linux and haven't had much success with the gui configuration programs for ati or nvidia.
Both are IGP's. One is the ATI 780g, and the other is the Geforce 8200.
I have two monitors that fit perfectly in my desk when I set them up like this: 19" 4x3 1280x1024 LCD and a 15" 1024x748 rotated to be 768x1024 right beside the 19" monitor.
I can't get any of these programs set up to allow the monitors to work together, and allow me to rotate the 15".
Does this new CCC allow that?
bridgman
10-09-2008, 12:22 PM
Is it possible and easy with Multiview to configure multiple users on one computer (i.e. having one computers, 2 screens, 2 keyboard, 2 mouses), with either one or two AMD/ATI graphic cards?
I don't think we made any attempt to support multiple simultaneous users on one computer via Multiview. The goal was to let a single user with lots of screens make full use of those screens.
miles
10-09-2008, 01:54 PM
I don't think we made any attempt to support multiple simultaneous users on one computer via Multiview. The goal was to let a single user with lots of screens make full use of those screens.
Too bad :( that would have skyrocketed the WAF for the HD4870. Now I'll have to come up with another reason (her games play perfectly on the 7900GS).
flami
10-09-2008, 03:24 PM
Is it possible and easy with Multiview to configure multiple users on one computer (i.e. having one computers, 2 screens, 2 keyboard, 2 mouses), with either one or two AMD/ATI graphic cards?
Correct me if I'm wrong , but wouldn't that be what mpx is supposed to do ? ( having several mice and keyboards connected and have them operate independently )
miles
10-09-2008, 04:13 PM
Correct me if I'm wrong , but wouldn't that be what mpx is supposed to do ? ( having several mice and keyboards connected and have them operate independently )
As far as I understand, Multi-Pointer X is only part of the problem - you also need to be able to pilot the monitors in a different way than the traditional TwinView/Extended desktop/whatever mode. In Intrepid, thanks to changes on the X side of things, I'm unable to configure the monitors plugged to my Nvidia graphic card as separate screens. Since Multiview is a "new" method, there's more chance it will work better with a recent X setup than good ol' Nvidia way ;)
numasan
10-09-2008, 07:06 PM
If one monitor were connected per FireGL card, can 3D and compositing applications then use each cards GPU independently, when that app spreads over two monitors? Or is that up to the application?
Ok, I've got a question.
I've been trying to find a way to do this in Linux and haven't had much success with the gui configuration programs for ati or nvidia.
Both are IGP's. One is the ATI 780g, and the other is the Geforce 8200.
I have two monitors that fit perfectly in my desk when I set them up like this: 19" 4x3 1280x1024 LCD and a 15" 1024x748 rotated to be 768x1024 right beside the 19" monitor.
I can't get any of these programs set up to allow the monitors to work together, and allow me to rotate the 15".
Does this new CCC allow that?
I don't know if you've read /usr/share/doc/nvidia-glx-new/README.txt.gz about TwinView and MetaModes, and how to set that up in xorg.conf, but I just searched for 8200 in that document (nvidia-driver 169.12), but it's not listed as a supported GPU. Have you tried with the newest nvidia-driver? I'm not sure about ATI though. Got it working on a Mobility FireGL once, using Xinerama, but I can't remember the configuration. Maybe that 780g isn't supported either in the driver you are using? For rotation RandR (http://www.phoronix.com/scan.php?page=article&item=927) is used, but the MultiView-thing disables the use of RandR 1.2
mtippett
10-09-2008, 09:00 PM
Is it possible and easy with Multiview to configure multiple users on one computer (i.e. having one computers, 2 screens, 2 keyboard, 2 mouses), with either one or two AMD/ATI graphic cards?
The most common method for that is multihead, no xinerama, USB input, Xepher/Xnest. You lose 3D on one of the heads. But YMMV depending on intent.
FWIW, you are describing what is generally known as multiseat. Google is your friend.. Some quick links (can't promise the value)...
http://netpatia.blogspot.com/2006/09/multiseat-iv-evdev-and-xephyr.html
http://ubuntuforums.org/showthread.php?t=638620
And so on. So, in theory it is possible, but I don't have any experience in playing with it.
Regards,
Matthew
xeros
10-10-2008, 09:09 AM
First AMD should fix the most annoying bugs with DualHead on FGLRX - it's impossible to use it with XV and DRI+GLX with Compositing (even trying to use XV or GL on one of the displays). Even without Compositing it's very unstable. There are such bugs for something about a year now or even more.
aruzsi
10-13-2008, 05:01 AM
Anyone can advice me a cheap motherboard and graphic card(s) for a very cheap 4 headed machine with independent screens?
It would be a simple test system because in the last days I got a task migrating the view of our apllication which running on DEC Alpha VMS with big CRTs. We would like LCDs but I'm not able to find any product with RGB BNC input connector.
So I think I can use a Linux X Terminal with more LCD minitors.
Now I can't choose between AMD/Intel or nVidia/ATI.
My distibution will be SuSE 11.0.
The application is very old (from '95) so I needn't any 3D or any gaming features. I just want 4 or more independent screens for displaying the pictures.
I checked ASRock K10N78FullHD-h SLI R3.0 motherbord with a simple nVidia 8200 VGA card as 2nd two heads. It would be an example for AMD+nVidia...
Any other solutions which can be worked together?
TIA,
hvengel
10-17-2008, 03:14 PM
I have a question. I noticed in the FlightGear/MultiView video that the user did not have his displays calibrated (IE. there were notifiable differences in white point and gamma between the monitors). Nividia's TwinView does not correctly implement the XVidMode extension and as a result it is not possible to set the video card gamma tables for each connected device and the gamma settings affect both monitors. The work around is to use Xinerama but this means no composit functionality. This is a flawed design and I know based on postings on the ArygllCMS email list that older ATI drivers also had this design flaw.
Nvidia has told me that they plan to fix this issue when XRandR 1.2 support is available in their drivers. But that promise was made almost two years ago and I am still waiting. Presumably these newer AMD drivers with XRandR 1.2 support have corrected this issue (is that true?) but I see from the article that MultiView disables XRandR 1.2. In any case can someone tell if these newer AMD drivers allow the video card gamma tables to be set on a per monitor basis in either XRandR 1.2 mode or MultiView?
drego
11-04-2008, 09:57 AM
Hey,
thx for the nice article about MultiView. I have the same alignement configuration of displays (4 Dell with 1920x1200 each) and two ATI HD4850. The used driver is 8.9.
My Problem is, that my Ubuntu 8.04 system recognizes only two displays of the first graphics adapter. Has anybody an idea?
Thx a lot
drego
here is my xorg.conf
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "ServerLayout"
Screen 0 "aticonfig-Screen0"
Screen 1 "aticonfig-Screen1" RightOf "aticonfig-Screen0"
Screen 2 "aticonfig-Screen2" RightOf "aticonfig-Screen1"
Screen 3 "aticonfig-Screen3" RightOf "aticonfig-Screen2"
Identifier "Default Layout"
EndSection
Section "Files"
EndSection
Section "Module"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor0"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor1"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor2"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor3"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "aticonfig-Device0-Out1"
Driver "fglrx"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "aticonfig-Device0-Out2"
Driver "fglrx"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "aticonfig-Device1-Out1"
Driver "fglrx"
BusID "PCI:2:0:0"
EndSection
Section "Device"
Identifier "aticonfig-Device1-Out2"
Driver "fglrx"
BusID "PCI:2:0:0"
EndSection
Section "Screen"
Identifier "aticonfig-Screen0"
Device "aticonfig-Device0-Out1"
Monitor "aticonfig-Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "aticonfig-Screen1"
Device "aticonfig-Device0-Out2"
Monitor "aticonfig-Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "aticonfig-Screen2"
Device "aticonfig-Device1-Out1"
Monitor "aticonfig-Monitor2"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "aticonfig-Screen3"
Device "aticonfig-Device1-Out2"
Monitor "aticonfig-Monitor3"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
duke_h3
06-18-2009, 10:51 AM
Hi Guys, this feature looks realy handy. Just what I have been looking for. Unfortunatyl I cant seem to be able to reproduce it in later versions of Ubuntu. I have so far not tried downgrading to 8.4. But so far it looks like sort of the last resort. Anybody who has any luck using MultiView in Ubuntu 9.4?
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.