From: Christopher D. Johnson (cubicwts++at++excite.com)
Date: 10/06/2005 06:57:09
Ah-HA! Light bulbs are beginning to come on. Here is what I THINK my problem may be, given the information you all have so graciously provided and I have attempted to absorb. Confirm, deny, or add to what I describe below.
My system hardware is as follows:
* 2 1280x1024 LCD screens
* 2 Intel Xeon processors
* 1 NVidia graphics board with dual monitor outputs
I've run xdpyinfo and it tells me:
default screen number: 0
number of screens: 2
>From the pfPipeScreen calls and results I was getting earlier, it seems to make sense that I have a single X-Server that sees 2 physical screens. The traditional way to handle this would be to make 2 pfPipes, one for each screen, and attach my upper and lower windows to their respective pipe. There seems to be a snafu with Performer however, in that when I try to make 2 pipes with a SINGLE graphics card within one executable, weird things happen.
Before, I had one executable for each screen, each executable having it's own seperate initialization of Performer. The only difference was the systems DISPLAY variable was set to ":0.0" for the lower controlling executable and "0:1" for the upper executable. So technically I had 2 pfPipes being created, but the pipes existed in seperate executables. In that case, everything seemed to work fine, which confuses me a bit when I try to understand the "one graphics card can only use one pfPipe" theory.
My issues have really been that I am now trying to COMBINE those two executables into one all-encompassing executable (for good reason outside the scope of this problem), which means Performer is only being initialized once, and now I was (am) trying to create the two pipes I had before in a single initialized instance of Performer (in the one executable).
In the two-executable scenario, when Performer was being initialized, and the pfPipes and pfPipeWindows were being created, the display connection was never explicitly set for Performer. The DISPLAY environment variable was being set to either ":0.0" or ":0.1" and the initialization calls went off of that.
Why is it possible for the two seperate executables to work properly and display to their proper screens with two seperate pfPipes (and frankly two seperate instances of Performer) and I am unable to render two pipes in the one executalbe and get that to work?
Christopher D. Johnson
AV-8B Harrier II Simulators
ISEO Support Team
Cherry Point, NC
252-466-4542
252-466-4538
--- On Thu 10/06, Jason Daly < jdaly++at++ist.ucf.edu > wrote:
From: Jason Daly [mailto: jdaly++at++ist.ucf.edu]
To: cubicwts++at++excite.com
Cc: info-performer++at++sgi.com
Date: Thu, 06 Oct 2005 09:17:06 -0400
Subject: Re: [info-performer] Multipipe Initialization
<br>Hi, Christopher,<br><br>Some random thoughts below,<br><br><br>Christopher D. Johnson wrote:<br><br>>So when I create my single pfPipe (which I already have) and then create my 2 seperate windows, what is the "best" way to have each of my windows go to the proper display? <br>><br><br>If you do really have a single X "screen" that is spanning your two <br>monitors, you can send your windows to the proper place via:<br><br>pfPWinOriginSize(pwinUPPER, 0, 0, 1280, 1024);<br>pfPWinOriginSize(pwinLOWER, 0, 1024, 1280, 1024);<br><br>I'm assuming your screens are both 1280x1024 resolution. If not, you'll <br>have to adjust accordingly.<br><br><br>>Before, when I made the calls:<br>><br>>pfPipeScreen(mttGlobal->gfxPipeLOWER,0);<br>>pfPipeScreen(mttGlobal->gfxPipeUPPER,1);<br>><br>>I could see the windows on each screen being created when I called pfFrame() the first time. Does the fact that these calls directed the windows (and assigned the pipes) to the "screen" I expected mean
_______________________________________________
This archive was generated by hypermail 2b29
: Thu Oct 06 2005 - 06:57:23 PDT
I have to treat the situation as two screens and have 2 pipes?<br>> <br>><br>I'm not sure about this. It depends on what Performer does when you ask <br>for a pipe that isn't there.<br><br>>As an aside, I can move the mouse pointer from the lower screen to the upper screen seemlessly. Is this a direct indication that the system sees the 2 physical screens as one "screen"? I know this is long winded but I'm trying to really get the heart of the concepts I'm learning here. Thanks.<br>> <br>><br>Not necessarily. Typically, when you have a single X server "display" <br>running multiple "screens", you'll get the same behavior. However, the <br>most common setup on a Linux box is with a single X "display" and <br>"screen", which spans multiple monitors. <br><br>Try running xdpyinfo, and see how many screens and what resolutions are <br>reported (this is near the top of the output, before the long list of <br>visuals). If you only see a single screen, then you're screen is
<br>spanning multiple monitors, and you should attach your pipe windows to <br>the same pipe. If you see two screens, then each screen is driving one <br>monitor, and you should be able to get two valid pfPipes and be able to <br>attach a full-screen window to each one. Typically, this can only work <br>if you have multiple graphics cards in your machine.<br><br>There is one more possibility. If you have a single (NVIDIA) card in <br>your machine, and you've got it configured for TwinView, but you have it <br>set to create multiple X screens, you won't be able to get <br>hardware-accelerated OpenGL on your second screen (this information is <br>from the NVIDIA driver's README). Chances are, it would perform well on <br>the first screen, but if you tried to use the second screen, it would <br>have a hard time getting a useful visual to run Performer with. I'm <br>mainly bringing this up because you said that you were getting an error <br>message about not finding the
desired visual when trying to run multiple <br>screens, but it ran OK on one screen, correct? A quick check for this <br>may be to try running glxinfo once on each screen, and see if the <br>outputs match. If not, then this may be your problem.<br><br>-- <br><br>--"J"<br><br>"I'm a castaway stranded in a desolate land,<br> I can see the footprints in the virtual sand."<br> --Neil Peart<br><br>-----------------------------------------------------------------------<br> List Archives, Info, FAQ: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com<br> Admin. requests: info-performer-request++at++sgi.com<br>-----------------------------------------------------------------------<br><br>
Join Excite! - http://www.excite.com
The most personalized portal on the Web!