Page MenuHomeSolus

Mouse cursor invisible on ThinkPad X200 after lid-close and re-open
Open, Needs TriagePublic

Description

My ThinkPad X200 (CPU, GPU) always had a problem with the mouse cursor being invisible after closing and re-opening the lid under Solus's -current kernel. All used to work fine using the -lts kernel package. Since the last update (from .lts.4.9.147-121 to .lts.4.9.150-12 for me), the problem is now back, probably for good.

As per @abdulocracy's suggestions on IRC, I tried the following:

  • swap out xorg-driver-input-libinput for xorg-driver-input-evdev (no effect except for no scrolling with the trackpad anymore)
  • remove xorg-driver-video-intel (no effect)

The problem only occurs when closing the lid is somehow involved. Suspending without closing the lid doesn't trigger the bug, and neither does xset dpms force off. Only if at some point the lid was closed and reopened will the mouse cursor become invisible (i.e.: it's still technically "there" and active and can be used, you just can't see it).

The only workaround I've been able to come up with is to switch to a different VT (i.e. Ctrl-Alt-F1) and back to the Xorg VT (i.e. Ctrl-Alt-F7), which reliably brings back the mouse cursor from the land of ghosts.

Latest updates applied, but happy to supply any package versions you think might be relevant...

fiftysix updated the task description. (Show Details)
fiftysix renamed this task from Mouse cursor invisible on ThinkPad X200 after lid closed and re-opened to Mouse cursor invisible on ThinkPad X200 after lid-close and re-open.
fiftysix updated the task description. (Show Details)Jan 20 2019, 11:45 AM

That sounds like some obscure GPU bug where the hardware cursor doesn't come back on a resume from suspend.

As I wrote, suspend does not trigger the bug, unless you suspend and close the display.

I'll also point out again that the bug was not present in .lts.4.9.147-121.

Having the same problem with invisible cursor waking from suspend on Lenovo ThinkCentre M90z

ZVNexus added a subscriber: ZVNexus.Thu, May 2, 5:03 PM

It's a long shot, but try passing this as a kernel parameter. "button.lid_init_state=open"

sudo echo 'button.lid_init_state=open' | sudo tee /etc/kernel/cmdline