Bugzilla – Full Text Bug Listing
|Summary:||Support multicolor (ARGB) mouse cursors|
|Product:||ThinLinc||Reporter:||Peter Åstrand <email@example.com>|
|Component:||VNC||Assignee:||Pierre Ossman <firstname.lastname@example.org>|
|Status:||CLOSED FIXED||QA Contact:||Bugzilla mail exporter <email@example.com>|
|Version:||trunk||Keywords:||hean01_tester, relnotes, upstream|
* Cursor with alpha channel should be correctly rendered with the native client(s) * 16bit / 24bit cursors themes should still be rendered correctly with the native client(s) * Release note should be added
|Bug Depends on:||6116, 7158|
The RENDER extension provides support for multicolor (ARGB) mouse cursors. Applications usually use the Xcursor library to simplify things. Xvnc (neither VNC3 nor the VNC4 version) supports this, though. The cursor information in VNC4 is passed down this call chain: pScreen->DisplayCursor - vncHooksDisplayCursor - XserverDesktop::setCursor - VNCServerST::setCursor vncHooksDisplayCursor recieves a CursorPtr argument. This structure only supports the old "core" cursors. I guess one needs to add support for a newer API in order to use ARGB cursors. Btw, Xnest doesn't support such cursors either, at least not in X.Org 6.8.2.
The easiest way of testing ARGB and animated cursors is to download and install 5507-Golden-XCursors-3D, and then start KDE.
Another test is to start "kcontrol" and select the mouse theme settings. If you hover the mouse over the example cursors at the top of the dialogs, you'll see the animation.
Since SLED11 (and other distros?) uses ARGB cursors by default nowadays, I'll nominate this bug for the next release.
The VNC protocol supports colour cursors (even though TigerVNC doesn't implement support properly), but it doesn't support a full alpha channel. We need a new extension for full support.
The new viewer and server implements colour support now, but alpha support is still missing.
FLTK also has a bug on this theme in that it doesn't properly pre-multiply alpha as required. Fixed upstream in r12177, but needs to be back ported to our FLTK.
Implemented in TigerVNC now: https://github.com/TigerVNC/tigervnc/pull/418 noVNC might need some restructuring given how this extension works.
(In reply to comment #6) > FLTK also has a bug on this theme in that it doesn't properly pre-multiply > alpha as required. Fixed upstream in r12177, but needs to be back ported to our > FLTK. Upgrade to FLTK 1.3.4-2 on bug #6116 does not include this commit, tag of 1.3.4-1 release are r12111.
Rendering of cursors are broken highly probably cause is FLTK and lack of premultiplied alpha for cursors (upstream commit r12177). Let's add patch to cenbuild-fltk and see if solves the problem.
(In reply to comment #9) > Rendering of cursors are broken highly probably cause is FLTK and lack of > premultiplied alpha for cursors (upstream commit r12177). > > Let's add patch to cenbuild-fltk and see if solves the problem. Adding patch of r12177 to FLTK solves the problem with black pixel borders
> * Cursor with alpha channel should be correctly rendered > with the native client(s) Yup. Tested on Linux, Windows and macOS. > * 16bit / 24bit cursors themes should still be rendered > correctly with the native client(s) AFAICT. I tested a bunch of different themes with varying color levels. > * Release note should be added Nope, they are missing.