From eb7275aee0c66e1e86e573dc04c351abef6a3028 Mon Sep 17 00:00:00 2001 From: Bojan Smojver Date: Jan 15 2018 05:57:49 +0000 Subject: Add patch for gnome-settings-daemon crash. --- diff --git a/xorgxrdp-0.2.5-gamma.patch b/xorgxrdp-0.2.5-gamma.patch new file mode 100644 index 0000000..c0218d7 --- /dev/null +++ b/xorgxrdp-0.2.5-gamma.patch @@ -0,0 +1,59 @@ +From 5efd50268694d037186018997251a02ac96c4177 Mon Sep 17 00:00:00 2001 +From: matt335672 <30179339+matt335672@users.noreply.github.com> +Date: Tue, 2 Jan 2018 15:26:26 +0000 +Subject: [PATCH] Expand result of XRRGetCrtcGamma() call + +The call XRRGetCtrcGamma() is now compatible with tigervnc-server +--- + module/rdpRandR.c | 24 +++++++++++------------- + 1 file changed, 11 insertions(+), 13 deletions(-) + +diff --git a/module/rdpRandR.c b/module/rdpRandR.c +index 0ea4155..309f46a 100644 +--- a/module/rdpRandR.c ++++ b/module/rdpRandR.c +@@ -178,19 +178,6 @@ rdpRRCrtcGetGamma(ScreenPtr pScreen, RRCrtcPtr crtc) + { + LLOGLN(0, ("rdpRRCrtcGetGamma: %p %p %p %p", crtc, crtc->gammaRed, + crtc->gammaBlue, crtc->gammaGreen)); +- crtc->gammaSize = 1; +- if (crtc->gammaRed == NULL) +- { +- crtc->gammaRed = g_new0(CARD16, 16); +- } +- if (crtc->gammaBlue == NULL) +- { +- crtc->gammaBlue = g_new0(CARD16, 16); +- } +- if (crtc->gammaGreen == NULL) +- { +- crtc->gammaGreen = g_new0(CARD16, 16); +- } + return TRUE; + } + +@@ -332,6 +319,7 @@ rdpRRAddOutput(rdpPtr dev, const char *aname, int x, int y, int width, int heigh + xRRModeInfo modeInfo; + char name[64]; + const int vfreq = 50; ++ int i; + + sprintf (name, "%dx%d", width, height); + memset (&modeInfo, 0, sizeof(modeInfo)); +@@ -355,6 +343,16 @@ rdpRRAddOutput(rdpPtr dev, const char *aname, int x, int y, int width, int heigh + RRModeDestroy(mode); + return 0; + } ++ /* Create and initialise (unused) gamma ramps */ ++ RRCrtcGammaSetSize (crtc, 256); ++ for (i = 0 ; i < crtc->gammaSize; ++i) ++ { ++ unsigned short val = (0xffff * i) / (crtc->gammaSize - 1); ++ crtc->gammaRed[i] = val; ++ crtc->gammaGreen[i] = val; ++ crtc->gammaBlue[i] = val; ++ } ++ + output = RROutputCreate(dev->pScreen, aname, strlen(aname), NULL); + if (output == 0) + { diff --git a/xorgxrdp.spec b/xorgxrdp.spec index 5b42bff..4f678e7 100644 --- a/xorgxrdp.spec +++ b/xorgxrdp.spec @@ -2,12 +2,13 @@ Name: xorgxrdp Version: 0.2.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Implementation of xrdp backend as Xorg modules License: MIT URL: https://github.com/neutrinolabs/xorgxrdp Source0: https://github.com/neutrinolabs/xorgxrdp/releases/download/v%{version}/%{name}-%{version}.tar.gz +Patch1: xorgxrdp-0.2.5-gamma.patch BuildRequires: nasm BuildRequires: xorg-x11-server-devel @@ -26,7 +27,7 @@ xrdp. Xorg with xorgxrdp is the most advanced xrdp backend with support for screen resizing and multiple monitors. %prep -%autosetup +%autosetup -p1 %build @@ -56,6 +57,9 @@ for screen resizing and multiple monitors. %changelog +* Mon Jan 15 2018 Bojan Smojver - 0.2.5-2 +- Add patch for gnome-settings-daemon crash + * Fri Dec 22 2017 Bojan Smojver - 0.2.5-2 - Bump and rebuild against latest xorg-x11-server