Merge ~fheimes/ubuntu/+source/tigervnc/+git/tigervnc:tigervnc-lp1929790-impish into ~fheimes/ubuntu/+source/tigervnc/+git/tigervnc:importer/ubuntu/impish-devel

Proposed by Frank Heimes
Status: Needs review
Proposed branch: ~fheimes/ubuntu/+source/tigervnc/+git/tigervnc:tigervnc-lp1929790-impish
Merge into: ~fheimes/ubuntu/+source/tigervnc/+git/tigervnc:importer/ubuntu/impish-devel
Diff against target: 101 lines (+67/-1)
4 files modified
debian/changelog (+9/-0)
debian/control (+2/-1)
debian/patches/0001-Update-Surface_X11.cxx.patch (+54/-0)
debian/patches/series (+2/-0)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
Review via email: mp+408899@code.launchpad.net

Description of the change

TigerVNC 1.11.0 contains a regression that causes vncviewer to display
incorrect colors when vncviewer and X11 server use different endianness.
It got fixed with the help of a cherry-pick of 7ab9263 from v1.11.90.

A manual setup and test was done on impish running tigervnc server on Ubuntu Server s390x and tigervncclient on amd64.

To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Thanks, this iteration LGTM.

Furthermore it does not need a feature freeze exception, so I could sponsor it as is - shall I?

Revision history for this message
Christian Ehrhardt  (paelzer) :
review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

uploaded, since the change is upstream we will pick it up with the next merge.
@frank - I'm not sure how fast they do releases, please do realize that you are kind of responsible to ensure this goes back to become a sync.

The best way to start this is to submit as similar fix to Debian (as they'd benefit as well) and request a sync once it is added there.

Revision history for this message
Frank Heimes (fheimes) wrote :

Even if this topic is a little bit old now, a quick update:
I've sent Joachim Falk - who maintains the Debian package - a note suggesting to incl. the fix in Debian too, but I'm waiting for an answer.
(I can't upload on Debian myself, since I'm not a Debian maintainer.)

In case he does not come back and the patch will not be incl. in Debian over time, I think it will be at least incl. in the next tigervnc update and sync to Ubuntu afterwards. Then we probably need to remove the patch again (since I strongly believe it will be part of the next version, since the patches are already upstream accepted).

That's my current plan ...

Unmerged commits

d201b23... by Frank Heimes

  * debian/control for debian/patches/0001-Update-Surface_X11.cxx.patch
    after update-maintainer run

03b075a... by Frank Heimes

  * debian/changelog for debian/patches/0001-Update-Surface_X11.cxx.patch

8baf025... by Frank Heimes

  * debian/patch/0001-Update-Surface_X11.cxx.patch
    TigerVNC 1.11.0 contains a regression that causes vncviewer to display
    incorrect colors when vncviewer and X11 server use different endianness.
    (LP: #1929790)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index a6d978c..ff31a5b 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,12 @@
6+tigervnc (1.11.0+dfsg-2ubuntu1) impish; urgency=medium
7+
8+ * debian/patch/0001-Update-Surface_X11.cxx.patch
9+ TigerVNC 1.11.0 contains a regression that causes vncviewer to display
10+ incorrect colors when vncviewer and X11 server use different endianness.
11+ (LP: #1929790)
12+
13+ -- Frank Heimes <frank.heimes@canonical.com> Mon, 20 Sep 2021 19:57:36 +0200
14+
15 tigervnc (1.11.0+dfsg-2) unstable; urgency=medium
16
17 [ Joachim Falk ]
18diff --git a/debian/control b/debian/control
19index 72d0734..5a5de1a 100644
20--- a/debian/control
21+++ b/debian/control
22@@ -1,7 +1,8 @@
23 Source: tigervnc
24 Section: x11
25 Priority: optional
26-Maintainer: TigerVNC Packaging Team <pkg-tigervnc-devel@lists.alioth.debian.org>
27+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
28+XSBC-Original-Maintainer: TigerVNC Packaging Team <pkg-tigervnc-devel@lists.alioth.debian.org>
29 Uploaders:
30 Joachim Falk <joachim.falk@gmx.de>,
31 Mike Gabriel <sunweaver@debian.org>,
32diff --git a/debian/patches/0001-Update-Surface_X11.cxx.patch b/debian/patches/0001-Update-Surface_X11.cxx.patch
33new file mode 100644
34index 0000000..60628c7
35--- /dev/null
36+++ b/debian/patches/0001-Update-Surface_X11.cxx.patch
37@@ -0,0 +1,54 @@
38+Update Surface_X11.cxx
39+
40+Runtime sellection of ARGB XImage byte order
41+
42+Author: johnmartin-oracle <55413843+johnmartin-oracle@users.noreply.github.com>
43+Origin: upstream, https://github.com/TigerVNC/tigervnc/pull/1084/commits/7ab92639848a6059e2b6b88499b008b9606f3af6
44+Bug-IBM: Bugzilla 192826
45+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1929790
46+Applied-Upstream: v1.11.90
47+Reviewed-by: Frank Heimes <frank.heimes@canonical.com>
48+Last-Update: 2021-09-20
49+
50+---
51+ vncviewer/Surface_X11.cxx | 22 +++++++++++-----------
52+ 1 file changed, 11 insertions(+), 11 deletions(-)
53+
54+---
55+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
56+diff --git a/vncviewer/Surface_X11.cxx b/vncviewer/Surface_X11.cxx
57+index 6562634d..8944c3f7 100644
58+--- a/vncviewer/Surface_X11.cxx
59++++ b/vncviewer/Surface_X11.cxx
60+@@ -123,17 +123,17 @@ void Surface::alloc()
61+ // we find such a format
62+ templ.type = PictTypeDirect;
63+ templ.depth = 32;
64+-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
65+- templ.direct.alpha = 0;
66+- templ.direct.red = 8;
67+- templ.direct.green = 16;
68+- templ.direct.blue = 24;
69+-#else
70+- templ.direct.alpha = 24;
71+- templ.direct.red = 16;
72+- templ.direct.green = 8;
73+- templ.direct.blue = 0;
74+-#endif
75++ if (XImageByteOrder(fl_display) == MSBFirst) {
76++ templ.direct.alpha = 0;
77++ templ.direct.red = 8;
78++ templ.direct.green = 16;
79++ templ.direct.blue = 24;
80++ } else {
81++ templ.direct.alpha = 24;
82++ templ.direct.red = 16;
83++ templ.direct.green = 8;
84++ templ.direct.blue = 0;
85++ }
86+ templ.direct.alphaMask = 0xff;
87+ templ.direct.redMask = 0xff;
88+ templ.direct.greenMask = 0xff;
89+--
90+2.25.1
91+
92diff --git a/debian/patches/series b/debian/patches/series
93index a59f237..31a52e3 100644
94--- a/debian/patches/series
95+++ b/debian/patches/series
96@@ -27,3 +27,5 @@ rh/tigervnc-working-tls-on-fips-systems.patch
97
98 # The following patches are security fixes
99 CVE-2014-8240-849479.patch
100+
101+0001-Update-Surface_X11.cxx.patch

Subscribers

People subscribed via source and target branches

to all changes: