https://bugs.kde.org/show_bug.cgi?id=501215

--- Comment #1 from A. Ismail <[email protected]> ---
After investigating the bug this weekend, I found the problem:

In file
https://invent.kde.org/plasma/kwin-x11/-/blob/master/src/backends/x11/standalone/x11_standalone_cursor.cpp
:
```
X11Cursor::X11Cursor(bool xInputSupport)
    : Cursor()
    , m_buttonMask(0)
    , m_hasXInput(xInputSupport)
{
    Cursors::self()->setMouse(this);
    if (!m_hasXInput) {
        // without XInput we don't get events about cursor movement, so we have
to poll instead
        connect(&m_mousePollingTimer, &QTimer::timeout, this,
&X11Cursor::pollMouse);
        m_mousePollingTimer.setSingleShot(false);
        m_mousePollingTimer.setInterval(50);
        m_mousePollingTimer.start();
    }
    if (Xcb::Extensions::self()->isFixesAvailable()) {
        xcb_xfixes_select_cursor_input(connection(), rootWindow(),
XCB_XFIXES_CURSOR_NOTIFY_MASK_DISPLAY_CURSOR);
    }

#ifndef KCMRULES
    connect(kwinApp(), &Application::workspaceCreated, this, [this]() {
        if (Xcb::Extensions::self()->isFixesAvailable()) {
            m_xfixesFilter = std::make_unique<XFixesCursorEventFilter>(this);
        }
    });
#endif
}
```
>From what I understood, if Xinput doesn't exist, the cursor position is polled
regularly. I reduced the polling timeout to 20ms instead of 50ms and lines are
now much smoother again. This implies that for some reason Xinput is not
working/detected?

Can you as a workaround use a higher polling rate (like 8ms) to keep Plasma
looking smooth? I found that this polling rate affects the mouseChanged()
signal so it makes any compositor effect (like mouse mark, startup feedback...)
relying on it appear laggy.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to