[PATCH] Use 16bpp when running in virt and on XenSource gfx
Stefan Dirsch
sndirsch at suse.de
Tue Apr 26 09:45:38 UTC 2016
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.
---
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
More information about the xorg-devel
mailing list