Dynamically switch ServerLayout - is it possible ?
Alan Hourihane
alanh at fairlite.demon.co.uk
Tue Oct 25 08:40:57 PDT 2005
On Tue, 2005-10-25 at 08:36 -0700, Waldo Bastian wrote:
> On Monday 24 October 2005 06:13, Alex Deucher wrote:
> > On 10/24/05, Joe Ammann <joe at pyx.ch> wrote:
> > > Hi all
> > >
> > > after some long fighting with my new Laptop (Dell Latitude D610 with
> > > Intel i915GM) I finally reached solutions for most of my problems. I want
> > > to get the following 3 configurations running:
> > >
> > > 1) Laptop without external monitor in 1400x1050 (native resolution of
> > > Laptop display) resolution with RANDR
> > > 2) Laptop in Docking Station at home with external CRT which is able to
> > > display 1400x1050 at 85 Hz
> > > 3) Laptop in Docking Station at work with external DFP (via DVI) at
> > > 1600x1200
> > >
> > > I have all 3 working ok (with the help of 915resolution and the newest
> > > snapshot of i810 DRI driver), but only with different ServerLayout
> > > sections pointing to differently configured devices. The varying
> > > parameters include
> > >
> > > Option MonitorLayout of the i810 device
> > > Option VertRefresh of the different monitors
> > >
> > > I have not been able to find one single configuration that work in all
> > > configurations.
> > >
> > > The problem that remains is that I would like to be able to switch
> > > between these different layouts without restarting the X server. Now, I
> > > do it by passing the -layout option when starting. Is there a way to
> > > switch without restarting X ? That would allow me to
> > > suspend/hibernate/dock/undock without having to restart X?
> >
> > Unforunately, this is not possible at the moment.
>
> So what would be required to make this possible?
>
> I assume:
> * The driver would need to support switching layout dynamically. Will this
> require a new driver hook, or can an existing one be reused for that?
>
> * The X server must expose an API that can be used to tell the driver to
> switch... Should this API expose the driver specific options, or should it
> offer an abstract API that is the same for all drivers (e.g. as an extension
> to XRandR)?
I think it can be handled by RandR anyway. We just need to detect a new
monitor and send a resolution change through RandR.
Detection of a new monitor is the missing piece currently.
Alan.
More information about the xorg
mailing list