- 20 Oct, 2021 2 commits
-
-
Xaver Hugl authored
Add a new environment variable KWIN_DRM_FORCE_EGL_STREAMS that, when set to an integer value other than 0, makes KWin prefer EglStreams over gbm. (cherry picked from commit ebaf2e61)
-
Xaver Hugl authored
(cherry picked from commit dc56b03d)
-
- 18 Oct, 2021 1 commit
-
-
Xaver Hugl authored
This was inverted from 5.22, which switches plasma layouts and the default Xwayland primary screen. (cherry picked from commit 72af3093)
-
- 04 Oct, 2021 1 commit
-
-
Xaver Hugl authored
CCBUG: 440322 (cherry picked from commit 6a68caef)
-
- 01 Oct, 2021 1 commit
-
-
Xaver Hugl authored
BUG: 442603 (cherry picked from commit d55011ae)
-
- 30 Sep, 2021 1 commit
-
-
Xaver Hugl authored
(cherry picked from commit eeb1bd5b)
-
- 28 Sep, 2021 3 commits
-
-
Xaver Hugl authored
(cherry picked from commit 6ca530e0)
-
This change limits the brute force output configuration search routine to test only commits, it's way more efficient than real commits. CCBUG: 442603
-
While findWorkingCombination should never fail, in the case it does KWin should not crash. To achieve that simply restore the old config in case of failure. CCBUG: 439873 (cherry picked from commit de674e08)
-
- 27 Sep, 2021 1 commit
-
-
Xaver Hugl authored
DrmGpu::updateOutputs is now changing the state of some drm properties without changing the fitting output state (namely RenderLoop inhibition) which can lead to rendering being inhibited indefinitely in some cases (cherry picked from commit 7bca5d73)
-
- 21 Sep, 2021 1 commit
-
-
Xaver Hugl authored
KMS can only ever have one frame pending at the moment. If we update the outputs while a pageflip is still pending on any output the atomic commit will fail with EBUSY, which both invalidates the testing for output configuration and makes applying the wanted configuration fail. This can be removed again once KMS gains the ability to do mailbox presentation; that will likely still take a while though. BUG: 442677 (cherry picked from commit 6d79d855)
-
- 13 Sep, 2021 1 commit
-
-
Xaver Hugl authored
Instead of setting pipelines one by one, use DrmGpu::updateOutputs to set all the outputs on a GPU with a single atomic commit. This makes the switch both faster, more reliable and in case the other drm master changes the output configuration, prevents blanking.
-
- 09 Sep, 2021 3 commits
-
-
Xaver Hugl authored
When there aren't enough CRTCs to drive all the outputs this could delete existing outputs.
-
Xaver Hugl authored
Otherwise we could hit an assert in DrmPipeline
-
Xaver Hugl authored
The current behavior seems to cause some issues, and this is faster and more efficient.
-
- 08 Sep, 2021 1 commit
-
-
Xaver Hugl authored
Not all combinations of connectors, crtcs and planes will work on all hardware, so we need to test the pipelines before using them. BUG: 433107 CCBUG: 435265
-
- 07 Sep, 2021 1 commit
-
-
Xaver Hugl authored
-
- 01 Sep, 2021 1 commit
- 27 Aug, 2021 1 commit
-
-
Xaver Hugl authored
There's no need to guard the code, gbm and drm format definitions are the same. Using GBM_BO_FORMAT_* even caused bugs, as that is an enum and not a proper format identifier. BUG: 441253
-
- 16 Aug, 2021 1 commit
-
-
Xaver Hugl authored
IN_FORMATS contains information about which buffer formats can be scanned out with a given drm plane. Using these plane-specific format+modifier combinations as well as explicit modifiers in general can yield bandwidth and performance improvements, especially in multi-gpu systems.
-
- 07 Aug, 2021 1 commit
-
-
Xaver Hugl authored
When the last output gets disconnected, create a virtual output as a placeholder until we have access to a physical output again. While this placecholder never gets rendered to, with virtual outputs in general that is possible (with gbm and qpainter atm) and can be done for future use cases like wireless displays. CCBUG: 420160 CCBUG: 438839
-
- 10 Jul, 2021 4 commits
-
-
Xaver Hugl authored
Seems like some drivers change the properties in the time it takes to initialize the scene
-
Xaver Hugl authored
DrmPipeline is now what contains all the thing related to drm calls, instead of DrmOutput. This allows for some more flexibility and tidies the code up a bit. Additionally instead of rolling back changes if presentation fails, changes are directly tested with atomic test only commits.
-
Xaver Hugl authored
-
Xaver Hugl authored
-
- 21 Jun, 2021 1 commit
-
-
Xaver Hugl authored
-
- 10 Jun, 2021 1 commit
-
-
Ömer Fadıl Usta authored
-
- 08 Jun, 2021 2 commits
-
-
Xaver Hugl authored
CCBUG: 437893
-
Vlad Zahorodnii authored
In C++20, there will be emit() class member, which can conflict with the emit keyword. Given that, there are plans to enable QT_NO_KEYWORDS by default in the future. See also https://lists.qt-project.org/pipermail/development/2020-February/038812.html
-
- 20 May, 2021 1 commit
-
-
Vlad Zahorodnii authored
-
- 13 May, 2021 1 commit
-
-
Aleix Pol Gonzalez authored
-
- 04 May, 2021 1 commit
-
-
Adriaan de Groot authored
The added comment explains it all, really: you can't fit a 32-bit unsigned into a 32-bit (signed) time_t, but we don't care.
-
- 01 May, 2021 1 commit
-
-
Vlad Zahorodnii authored
This allows to instruct kwin what drm devices must be used explicitly. BUG: 435467
-
- 29 Apr, 2021 2 commits
-
-
Vlad Zahorodnii authored
At the moment, if a gpu is hot plugged, it won't have atomic modesetting enabled.
-
Vlad Zahorodnii authored
This way we don't need to convert strings to ints every time udev_device_get_sysnum() is called.
-
- 28 Apr, 2021 1 commit
-
-
Xaver Hugl authored
-
- 20 Apr, 2021 3 commits
-
-
Vlad Zahorodnii authored
This reverts commit 5a22deda. We still need more work to finish the DrmPipeline. At the moment, there are a few major issues, e.g. some outputs not turning on, output transforms not working correctly, a crash when changing dpms mode. Let's merge this change back once all major issues are fixed and after more testing.
-
Aleix Pol Gonzalez authored
Just in case they still need to interact with gbm
-
Aleix Pol Gonzalez authored
-
- 19 Apr, 2021 1 commit
-
-
Xaver Hugl authored
-