Bug 1308810

Summary: Weird colours of remote desktop via freerdp on ppc64 and s390x
Product: Red Hat Enterprise Linux 7 Reporter: Ondrej Holy <oholy>
Component: freerdpAssignee: Ondrej Holy <oholy>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.2CC: desktop-qa-list, thudziec, tpelka
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: freerdp-1.0.2-13.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1306576 Environment:
Last Closed: 2018-04-10 11:38:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ondrej Holy 2016-02-16 07:36:35 UTC
+++ This bug was initially created as a clone of Bug #1306576 +++

Description of problem:
Weird colours of remote desktop via freerdp on ppc64 and s390x architectures.

Version-Release number of selected component (if applicable):
freerdp-1.0.2-4.el6.(ppc64|s390x)

How reproducible:
always

Steps to Reproduce:
1. xfreerdp $WindowsIP

Actual results:
colours of remote desktop are deformed, maybe due to different endianness

Expected results:
colours of remote desktop are normal

Additional info:
This is arch specific bug, appears on ppc64 and s390x; x86_64 and i386 are fine.

--- Additional comment from RHEL Product and Program Management on 2016-02-11 11:41:21 CET ---

Since this bug report was entered in bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

--- Additional comment from Tomas Hudziec on 2016-02-11 11:41 CET ---



--- Additional comment from Tomas Pelka on 2016-02-12 08:00:54 CET ---

Endianess issue?

--- Additional comment from Oded Gabbay on 2016-02-12 08:13:45 CET ---

I'm missing some info about the setup.

What is the client and what is the remote machine ? Are they both ppc64 ? 

Please describe the steps you did both on the client and the remote machine (steps to setup the remote display server)

--- Additional comment from Tomas Pelka on 2016-02-12 08:36:08 CET ---

Tomas was connected from x86_64 to ppc4/s390x via VNC and in VNC session freerdp was executed.

--- Additional comment from Ondrej Holy on 2016-02-12 10:28:33 CET ---

I see weird colors with 8/16/24 color depth also. 32bit color depth (-a 32) seems to work correctly...

Yes probably endianess issue.

I used ssh -X to connect from x86_64 to ppc64 machine and see this issue when accessing Windows 7 machine over rdp.

--- Additional comment from Ondrej Holy on 2016-02-12 16:08:47 CET ---

I hoped it is fixed upstream, but it seems it is even worse. I tried several newer versions and the result is almost same, or it exits with decryption error, or it crashes with segfaults instead.

Several upstream reports exists in regards to color/endianness problems. Probably the most relevant one is following:
https://github.com/FreeRDP/FreeRDP/issues/2520

Comment 3 Ondrej Holy 2016-06-23 08:57:06 UTC
I proposed several upstream patches though they are not merged yet and I cooperate with upstream in order to fix FreeRDP under big endian. We decided to defer this for 7.4 due to its complexity. It may be fixed also as a part of the rebase, Bug 1291254.

Comment 4 Tomas Hudziec 2016-07-20 12:06:16 UTC
Bug occurs also with package version freerdp-1.0.2-10.el7 on architectures ppc64 and s390x.

Comment 5 Ondrej Holy 2017-02-27 14:20:51 UTC
Unfortunately, the color-related fixes were not merged. I discussed this with upstream several times, but my suggestions were not taken into account. I have to propose new patches on top of recent color-overhaul. But I am afraid that fixing this bug would require rebase anyway.

Comment 6 Ondrej Holy 2017-10-03 15:32:47 UTC
Big endian fixes for colors have been merged upstream recently:
https://github.com/FreeRDP/FreeRDP/pull/4135

Although the handling in master is totally different, the approach which was finally used upstream should not be so hard to use in downstream also...

Comment 7 Ondrej Holy 2017-10-05 11:53:25 UTC
I tested the fix with Windows 7 server with all combinations of -a 8/16/24/32, --gdi sw/hw, on X server with depth 16/24/32 and LE/BE systems. The colors on BE systems should be the same as on LE with that fix. It doesn't mean that the colors are 100% correct. There are some problems with -a 8 (Bug 1357558) and also with X server depth 32 (https://github.com/FreeRDP/FreeRDP/issues/4134).

Comment 9 Tomas Hudziec 2018-01-05 20:00:17 UTC
The bug seems to be fixed, colours look correct. Tested with version freerdp-1.0.2-14.el7 on ppc64 and s390x.

Comment 12 errata-xmlrpc 2018-04-10 11:38:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0724