From: Frederic Crozat <fcro...@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

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to