LibDRM Cloned Monitor Support
Rian Quinn
rianquinn at gmail.com
Tue Nov 11 17:25:58 PST 2014
Yeah, I had issues trying to get the first method to work across the board on all of the hardware that we need to support. One example that I saw was to use the second method, and then to use planes when you had to scale. So basically, if you could not find a match, you would select the lowest of the resolutions, and then setup planes for the ones that need to be scaled. From what I can see, this will end up consuming an extra frame buffer, but it takes care of the issue.
Do you see any issues with that approach?
Thanks,
- Rian
> On Nov 11, 2014, at 8:10 PM, Rob Clark <robdclark at gmail.com> wrote:
>
> On Tue, Nov 11, 2014 at 12:19 PM, Rian Quinn <rianquinn at gmail.com> wrote:
>> What exactly is the correct way to support cloned monitors using LibDRM. As
>> I see it, there are two methods:
>>
>> - Use the connector array in drmModeSetCrtc
>> - Use one crtc per connector, but share the same framebuffer.
>>
>> Right now I am using option #2 as it seems to be the most flexible, but my
>> current issue is that on laptops, the connector for the laptop's main screen
>> is only retuning 1 mode (tested on a Lenovo, and an HP folio), which means
>> that your unlikely to find a common mode between the laptop monitor, and an
>> external screen (monitor or projector).
>
> #2 is the method that will work on all hw.. usually DE's will pick
> the closest matching modes between the two connectors/outputs, and
> truncate edges on the smaller display (via non-zero x/y offset). Some
> hw may support upscaling to fit, although that isn't really exposed in
> a completely standard way at the moment.
>
> BR,
> -R
>
>> So with the above problem, right now the only thing that I know to do would
>> be to set the resolution of the laptop monitor and external monitor to be
>> their "preferred" resolution, and then copy and scale for "cloned mode"
>> which seems like a terrible idea considering the laptop monitor should be
>> able to set itself to some more basic resolutions (like 800x600).
>>
>> - Rian
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
More information about the dri-devel
mailing list