[RFC] Virtual CRTCs (proposal + experimental code)

Ilija Hadzic ihadzic at research.bell-labs.com
Thu Nov 3 10:14:53 PDT 2011



On Thu, 3 Nov 2011, Roland Scheidegger wrote:

>
> Am I right in assuming this could also be used for making muxless hybrid
> GPUs work (i.e. radeon/intel igp)?

Yes, this is actually one of the scenarios on my wish list too. In the 
terminology that I defined with the introduction of VCRTCM, IGP would act
as a CTD driver and Radeon would be the GPU driver.

It should be relatively straightforward to add CTD hooks to an existing
Intel GPU driver and load the module in "CTD mode" when you want to do 
that.

Another (maybe trivial, but solution unknown to me) hurdle would be to 
"convince" your motherboard not to turn off IGP if it senses that there is 
a GPU plugged in its PCI-Express slot. I would assume that there is a way 
to do that and maybe Intel folks could tell us (or maybe it's already 
known, but I am ignorant on this).

> Though it would be restricted to do
> all work on one gpu and the igp would just send the data to the display
> (which ultimately is not really what we want as compositing etc. should
> ideally always happen on the IGP so external graphic chip can be turned
> off but I don't even want to think about what needs to happen to make
> that work).
>

In a straightforward implementation, that would be a restriction. However, 
when a CTD driver "asks" VCRTCM module to create a push-buffer for it (a 
buffer in the memory to which GPU will push the pixels from a virtual 
CRTC), what comes back are pages associated with a GEM/TTM bo in GART 
domain. I could imagine an IGP "reusing" that object for some additional 
rendering (as opposed to just linking it to its own CRTC).

These are just half-baked thoughts and I am sure that it would require 
some "specialty" in the userland and that things would get messy before 
they get better, but still not outside of the realm of possiblities.

-- Ilija



More information about the dri-devel mailing list