debian/changelog                 |    9 ++++++++-
 debian/patches/fb-24-depth.patch |   35 +++++++++++++++++++++++++++++++++++
 debian/patches/series            |    1 +
 3 files changed, 44 insertions(+), 1 deletion(-)

New commits:
commit a8f92746c78660408d6860a07bd6279d7b6fe3ad
Author: Maarten Lankhorst <maarten.lankho...@ubuntu.com>
Date:   Wed Nov 5 15:25:01 2014 +0100

    Actually fix the cirrus VGA corruption in gnome-terminal.
    
    fb-24-depth.patch (LP: #1318119)

diff --git a/debian/changelog b/debian/changelog
index fcfb9be..1c184d2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.15.1-0ubuntu2.3) trusty-proposed; urgency=medium
+
+  * Actually fix the cirrus VGA corruption in gnome-terminal.
+    - fb-24-depth.patch (LP: #1318119)
+
+ -- Maarten Lankhorst <maarten.lankho...@ubuntu.com>  Wed, 05 Nov 2014 
15:24:09 +0100
+
 xorg-server (2:1.15.1-0ubuntu2.2) trusty-proposed; urgency=medium
 
   [ LaƩrcio de Sousa ]
@@ -6,7 +13,7 @@ xorg-server (2:1.15.1-0ubuntu2.2) trusty-proposed; 
urgency=medium
   [ Maarten Lankhorst ]
   * Re-enable support for rotation and transforms on gpu-screens with support.
     - Allows re-enabling intel SNA rotation after fixing it. (LP: #1386620)
-  * Fix black screen when using qemu with cirrus vga. (LP: #1386620)
+  * Fix black screen when using qemu with cirrus vga.
 
  -- Maarten Lankhorst <maarten.lankho...@ubuntu.com>  Mon, 03 Nov 2014 
12:36:32 +0100
 
diff --git a/debian/patches/fb-24-depth.patch b/debian/patches/fb-24-depth.patch
new file mode 100644
index 0000000..bdbd4c7
--- /dev/null
+++ b/debian/patches/fb-24-depth.patch
@@ -0,0 +1,35 @@
+commit fe5018e0564118a7a8198fa286186fdb9ed818c7
+Author: Takashi Iwai <ti...@suse.de>
+Date:   Tue Aug 19 15:57:22 2014 -0500
+
+    fb: Fix invalid bpp for 24bit depth window
+    
+    We have a hack in fb layer for a 24bpp screen to use 32bpp images, and
+    fbCreateWindow() replaces its drawable.bitsPerPixel field
+    appropriately.  But, the problem is that it always replaces when 32bpp
+    is passed.  If the depth is 32, this results in bpp < depth, which is
+    actually invalid.
+    
+    Meanwhile, fbCreatePixmap() has a more check and it creates with 24bpp
+    only when the passed depth <= 24 for avoiding such a problem.
+    
+    This oneliner patch just adds the similar check in fbCreateWindow().
+    This (hopefully) fixes the long-standing broken graphics mess of
+    cirrus KMS with 24bpp.
+    
+    Signed-off-by: Takashi Iwai <ti...@suse.de>
+    Reviewed-by: Keith Packard <kei...@keithp.com>
+
+diff --git a/fb/fbwindow.c b/fb/fbwindow.c
+index 368c4b8..c90175f 100644
+--- a/fb/fbwindow.c
++++ b/fb/fbwindow.c
+@@ -33,7 +33,7 @@ fbCreateWindow(WindowPtr pWin)
+ {
+     dixSetPrivate(&pWin->devPrivates, fbGetWinPrivateKey(pWin),
+                   fbGetScreenPixmap(pWin->drawable.pScreen));
+-    if (pWin->drawable.bitsPerPixel == 32)
++    if (pWin->drawable.bitsPerPixel == 32 && pWin->drawable.depth <= 24)
+         pWin->drawable.bitsPerPixel =
+             fbGetScreenPrivate(pWin->drawable.pScreen)->win32bpp;
+     return TRUE;
diff --git a/debian/patches/series b/debian/patches/series
index a378325..7041da3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -61,3 +61,4 @@ xfree86_keep_non_seat0_from_touching_vts.patch
 xfree86_add_matchseat_key_to_xorg_conf.patch
 xfree86_add_matchseat_key_description_to_xorg_conf_man.patch
 rotation-slaved-crtc-bounds.patch
+fb-24-depth.patch


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1xm1gr-0001ol...@moszumanska.debian.org

Reply via email to