Re: Virtual Xinerama

2004-02-14 Thread Jan Dittmer
Alex Deucher wrote:
should work for driver based xinerama extensions. Ideally the official
extension would be extended to handle both cases.  If you come up with
a patch, please post!
I started to dig through the code to implement some new config options 
to basically being able to specify a vertical and horizontal split to 
the screens in the ServerLayout section (just as a start to get familar 
with the code).
What I've managed to do so far is to parse the variables into some new 
fields of the confScreenRec structure.
Now I'm trying to access this information from the panoramiX extension - 
but failed. Given the screen number, how do I access the associated 
confScreenRec (or confLayoutRec) structure?

Thanks,

Jan



pgp0.pgp
Description: PGP signature


Virtual Xinerama

2004-02-06 Thread Jan Dittmer
Hello,

I recently aquired a second video card, so that I now have a triple 
display. I'm using a Nvidia card (with the binary drivers) in TwinView 
Mode to drive the first two displays and a Ati card for the third 
display. What really annoys me is, that as as soon as you enable 
TwinView together with a second card, the two displays are just seen as 
one screen and so every window manager only 'sees' two screens. So 
maximized windows etc. always strech over (at least) two displays.
As I don't think Nvidia will be fixing this anytime soon and I think 
this could probably useful elsewhere (i.e. dividing your display into 
two screens so that window always are maximized to half the window, 
...), I'm wanting to implement a kind of virtual xinerama support.
I've thought about different ways of implementing this. The easiest 
solution I can see so far is to just extend the screen definitions in my 
ServerLayout like the following example:

Section ServerLayout
...
Screen  0 NvScreen Geometry 1280 1024 0 0
Screen  1 NvScreen Geometry 1280 1024 1280 0 RightOf 0
Screen  2 AtiScreen0 RightOf 1
Of course RightOf, LeftOf, etc. would have to be made to work with 
screen-nums and screen-ids. Also checks for non overlapping of areas 
would have to be done. And only dividing of hole screens will be 
supported, no funny part of this and part of that screen.
So, what do you think of the general idea? Is this just totally bogus or 
may this be useful? Especially, are their other ways (other than hacking 
every wm out there) to do this better/cleaner/faster?

Thanks for any comments, suggestions and hints,

Jan

ps: I already started hacking on this. Seems like I've to dig quite deep 
into the xinerama layer. :-)


pgp0.pgp
Description: PGP signature


Re: Virtual Xinerama

2004-02-06 Thread Jan Dittmer
Jan Dittmer wrote:
ps: I already started hacking on this. Seems like I've to dig quite deep 
into the xinerama layer. :-)
Okay, after looking into this, I think what I really just want to do is 
to fake the reply of PanoramiX{GetScreenCount,GetScreenSize,}, 
XineramaQueryScreens. Emulatins multiple screens, like first thought, 
gets far too complex. Are there any other places window managers get 
there screen information from in xinerama mode other than those 3?

Thanks,

Jan



pgp0.pgp
Description: PGP signature


Re: Virtual Xinerama

2004-02-06 Thread Alex Deucher
--- Jan Dittmer [EMAIL PROTECTED] wrote:
 Hello,
 
 I recently aquired a second video card, so that I now have a triple 
 display. I'm using a Nvidia card (with the binary drivers) in
 TwinView 
 Mode to drive the first two displays and a Ati card for the third 
 display. What really annoys me is, that as as soon as you enable 
 TwinView together with a second card, the two displays are just seen
 as 
 one screen and so every window manager only 'sees' two screens. So 
 maximized windows etc. always strech over (at least) two displays.
 As I don't think Nvidia will be fixing this anytime soon and I think 
 this could probably useful elsewhere (i.e. dividing your display into
 
 two screens so that window always are maximized to half the window, 
 ...), I'm wanting to implement a kind of virtual xinerama support.
 I've thought about different ways of implementing this. The easiest 
 solution I can see so far is to just extend the screen definitions in
 my 
 ServerLayout like the following example:
 
 Section ServerLayout
 ...
  Screen  0 NvScreen Geometry 1280 1024 0 0
   Screen  1 NvScreen Geometry 1280 1024 1280 0 RightOf 0
  Screen  2 AtiScreen0 RightOf 1
 
 Of course RightOf, LeftOf, etc. would have to be made to work with 
 screen-nums and screen-ids. Also checks for non overlapping of areas 
 would have to be done. And only dividing of hole screens will be 
 supported, no funny part of this and part of that screen.
 So, what do you think of the general idea? Is this just totally bogus
 or 
 may this be useful? Especially, are their other ways (other than
 hacking 
 every wm out there) to do this better/cleaner/faster?
 
 Thanks for any comments, suggestions and hints,

Drivers that implement their own xinerama extension are not compatible
with the official xinerama extension (It's not that they are
incompatiable, rather you can only have one xinerama extension
registered at a time).  right now you can only have one or the other. 
Torrey Lyons mentioned extending the xinerama extension at one point to
better accomodate things like merged framebuffer modes and other
windowing systems that provide their own multi-mon API such as Apple. 
I don't know that anyone has really done anything on this at the moment
though.  Take a look at the sis driver or the radeon driver in DRI cvs
or the pseudo-xinerama stuff in the quartz code for an idea of how this
should work for driver based xinerama extensions. Ideally the official
extension would be extended to handle both cases.  If you come up with
a patch, please post!

Alex

 
 Jan
 
 ps: I already started hacking on this. Seems like I've to dig quite
 deep 
 into the xinerama layer. :-)
 

 ATTACHMENT part 2 application/pgp-signature 



__
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel