This is the real problem of that origins from bug #4075.
As we currently know, this only affects Windows 7 / 8 which uses a alpha cursor theme for a RPD session. Cursors are rendered but no alpha seems to be handled and the cursors looks bloated and ugly.
On bug #4075 the conclusion was that 2012r2 does not enable alpha cursor theme by default however 2012 did. And now we also discovered that Windows 2016 does use a alpha cursor theme by default. The fix in #4075 was to add no_cursor_shadow flag to rdesktop default performance flags, however, this doesn't seem to work with Windows 2016.
(In reply to comment #2) > > The fix in #4075 was to add no_cursor_shadow flag to rdesktop default > performance flags, however, this doesn't seem to work with Windows 2016. > This is a potential bug where performance flags does not work as expected.
Fixed upstream in commit 6dd85edc6f82 [1] [1] https://github.com/rdesktop/rdesktop/commit/6dd85edc6f8293acd100b34add1405ea5a744111
(In reply to comment #3) > (In reply to comment #2) > > > > The fix in #4075 was to add no_cursor_shadow flag to rdesktop default > > performance flags, however, this doesn't seem to work with Windows 2016. > > > > This is a potential bug where performance flags does not work as expected. Its not a bug in performance flags, which is respected by 2016. The following describes the main problem: "I have dug inte the cursor issue in rdesktop. The thing is that rdesktop have code to parse cursor sent from server, however rdesktop uses XCreatePixmapCursor which only support 2 colors cursors fg and bg color and a mask. Due to this restriction in XCreatePixmapCursor, there is code that converts the cursor into 2 colors cursors. This is the reason for all the cursors problems in rdesktop, I have a lab branch offline which uses XRender extension which support RGBA cursors which fixes this cursor problem but raises the requirments of XRender."
(In reply to comment #4) > Fixed upstream in commit 6dd85edc6f82 [1] > > > [1] > https://github.com/rdesktop/rdesktop/commit/6dd85edc6f8293acd100b34add1405ea5a744111 This is an rewrite of cursor rendering code using libXcursor and fixes the problem described subject and comment #5.
Vendordrop with fix in commit r32760
Running rdesktop directly works well. However, when running rdesktop inside a VNC session, the caret cursor displays incorrectly. I get two black boxes next to eachother.
(In reply to comment #10) > Running rdesktop directly works well. However, when running rdesktop inside a > VNC session, the caret cursor displays incorrectly. I get two black boxes next > to eachother. This issue remains even after the vendor drop. Tests seem to suggest it's limited to when running rdesktop inside a VNC session on wayland.
(In reply to comment #12) > (In reply to comment #10) > > Running rdesktop directly works well. However, when running rdesktop inside a > > VNC session, the caret cursor displays incorrectly. I get two black boxes next > > to eachother. > > This issue remains even after the vendor drop. Tests seem to suggest it's > limited to when running rdesktop inside a VNC session on wayland. Bug 7058.
We're seeing problems with the mouse cursor being missing sometimes during failed logins. More info will follow.
(In reply to comment #14) > We're seeing problems with the mouse cursor being missing sometimes during > failed logins. More info will follow. This is not a regression with the changes made for supporting alpha cursors. What I have seen is that there is no cursors sent from server. This is also the same case when server is using LARGE_POINTER_CURSORS (96x96) eg. pointers bigger then 32x32, for example when a high DPI is used, which is a capability that rdesktop does not implement. This absence of LARGE_POINTER capability could also be the the reason we do not get cursors from server when cursor shadow is enabled. Based on the assumption that adding shadows to a cursors 32x32 cursor would probably requires a bigger cursor than 32x32 cursors.
Works well on Windows 2008, 2012 and 2016. The I-beam cursor now gets a nice outline making it easy to see no matter the background. Also checked the release notes and they look good.
One important but sad note here is bug 1122. People running rdesktop inside ThinLinc will not get alpha cursors. I updated release notes to reflect this.