[PATCH] Use 16bpp when running in virt and on XenSource gfx

Stefan Dirsch sndirsch at suse.de
Tue Apr 26 12:00:59 UTC 2016


On Tue, Apr 26, 2016 at 11:54:58AM +0200, Mark Kettenis wrote:
> > From: Stefan Dirsch <sndirsch at suse.de>
> > Date: Tue, 26 Apr 2016 11:45:38 +0200
> > 
> > From: Frederic Crozat <fcrozat at suse.com>
> > 
> > Due to graphics corruption default to 16bpp in virt instead of 24 (Fedora).
> > Do the same on XenSource gfx, which suffers from the same issue.
> 
> I think using magic numbers like that is unhelpful, especially without
> comments.

Thanks. Fixed this by trying to keep it independant from the second patch,
which also uses QEMU subvendor ID. Resent a few minutes ago.

Stefan

> >  src/alp_driver.c | 11 ++++++++++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
> > 
> > diff --git a/src/alp_driver.c b/src/alp_driver.c
> > index da31321..6abb476 100644
> > --- a/src/alp_driver.c
> > +++ b/src/alp_driver.c
> > @@ -466,6 +466,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
> >  	vgaHWPtr hwp;
> >  	MessageType from, from1;
> >  	int i;
> > +	int defaultdepth;
> >  	int depth_flags;
> >  	ClockRangePtr clockRanges;
> >  	char *s;
> > @@ -551,11 +552,19 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
> >  	    depth_flags |= Support32bppFb |
> >  			   SupportConvert32to24 |
> >  			   PreferConvert32to24;
> > +
> > +	/* use 16bpp in virt */
> > +	if (((pCir->PciInfo->subvendor_id & 0xffff) == 0x1af4) ||
> > +	    ((pCir->PciInfo->subvendor_id & 0xffff) == 0x5853))
> > +	    defaultdepth = 16;
> > +	else
> > +	    defaultdepth = 24;
> > +
> >  	/*
> >  	 * The first thing we should figure out is the depth, bpp, etc.
> >  	 * We support both 24bpp and 32bpp layouts, so indicate that.
> >  	 */
> > -	if (!xf86SetDepthBpp(pScrn, 0, 0, 24, depth_flags)) {
> > +	if (!xf86SetDepthBpp(pScrn, 0, 0, defaultdepth, depth_flags)) {
> >  		return FALSE;
> >  	} else {
> >  		/* Check that the returned depth is one we support */
> > -- 
> > 2.6.2

Public Key available
------------------------------------------------------
Stefan Dirsch (Res. & Dev.)   SUSE LINUX GmbH
Tel: 0911-740 53 0            Maxfeldstraße 5
FAX: 0911-740 53 479          D-90409 Nürnberg
http://www.suse.de            Germany 
---------------------------------------------------------------
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham
Norton, HRB 21284 (AG Nürnberg)
---------------------------------------------------------------


More information about the xorg-devel mailing list