neutrinolabs / NeutrinoRDP

This is a fork of FreeRDP 1.0.1
Apache License 2.0
57 stars 75 forks source link

Incorrect interface rendering #1

Closed hanchaow closed 10 years ago

hanchaow commented 11 years ago

Hi, Firstly,I downloaded the latest Xrdp and NeutrinoRDP source code of the master branch from the following website: 1)https://github.com/neutrinolabs/NeutrinoRDP 2)https://github.com/FreeRDP/xrdp

Then, installed them in a CentOS server successfully, but got incorrect interface rendering after the following steps: 1)Connect to a remote server which runs Windows Server 2003 using the NeutrinoRDP proxy 2)Open Notepad in the remote server 3)Paste some texts

I caputured some screenshots to demonstrat the problem and here is the link: https://drive.google.com/folderview?id=0B0VfLkfdM8zmQk5VWHEtVWlwc3M&usp=sharing

Is this a bug in Xrdp or NeutrinoRDP? Has anyone ever been in such situation, or does anyone know how to solve this problem? Thanks a lot. My email address:hanchaow@mail.ustc.edu.cn

cocoon commented 10 years ago

Yes I have the exact same problem, I reported this some time ago already to the mailing list, so the problem must have been introduced somewhere before: Sep 11, 2013

http://xrdp-devel.766250.n3.nabble.com/Xrdp-devel-NeutrinoRDP-black-lines-with-ping-in-a-remote-console-screenshot-td4025274.html

I don't have this problem with an older version revision, don't know which one, but I keep the compiled code and copy it manualy to other servers currently because I don't have the problem in it there!

So one option would be:

  1. somebody knows exactly what part of the code is responsible for that problem
  2. or we can try to compile older revisions, step by step until we find the commit that caused the problem

I have again this problem now using the current code from:

https://github.com/neutrinolabs/NeutrinoRDP

cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_SERVER=ON .

https://github.com/neutrinolabs/xrdp (devel branch)

./configure --enable-neutrinordp --prefix=/opt/x/x1 --localstatedir=/run/xrdp1

But it seems only with Windows earlier than 2012, as I don't have this effect when I connect to a Server with Windows 2012 + Desktop Exprience installed and I don't have it with Windows Server 2012 R2 with Desktop Experience, but I have it with Windows 2008 R2 SP1:

Can you try it with Windows Server 2012 with and without Desktop Experience Feature installed, too?

http://www.imgbox.de/users/public/images/2yZ9zIFSyb.png

Client is Windows 7 x64.

cocoon commented 10 years ago

I think I found the cause: glyph cache (as it was in the past)

try if this resolves it for you as workaround: https://github.com/cocoon/xrdp/commit/4a6109be4433f694eb729fcb5c7d45bc2b01df65

I searched around the time when I reported the issue and there was work done around glyph_cache. Thanks to this: https://github.com/Osirium/xrdp/commit/e6f058db0eb67ee13ddc6ef61fe6fde9be9a8b7f

I tried to find it in neutrino-rdp and found it here and disabled it: xrdp/neutrinordp/xrdp-neutrinordp.c

compiled, short test: problem seems to be gone

cocoon commented 10 years ago

update: newer details with the root cause can be found here: https://github.com/neutrinolabs/xrdp/issues/99

hanchaow commented 10 years ago

Many thanks.