So one of the problems I want to solve for KMS it the what to do when nothing 
is plugged in at startup, I've fixed this for fbcon in the current tree, but 
when looking at X + randr clients I realised it needed a bit more work.  

I've pulled the polling code back into the core, and it nows can send uevents 
to userspace when something changes. The drivers can specify flags for each 
output as to whether it is hotplug capable, needs connection polling and can 
handle disconnection polling. A lot of outputs can't handle disconnection 
polling due to DAC polling causing flicker on the current output. Also things 
like s-video shouldn't be polled for connect or disconnect esp if sharing a dac 
with a VGA output. So with patch one, we can boot, start X all without anything 
connected, however it runs into an issue which patch 2 is an attempt to fix.

So at startup X drivers genearlly seem to ask for a list of connectors and 
status for them, and if it can't find any connected, it goes to unknown, and if 
none of those they fall over and X exits. Idea 1 was to just pick a connector 
and claim it is connected when nothing else is, however this falls over, for 
DVI esp on a dual-DVI card. You pick a DVI connector, claim it is connected, 
you most likely end up turning on the analog portion of it, you hotplug a 
digital connector and the uevent gets sent, the client app repolls the 
connector status, sees the connector is still connected so doesn't do anything. 
Forcing a disconnect/connect is incredibly racy and hard. So Ben Skeggs 
suggested we just fake a disconnected connector for this case. It looks a bit 
messy in xrandr, but from what I can see the gnome client ignores it as it 
should.

Anyways any other ideas on how this might be tackled or improvements that could 
be made?

Dave.

------------------------------------------------------------------------------
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to