KWin merge requestshttps://invent.kde.org/plasma/kwin/-/merge_requests2021-08-30T14:42:18Zhttps://invent.kde.org/plasma/kwin/-/merge_requests/1334fix drag and drop raise with Xwayland windows2021-08-30T14:42:18ZXaver Huglfix drag and drop raise with Xwayland windowsThey shouldn't be raised immediately. The same strategy as with Wayland native clients should be used.
BUG: 440534They shouldn't be raised immediately. The same strategy as with Wayland native clients should be used.
BUG: 4405345.22https://invent.kde.org/plasma/kwin/-/merge_requests/1297platforms/drm: check wl_eglstream buffers before attaching2021-08-25T12:52:58ZXaver Huglplatforms/drm: check wl_eglstream buffers before attachingCherry-picked 770875a76e662a1ed7728da769f8f7d019623701 and fixed merge conflicts
BUG: 440852Cherry-picked 770875a76e662a1ed7728da769f8f7d019623701 and fixed merge conflicts
BUG: 4408525.22https://invent.kde.org/plasma/kwin/-/merge_requests/1290platforms/drm: fix gpu removal2021-08-24T12:37:08ZXaver Huglplatforms/drm: fix gpu removalAs soon as `m_backends.removeOne(*it)` returns, `it` no longer points to the same value.
CCBUG: 441372As soon as `m_backends.removeOne(*it)` returns, `it` no longer points to the same value.
CCBUG: 4413725.22https://invent.kde.org/plasma/kwin/-/merge_requests/1273kcm/kwindecoration: Fix window thumbnail sizes2021-08-18T21:56:30ZIsmael Asensiokcm/kwindecoration: Fix window thumbnail sizesCaused by a stray `units` context property that no longer exists.
|BEFORE|AFTER|
|---|---|
|![windeco_before](/uploads/3b524725e0a603ee3911a09bedbe0912/windeco_before.png)|![windeco_after](/uploads/b49d60c4dce898b8da9b44d5763a924f/winde...Caused by a stray `units` context property that no longer exists.
|BEFORE|AFTER|
|---|---|
|![windeco_before](/uploads/3b524725e0a603ee3911a09bedbe0912/windeco_before.png)|![windeco_after](/uploads/b49d60c4dce898b8da9b44d5763a924f/windeco_after.png)|5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1270platforms/drm: consider KWIN_DRM_DEVICES for hotplugged gpus2021-08-17T22:02:42ZXaver Huglplatforms/drm: consider KWIN_DRM_DEVICES for hotplugged gpusEffectively a stop-gap solution until https://invent.kde.org/libraries/plasma-wayland-protocols/-/merge_requests/17 is finished and implemented.
For VFIO some people are using the env var to have KWin not use a GPU, so that they can swi...Effectively a stop-gap solution until https://invent.kde.org/libraries/plasma-wayland-protocols/-/merge_requests/17 is finished and implemented.
For VFIO some people are using the env var to have KWin not use a GPU, so that they can switch between using the gpu with a VM and Linux native apps. Once the VM releases it though, KWin opens the fd and if an output is connected it can't be released from the system again.5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1256platforms/drm: fix crashing debug operator2021-08-16T14:59:01ZXaver Huglplatforms/drm: fix crashing debug operatorWhile working on autotests for the drm platform I managed to consistently trigger a segfault in drm_object.cpp, when `drmModeAtomicAddPropery` fails. I'm not exactly sure why it crashes but how it's with this MR is how Qt documentation h...While working on autotests for the drm platform I managed to consistently trigger a segfault in drm_object.cpp, when `drmModeAtomicAddPropery` fails. I'm not exactly sure why it crashes but how it's with this MR is how Qt documentation has it, and this works.5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1236Correct check for when VRR should be active2021-08-13T14:14:28ZXaver HuglCorrect check for when VRR should be activeThe previous calculation ignored the render time and safety margin of the frame scheduling algorithm, which makes VRR activate properly only when the refresh rate drops lower than some margin below the maximum refresh rate. That margin i...The previous calculation ignored the render time and safety margin of the frame scheduling algorithm, which makes VRR activate properly only when the refresh rate drops lower than some margin below the maximum refresh rate. That margin isn't very big but it can still be noticable.5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1221Avoid discarding previous pixmap2021-08-04T14:32:26ZVlad ZahorodniiAvoid discarding previous pixmapWhen resizing, the SurfaceItem will discard the current pixmap until a
new one is created. If the newly created pixmap is valid, the previous
pixmap will be discarded in SurfaceItem::updatePixmap().
However, the previous pixmap can be d...When resizing, the SurfaceItem will discard the current pixmap until a
new one is created. If the newly created pixmap is valid, the previous
pixmap will be discarded in SurfaceItem::updatePixmap().
However, the previous pixmap can be discarded only if it's unreferenced,
in other words, no effect needs the previous pixmap.
BUG: 4396895.22https://invent.kde.org/plasma/kwin/-/merge_requests/1158platforms/drm: only show cursor on dpms on if not hidden2021-07-07T23:42:37ZXaver Huglplatforms/drm: only show cursor on dpms on if not hiddenDoesn't cause any issues for when there is no cursor / no pointing device but when the cursor is hidden because of touch it causes a cursor image to be stuck on the screen.Doesn't cause any issues for when there is no cursor / no pointing device but when the cursor is hidden because of touch it causes a cursor image to be stuck on the screen.5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1157platforms/drm: fix under- and overscan2021-07-08T16:14:47ZXaver Huglplatforms/drm: fix under- and overscanFirst commit: the enums belong to "underscan", not to "underscan hborder", and the values for aspect ratio need to be switched. Should be backported when 925ff9640190cb7523b176ea95aaecccf93329d6 is
Second commit: under/overscan wasn't a...First commit: the enums belong to "underscan", not to "underscan hborder", and the values for aspect ratio need to be switched. Should be backported when 925ff9640190cb7523b176ea95aaecccf93329d6 is
Second commit: under/overscan wasn't applied until modeset, making it pretty useless. Should be backported now
amdgpu seems to have underscan properties available for all outputs, not just broken TVs. I could test it now and it works like a charm5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1138xdgshellclient: fix moveresize with touch and CSD2021-07-01T13:13:58ZXaver Huglxdgshellclient: fix moveresize with touch and CSDWhen moveresize is done with touch we need to use the current touch point and not the mouse position.
BUG: 438283
CCBUG: 431489When moveresize is done with touch we need to use the current touch point and not the mouse position.
BUG: 438283
CCBUG: 4314895.22https://invent.kde.org/plasma/kwin/-/merge_requests/1137input: fix touch input getting borked on quick tile2021-07-13T11:40:31ZXaver Huglinput: fix touch input getting borked on quick tileThe decorationPressId never gets reset as the decoration isn't below the touch point anymore after the quick tile, so if we have no decoration under the touch point reset the decorationPressId to -1.
The bug manifests when you do quick ...The decorationPressId never gets reset as the decoration isn't below the touch point anymore after the quick tile, so if we have no decoration under the touch point reset the decorationPressId to -1.
The bug manifests when you do quick tiling or maximize to screen edge. It ignores the first touch point then until you either tap on the window decoration or un-quicktile with the mouse.5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1136platforms/drm: don't crash if drmModeGetConnector fails2021-06-28T20:13:58ZXaver Huglplatforms/drm: don't crash if drmModeGetConnector failsI don't think this is the cause of 439208, where it's likely only a side effect of some other issue; should be guarded against anyways.
CCBUG: 439208I don't think this is the cause of 439208, where it's likely only a side effect of some other issue; should be guarded against anyways.
CCBUG: 4392085.22https://invent.kde.org/plasma/kwin/-/merge_requests/1127platforms/drm: support the underscan properties2021-07-07T13:56:29ZXaver Huglplatforms/drm: support the underscan propertiesThe protocol only supports setting one value but from what I've seen online the vborder and hborder values are always very, very close to 16:9 on 1080p TVs. So at least until we can add the second value to the protocol this will have to ...The protocol only supports setting one value but from what I've seen online the vborder and hborder values are always very, very close to 16:9 on 1080p TVs. So at least until we can add the second value to the protocol this will have to do, and (more importantly) it can be backported5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1124scenes/opengl: Update unstyled EffectFrame texture only when rendering2021-06-22T08:23:35ZVlad Zahorodniiscenes/opengl: Update unstyled EffectFrame texture only when renderingWhen the EffectFrame is created, there may not be any opengl context
current.
I discovered this crash while giving a talk at Akademy. :(When the EffectFrame is created, there may not be any opengl context
current.
I discovered this crash while giving a talk at Akademy. :(5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1123platforms/drm: refactor OpenGL post processing bits2021-06-23T07:33:49ZXaver Huglplatforms/drm: refactor OpenGL post processing bitsPutting the OpenGL post processing rotation into its own class cleans the EglGbmBackend code up a bit and adds post processing rotation for the EglStreamBackend.Putting the OpenGL post processing rotation into its own class cleans the EglGbmBackend code up a bit and adds post processing rotation for the EglStreamBackend.5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1121platforms/drm: fix mistake in DrmGbmBuffer2021-06-20T17:02:26ZXaver Huglplatforms/drm: fix mistake in DrmGbmBufferWhen gbm_bo_get_handle_for_plane isn't supported or doesn't work we'd be passing the buffer format as its handle to `drmModeAddFB(2)`.
We shouldn't really hit this code-path anywhere with anywhere near up to date Mesa but if we do it's ...When gbm_bo_get_handle_for_plane isn't supported or doesn't work we'd be passing the buffer format as its handle to `drmModeAddFB(2)`.
We shouldn't really hit this code-path anywhere with anywhere near up to date Mesa but if we do it's really bad5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1120platforms/drm: some improvements for logging2021-06-21T15:59:02ZXaver Huglplatforms/drm: some improvements for loggingSaw some improvements that could be made. It's not a bugfix but IMO worth cherry-picking, to make debugging problems a bit easierSaw some improvements that could be made. It's not a bugfix but IMO worth cherry-picking, to make debugging problems a bit easier5.22https://invent.kde.org/plasma/kwin/-/merge_requests/1119XdgSurfaceClient: set to current activity and desktop in constructors2021-06-20T22:09:38ZXaver HuglXdgSurfaceClient: set to current activity and desktop in constructorsBUG: 435745
FIXED-IN: 5.22.2BUG: 435745
FIXED-IN: 5.22.25.22https://invent.kde.org/plasma/kwin/-/merge_requests/1114platforms/drm: show cursor when exiting dpms2021-06-19T08:59:13ZXaver Huglplatforms/drm: show cursor when exiting dpmsBUG: 438824BUG: 4388245.22