RandR (etc) DriverFunc

Jim Gettys Jim.Gettys at hp.com
Fri Mar 18 08:40:59 PST 2005


On Fri, 2005-03-18 at 17:29 +0100, Thomas Winischhofer wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Jim Gettys wrote:
> | Note that the kdrive and XAA implementations of RandR differ.
> |
> | IIRC, resizing the actual frame buffer size in XAA would have presented
> | a bunch of problems (Keith, do you remember exactly what?).  The cost of
> | leaving things alone is not recovering frame buffer space, and inability
> | to resize to a larger than initial root window size.
> 
> 
> I can very well imagine what these problems are:
> 
> - - fb manager
> - - xaa itself and the driver-side xaa stuff (no xaa call hands the fb
> pitch to the driver; color expand buffer stride, etc)
> 

Sounds right...

I've meticulously avoided looking at XAA over the years; kdrive is my
personal cup of tea when I get the yen to hack the X server, something I
avoid doing most of the time (though it looks I need to take a deep dive
into parts of DIX and OS, I think I can avoid the DDX output interface
for what I want to do next).

And I'm glad we pulled depth switching out of RandR, which would have
been very complex; Composite makes that approach unneeded (though there
are still a few outstanding issues to making the composite approach
real...).

> I think, despite all this, it's still pretty usable ;)
> 

Yup.  That was the intent, and certainly, I've been pretty happy with
the result.
				- Jim

> Thomas
> 
> 
> 
> | Kdrive's implementation (which does not support virtual screens) is
> | "correct".
> | 				- Jim
> |
> |
> | On Fri, 2005-03-18 at 16:37 +0100, Thomas Winischhofer wrote:
> |
> | Michel Dänzer wrote:
> | | On Fri, 2005-03-18 at 11:54 +0100, Thomas Winischhofer wrote:
> | |
> | |>| Depending if an randr aware client has already connected at that
> | |>| time you should be fine. I believe that the root window size gets
> | |>| changed from within xf86RandrSetConfig() (from reading the code
> | |>| very quickly) so any client that comes after that would be fine.
> | |>
> | |>
> | |>No, the root window size is constant during the server session. RandR
> | |>only changes the virtual screen dimensions.
> | |
> | |
> | | And what is the root window size if not the virtual screen size? :)
> | | Correct (for our DDX) would be I think: 'The maximum root window size is
> | | constant during the server generation.'
> |
> | OK, to be more precise:
> |
> | The RandR extension only changes {pScreen,pScrn}->virtual? (and the
> | pScreen->mm{width,height} fields), but not anything else. The root
> | window is created immediately after all ScreenInit()'s and takes the
> | original pScreen->virtual? for its size. And it stays in that size
> | throughout server lifetime.
> |
> | Thomas
> |
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
> 
> - --
> Thomas Winischhofer
> Vienna/Austria
> thomas AT winischhofer DOT net	       *** http://www.winischhofer.net
> twini AT xfree86 DOT org
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.0 (GNU/Linux)
> 
> iD8DBQFCOwH9zydIRAktyUcRArazAKCPJ4QFQoTw9yi6EoDZW39hVt4nEQCgh4j9
> dpaFe8g4aatkLu5AJ98M5hc=
> =p1WW
> -----END PGP SIGNATURE-----




More information about the xorg mailing list