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@xxxxxxxxx> wrote: > > On Tue, Nov 11, 2014 at 12:19 PM, Rian Quinn <rianquinn@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxx >> http://lists.freedesktop.org/mailman/listinfo/dri-devel >> _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel