| Summary: | Support proper output mirroring | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Iyán M. V. <me> |
| Component: | platform-drm | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | ASSIGNED --- | ||
| Severity: | wishlist | CC: | accounts+kde, bernhard, bizyaev, bridgesensemc, bugseforuns, criguada, fanzhuyifan, ilia21, jeisom, jheinem01, kevin.kofler, kishore96, leon.halic, maelmauron, mateo.cic05, mike.vaughn.83, mira.jary, mokazemi, mydj555, mziab, nate, ngompa, postix, rafael.palma.lima, russell.milliner, sephiroth_pk, serdarthtux, serzavevich13, tobiaspotocek, tomblackwhite, Torsten.Maehne, xaver.hugl |
| Priority: | VHI | Keywords: | qt6 |
| Version First Reported In: | 5.93.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Iyán M. V.
2024-02-11 13:18:05 UTC
Yeah, we'll need to properly plumb screen mirroring from KScreen to KWin, and handle this properly in KWin *** Bug 481584 has been marked as a duplicate of this bug. *** *** Bug 483437 has been marked as a duplicate of this bug. *** *** Bug 487796 has been marked as a duplicate of this bug. *** *** Bug 488111 has been marked as a duplicate of this bug. *** *** Bug 491144 has been marked as a duplicate of this bug. *** *** Bug 492827 has been marked as a duplicate of this bug. *** Hey there! Any news on when this can be expected? I plan to tackle this for the Plasma 6.3 release. No promises on completeness by then though, some parts of doing things properly require quite a lot of changes in KWin. *** Bug 493478 has been marked as a duplicate of this bug. *** Many bugs marked as duplicated of this one seem to be quite different to what I'm describing here. I'll leave that for Xaver to explain, but as I understand it, they all have the same root cause. No need to waste time explaining to me here. If it was not by mistake and the root cause is clear to Xaver, all good :) I was just confused by some of the other bugs. The bug I tried to describe here was a very minor issue, but others seem more severe and annoying. *** Bug 493913 has been marked as a duplicate of this bug. *** *** Bug 494447 has been marked as a duplicate of this bug. *** *** Bug 493811 has been marked as a duplicate of this bug. *** *** Bug 494958 has been marked as a duplicate of this bug. *** Any hopes of having this bug fixed in time for Plasma 6.3? I use Plasma for teaching and I mirror my screen with a projector, and the overview effect simply doesn't work in the projector. For 6.3, no *** Bug 500371 has been marked as a duplicate of this bug. *** *** Bug 501624 has been marked as a duplicate of this bug. *** A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7476 Git commit 3e0ecbaad2981874608118005d4dc28daf6e3ec4 by Xaver Hugl. Committed on 16/04/2025 at 15:20. Pushed by zamundaaa into branch 'master'. outputconfigurationstore: implement better screen mirroring Instead of KScreen trying to move and scale outputs in a way that kind of looks like mirroring, this makes KWin aware of which outputs replicate which, and makes it responsible for implementing mirroring in whatever way is best. This commit implements simliar workarounds like KScreen had, with the only real difference being that it avoids modifying the source display mode and position, and takes screen rotation into account. A better implementation can replace that bit later on, while making use of the same information stored in the configuration. Related: bug 502630 M +11 -6 autotests/integration/outputchanges_test.cpp M +1 -0 src/backends/drm/drm_output.cpp M +1 -0 src/backends/virtual/virtual_output.cpp M +1 -0 src/backends/wayland/wayland_output.cpp M +9 -0 src/core/output.cpp M +3 -0 src/core/output.h M +1 -0 src/core/outputconfiguration.h M +88 -0 src/outputconfigurationstore.cpp M +2 -0 src/outputconfigurationstore.h M +26 -1 src/wayland/outputdevice_v2.cpp M +1 -0 src/wayland/outputdevice_v2.h M +12 -1 src/wayland/outputmanagement_v2.cpp M +4 -3 src/workspace.cpp M +1 -1 src/workspace.h https://invent.kde.org/plasma/kwin/-/commit/3e0ecbaad2981874608118005d4dc28daf6e3ec4 *** Bug 504137 has been marked as a duplicate of this bug. *** This problem persists in Plasma 6.4, despite the commit from comment #23. *** Bug 506050 has been marked as a duplicate of this bug. *** *** Bug 488111 has been marked as a duplicate of this bug. *** *** Bug 509322 has been marked as a duplicate of this bug. *** *** Bug 509559 has been marked as a duplicate of this bug. *** *** Bug 489849 has been marked as a duplicate of this bug. *** *** Bug 486785 has been marked as a duplicate of this bug. *** Just curious if this might get fixed any time soon. I updated to KDE 6.5 (all-around great release, btw 👏 ), and windows are still only showing on one of two replicated screens in the Grid/Overview and Present Windows effects. Yes, I have a working prototype that gets rid of the remaining issues with mirroring, and that should land before Plasma 6.6. (In reply to Zamundaaa from comment #33) > Yes, I have a working prototype that gets rid of the remaining issues with > mirroring, and that should land before Plasma 6.6. Thanks for working on this! I'll be happy to test the changes in the Plasma 6.6 Beta ;) A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8365 > To render a logical output on a display with potentially mismatching aspect ratio, this also adds infrastructure to have an offset (black bar) when compositing on a mirroring display.
So this hardcodes letterboxing, whereas several of the duplicates (including mine) have actually asked for stretching instead.
Stretching is not something I intend to support atm. You can however select which screen gets letterboxed to match the other. That is not what we asked for, and what is easily achievable on X11 with the xrandr CLI. So Wayland remains unusable. *** Bug 511911 has been marked as a duplicate of this bug. *** *** Bug 511913 has been marked as a duplicate of this bug. *** |