Xpra: Ticket #746: Default X cursor shows in some applications

Some apps are showing the default X cursor instead of the usual arrow, it appears to be mainly menus and java apps. Menus worked more reliably in 0.11.1, but java apps were the same.
What I've noticed:
0.11.1:


0.14.1:



Wed, 26 Nov 2014 17:51:04 GMT - nathan-renniewaldock: attachment set


Wed, 26 Nov 2014 17:51:11 GMT - nathan-renniewaldock: attachment set


Wed, 26 Nov 2014 17:51:20 GMT - nathan-renniewaldock: attachment set


Wed, 26 Nov 2014 17:51:27 GMT - nathan-renniewaldock: attachment set


Wed, 26 Nov 2014 17:51:35 GMT - nathan-renniewaldock: attachment set


Wed, 26 Nov 2014 17:51:41 GMT - nathan-renniewaldock: attachment set


Wed, 26 Nov 2014 17:58:34 GMT - Antoine Martin: owner changed

Do you have a patched Xdummy dummy driver installed properly? (that's usually the cause of the problems with size issues)

(if not, make sure you also install a fixed libfakeXinerama - fixes others related issues)

0.14.1 is well out of date, please try the latest - there were cursor fixes recently.

0.14 does more cursor batching than previously, so we will delay sending the cursor pixels a little bit to prevent swamping the connection with it.

It could also be because we try to use the client-side cursor from the current GTK theme in use, if we find any. Changing the theme, or even deleting the theme icons may prevent client-side cursors from being used.

If none of this fixes things for you, please run both the client and server with -d cursor so we can get debug output. You can also capture xpra info | grep cursor when things are misbehaving.

Please make sure to specify client and server OS, etc..


Wed, 26 Nov 2014 19:04:32 GMT - nathan-renniewaldock:

Hadn't noticed there was a new version, only downloaded it about a week ago.

Updating client to 0.14.12 fixed the cursor size, but I'm still getting the default X cursor in some places. I don't have a patched Xdummy driver, I'll update X and try again at the weekend.

Client: Windows 7 Server: Ubuntu 12.04


Wed, 26 Nov 2014 19:08:02 GMT - Antoine Martin:

I don't have a patched Xdummy driver (...) Server: Ubuntu 12.04


Using the patched xdummy will probably not fix the default X11 cursor issue. And you would have to build from source since we do not provide patched xdummy packages for Debian or Ubuntu.

Probably best to go with -d cursor instead.


Wed, 26 Nov 2014 19:43:50 GMT - nathan-renniewaldock:

Yeah, I don't mind building from source. But Ubuntu have a backport of xorg 1.15, installed that and checked quickly.. cursor on menus was still wrong and in lxterminal the text cursor was double the size. I'll take a look at the debug output at the weekend. Would Xinerama possibly help or not?


Wed, 26 Nov 2014 20:19:21 GMT - Antoine Martin:

Ubuntu have a backport of xorg 1.15, installed that and checked quickly


I very much doubt that any backport will have the patches that we carry for dummy. As those patches aren't upstream at all.

Would Xinerama possibly help or not?


That's highly unlikely.


Wed, 26 Nov 2014 20:35:11 GMT - nathan-renniewaldock:

That's not what the wiki page says, which links to the patches on upstream's git.

Most recent distributions now ship compatible packages though some may have issues with non world-readable binaries (see below), for those that ship outdated versions there are two changes to core Xorg code which are needed:
The ​xserver patch: which is part of the 1.12 xserver and later.
This ​xf86-video-dummy patch: which is part of version 0.3.5. (if your clients' screens are always smaller than 2048x2048, you may not need it)

Wed, 26 Nov 2014 20:37:03 GMT - Antoine Martin:

This page talks about the packages required for using Xdummy.

For DPI issues, you need more than just that.


Fri, 28 Nov 2014 03:04:08 GMT - Antoine Martin:

If you have time for some no-so-light reading, the DPI issues and dummy patches are discussed here: #163, #56

The patches that we are applying to our patched dummy rpms are here: browser/xpra/trunk/rpmbuild (constant dpi patch, you can skip pointer limits)


Mon, 01 Dec 2014 14:55:48 GMT - nathan-renniewaldock:

Alright, using Xdummy now with the DPI patch. Still getting weird sized cursors. Looking at the logs, it seems to be deciding the cursors should be displayed 32x32 but if I measure a Windows cursor from a screenshot, I get 16x16.


Mon, 01 Dec 2014 14:56:05 GMT - nathan-renniewaldock: attachment set


Mon, 01 Dec 2014 14:56:13 GMT - nathan-renniewaldock: attachment set


Mon, 01 Dec 2014 19:16:53 GMT - Antoine Martin:

TIL:

Translates to: your client build doesn't have the cursors in its theme, and so it cannot load them using their name (ie: left_ptr, xterm,..). So we fallback to using the given cursor pixel data. The 32x32 size is the most common one I think, used in XP and others.

but if I measure a Windows cursor from a screenshot, I get 16x16


Interesting. Is your screen resolution detected correctly? (1440x900) Do you have any font settings enabled? (large or small - see ticket:163#comment:45 for Windows 8, Windows 7 may well be different)

I think it's likely that the value we have is correct (32) but that Windows then scales it before using it. (unless the cursor looks crooked or cropped, that's the most likely explanation)

@nathan-renniewaldock:

Which is it? Weird sized cursors or default X cursor? Looking at the server log, it looks like we are sending what we get from the X11 server (a mix of left_ptr and xterm, and one hand2). Looks right to me.


Wed, 03 Dec 2014 19:21:01 GMT - cgf5177:

I'm seeing large cursors after updating to 0.14.12 also. Both the "I" and the arrow are much bigger than normal.

I'm using the default settings on the latest Fedora release except for:

# Forward sound output to clients:
speaker = no
# Publish sessions:
mdns = no
pulseaudio = no

If I start a new X client after xpra client and xpra host are connected then the cursors appear to be normal. Clients started before any xpra client is connected seem to always exhibit the problem.

The two clients that I start prior to connection are "pidgin" and "xterm".


Wed, 03 Dec 2014 20:49:59 GMT - Nick Centanni:

I have been able to reproduce this problem on 0.14.13 r8175, on Fedora 20. However, I only see the problem in the xterm window (large bar cursor). I see all normal-sized cursors when running browsers from the xterm session.

I have the following Xdummy driver installed:

xorg-x11-drv-dummy-0.3.6-11.fc20.x86_64


Wed, 03 Dec 2014 20:52:31 GMT - Antoine Martin: owner, status changed

I am seeing this with 0.14.x svn on Fedora 20, but not with trunk.

Here's the cursor debug log:

cursor name 'xterm' not found
server cursor sizes: default=24, max=(64, 64)
new cursor at 22,22 with serial=2, dimensions: 48x48, len(pixels)=9216, default cursor size is 24, maximum=(128, 128)
downscaling cursor by 2.00

Wed, 03 Dec 2014 21:01:17 GMT - Antoine Martin: owner, status changed

Should be fixed in r8178. Please close if this works for you.


Wed, 03 Dec 2014 21:31:10 GMT - Nick Centanni: status changed; resolution set

It works for me, in 0.14.13 r8178.


Tue, 09 Dec 2014 23:37:10 GMT - cgf5177:

Sorry for the late response: It works for me too.


Fri, 19 Dec 2014 18:57:21 GMT - nathan-renniewaldock:

Hadn't noticed the emails, oop. Just updated to 0.14.14, fixed for me too.


Sat, 23 Jan 2021 05:04:45 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/746