Subject: Bug#205 closed by Mike Gabriel <[email-masked]> (Re: [X2Go-Dev] Bug#205: Some comments on this)

From: [email-masked] (X2Go Bug Tracking System)
Date: Fri, 15 May 2015 13:24:46 +0000

This is an automatic notification regarding your Bug report
which was filed against the nx-libs package:

#205: Patch for fix cairo issue

It has been closed by Mike Gabriel <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Mike Gabriel <[email-masked]> by
replying to this email.

-- 
205: http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=205
X2Go Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [X2Go-Dev] Bug#205: Some comments on this
From: Mike Gabriel <[email-masked]>
To: Ulrich Sibiller <[email-masked]>, [email-masked]
Date: Fri, 15 May 2015 13:24:30 +0000

Control: close -1

On  Di 02 Dez 2014 23:58:01 CET, Ulrich Sibiller wrote:

> In nxagent-3.5.0-8 NoMachine has tweaked the version number of
> nxagent to work better with cairo. So doing this is not completely
> unusual for NX...
>
> In nx-X11/programs/Xserver/hw/
> nxagent/Init.c you can find these lines:
> -----------------------------------------------------------
> /*
> * Avoid slowness due to buggy_repeat workaround
> * in libcairo versions >= 1.10.
> */
>
> SetVendorRelease(70000000);
> -----------------------------------------------------------
>
> And in the CHANGELOG:
> -----------------------------------------------------------
> nxagent-3.5.0-8
>
> - Fixed TR01J02646. Performance issues with cairo version 1.12.
> -----------------------------------------------------------
>
>
> However, the current cairo code contains this
> (http://cgit.freedesktop.org/cairo/tree/src/cairo-xlib-display.c
> around line 300):
> -----------------------------------------------------------
> if (VendorRelease (dpy) >= 60700000) {
>    if (VendorRelease (dpy) < 70000000)
> display->buggy_repeat = TRUE;
> }
> -----------------------------------------------------------
>
> As NX is presenting itself as 70000000 the condition is false already
> and changing the version to 70100000 would not change the cairo
> behaviour here.
>
> BTW: Xorg 6.9 and 7.0 are the same code. 7.0 has just been
> restructured completely and adapted to automake.

Agreeing with Uli on this and thus closing.

Mike
-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email-masked], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb

Subject: Patch for fix cairo issue
From: Anonymous <[email-masked]>
To: [email-masked]
Date: Fri, 10 May 2013 23:07:59 +0200

Package: nx-libs 
Version: 3.5.0.20-0

As cairo enable buggy_repeat (src/cairo-xlib-display.c) for XFree86 <= 40500000; X.Org >= 60700000 & < 70000000; X.Org < 10400000, it's required to have version 70100000 shown to cairo.

On Debian Wheezy, with original cairo, this will result of no fount displayed as show on https://bbs.archlinux.org/viewtopic.php?id=141884.

The problem is already know: https://bugs.freedesktop.org/show_bug.cgi?id=32014

Ubuntu ***seem*** (require more investigation) to have patched their cairo but not Debian.

Patching nx-X11 for show fake version to cairo is for me the best solution as there is no dependance of a patched cairo.

Suggested patch (need more test):

$ vi debian/patches/999_nx-X11_version_hack_for_cairo.patch
---
Description: Version hack for cairo
 As cairo enable buggy_repeat (src/cairo-xlib-display.c) for XFree86 <= 40500000; X.Org >= 60700000 & < 70000000; X.Org < 10400000, it's required to have version 70100000 shown to cairo.
 https://bugs.freedesktop.org/show_bug.cgi?id=32014.
--- a/nx-X11/config/cf/X11.tmpl	2013-03-28 20:36:38.000000000 +0000
+++ b/nx-X11/config/cf/X11.tmpl	2013-05-10 18:20:18.000000000 +0000
@@ -45,7 +45,7 @@
 # if defined XorgVersionString
 #   define XOrgReleaseString	Release XorgVersionString
 # else
-#   define XOrgReleaseString	Release 6.9
+#   define XOrgReleaseString	Release 7.1
 # endif
 #endif
 
--- a/nx-X11/config/util/makedef.cmd	2013-03-28 20:36:38.000000000 +0000
+++ b/nx-X11/config/util/makedef.cmd	2013-05-10 18:41:40.000000000 +0000
@@ -23,13 +23,13 @@
 sASDFeatureId   = '';
 sCountryCode    = '';
 sDateTime       = left(' 'date()' 'time(), 26);
-sDescription    = 'X.Org 6.9';
+sDescription    = 'X.Org 7.1';
 sFixPakVer      = '';
 sHostname       = strip(substr(VALUE('HOSTNAME',,'OS2ENVIRONMENT'), 1, 11));
 sLanguageCode   = '';
 sMiniVer        = '';
 sVendor         = 'X.Org';
-sVersion        = '6.9';
+sVersion        = '7.1';

 /*
---
$ echo "999_nx-X11_version_hack_for_cairo.patch" >> debian/patches/series

Thanks

-- 
Anonymous