[PATCH] allow 32bpp framebuffers for cirrus drm

Zachary Reizner zachr at google.com
Mon Oct 27 08:36:15 PDT 2014


Real cirrus did have 32bpp according to both the reference manual and
qemu's emulation of the hardware. The cirrus DRM driver even had the
modesetting code for 32bpp but the driver prevented the creation of 32bpp
framebuffers.

Best,
Zach

On Mon, Oct 27, 2014, 08:30 Gerd Hoffmann <kraxel at redhat.com> wrote:

> On Mo, 2014-10-27 at 11:00 -0400, Adam Jackson wrote:
> > On Fri, 2014-10-24 at 18:31 -0700, Stéphane Marchesin wrote:
> >
> > > Dave, Adam: are you ok with this patch?
> >
> > Seems like it doesn't go far enough?  You'd already need an "aware"
> > guest to have this work, since the chip actually being emulated didn't
> > have 32bpp.  The pitch check would prevent 1024x768x32 and larger from
> > working, which makes it sort of a weak win on its own.
> >
> > Could we read the BAR size from the device instead of hardcoding 4M?
> > That alone would make 1920x1200x16 work; and then, if that pitch limit
> > isn't encoded into the register space representation, the aware guest
> > would have resolutions worth using at least be possible.
>
> How about stop using cirrus and go for 'qemu -vga std' instead?
>
> Linux kernel 3.14+ comes with a modesetting driver for the qemu standard
> vga (CONFIG_DRM_BOCHS).  Just switch over, and all your cirrus pain is
> gone.
>
> That is much better than trying use features the real cirrus hardware
> never had, then praying that all qemu versions in the wild are actually
> doing what you want qemu do.
>
> cheers,
>   Gerd
>
> https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20141027/0115b8d0/attachment-0001.html>


More information about the dri-devel mailing list