FreeBSDDesktop / DEPRECATED-freebsd-base-graphics

Fork of FreeBSD's base repository to work on graphics-stack-related projects
Other
49 stars 13 forks source link

Cursor doesn't change in Xorg #62

Closed ristoe closed 8 years ago

ristoe commented 8 years ago

Cursor icon doesn't change when the context under cursor changes, only the default pointer cursor icon is used - the same white cursor that is used in virtual console (hardware cursor?).

For example, when moving over to links in browser, cursor doesn't change to hand icon. When moving to any text input UI widget, cursor doesn't change to "vertical bar" icon.

I have X cursor theme set in ~/.Xdefaults:

Xcursor.theme: Neutral++_White

Chaning cursor theme in Xfce4 Mouse and Touchpad settings or Mate Appearance Properties doesn't have effect.

uname -a:

FreeBSD desktop.dh 11.0-BETA3 FreeBSD 11.0-BETA3 #0: Sat Aug  6 18:09:58 EEST 2016     root@desktop.dh:/usr/obj/usr/drm-next-4.6-11-STABLE/sys/SKYLAKE-DESKTOP-NODEBUG  amd64

sysctl hw.model:

hw.model: Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz

Some hopefully relevant lines from Xorg.0.log:

[    14.807] (--) intel(0): Using a maximum size of 256x256 for hardware cursors
[    14.811] (II) intel(0): HW Cursor enabled

All ports are compiled from xserver-next ports tree (commit 9adce7e4635561b813c818156fcfaa389b441b85)

nomadlogic commented 8 years ago

I have had similar issues when using the intel Xorg driver. When I reconfigured Xorg to use the "modesetting" driver like so my pointer became much more functional:

Section "Device"
        Driver      "modesetting"
        Option      "SWcursor"    "on"
EndSection

Specifically flipping the SWcursor to "on" fixed this up. TBH this probably masks the root cause and warrants deeper investigation, but it has helped me out in the interim.

ristoe commented 8 years ago

I'm using "intel" driver and "SWcursor" option is ignored:

[    37.658] (WW) intel(0): Option "SWcursor" is not used

Using "modesetting" driver and "SWcursor" option fixes the cursor, but "modesetting" driver seems to cause text/font corruption in some (but not all) windows and is practically unusable.

nomadlogic commented 8 years ago

SWcursor option is not expected to work on the intel driver as it is only implemented for modesetting.

I'm also working with mmacy on trying to identify the cause of screen corruption with Skylake and modesetting in this issue:

https://github.com/FreeBSDDesktop/freebsd-base-graphics/issues/60

mattmacy commented 8 years ago

@ristoe Does the cursor do the right thing with xserver-next on HEAD with your hardware?

ristoe commented 8 years ago

No change regarding cursor on -CURRENT:

FreeBSD desktop.dh 12.0-CURRENT FreeBSD 12.0-CURRENT #0 3a8ce37(drm-next-4.6): Sun Aug 14 20:01:04 EEST 2016     root@desktop.dh:/usr/obj/usr/drm-next-4.6/sys/GENERIC  amd64

I do have some cursor related messages in dmesg:

Aug 15 00:12:05 desktop kernel: [drm:drm_ioctl] pid=100070, dev=0xe200, auth=1, DRM_IOCTL_MODE_CURSOR
mattmacy commented 8 years ago

That means it is a xorg ports bug, not a kms bug. I only work on the in kernel bits (one can't do everything). File a bug in bugzilla and then pester kwm on #freebsd-xorg on EFNet. I'm closing, but will do more if needed.

nomadlogic commented 8 years ago

hey there - i have noticed that as of this revision my cursor is working as expected using the "intel" xorg dirver: 0310012eaf5a2dbd34c8c6f2c3aadcb6e98485e2

i'd try doing a pull from the drm-next branch and rebuilding your kernel.

ristoe commented 8 years ago

drm-next branch fixed the cursor issue, thanks!

uname -a:

FreeBSD desktop.dh 12.0-CURRENT FreeBSD 12.0-CURRENT #0 f414b1c(drm-next): Tue Aug 16 21:13:24 EEST 2016     root@desktop.dh:/usr/obj/usr/drm-next-4.6/sys/GENERIC  amd64
ristoe commented 8 years ago

I'll close this since it's not a problem (for me atleast) anymore.