Decision — pick KDE Plasma 6.7 on Wayland. It is the only desktop that natively covers per-monitor panels, per-screen wallpaper, arbitrary fractional scaling, per-screen ICC profiles (now usable together with HDR) and — new in 6.7, after 21 years of requests — per-screen virtual desktops [1][2]. FancyZones comes back as PlasmaZones ⭐ 296 (Jul 2026) [3]. What it costs: Stardock Fences has no equivalent — that workflow disappears [8]; DisplayFusion’s monitor-splitting and one-click window-position profiles degrade to scripts; and X-Rite Color Assistant is replaced by copying your factory
.icmfiles across and calibrating with ArgyllCMS/DisplayCAL, with the caveat that Plasma Wayland does not load VCGT curves [34]. Choose Wayland, not X11: Plasma 6.7 is the last release with an X11 session [4] and 6.8 (Oct 2026) drops it [5], with 95% of Plasma 6.6 users already on Wayland [6].
The DE choice is the whole decision
Your four tools are not applications you swap one-for-one — they are shell extensions. On Linux the shell is the desktop environment, so the DE you pick decides which of them can be replaced at all.
| Capability (from DisplayFusion / Fences / FancyZones / X-Rite) | KDE Plasma 6.7 | GNOME 50 + extensions | Tiling WM (Hyprland / niri / sway) |
|---|---|---|---|
| Taskbar on every monitor | ✓ native panels per screen; panel cloning since 6.3 [40] | ⚠ Dash to Panel ⭐ 4.4k [15] | ⚠ per-output bar (Waybar); not a Windows-style window list |
| Taskbar shows only that screen’s windows | ⚠ setting exists; breaks after suspend on NVIDIA, needs a plasmashell restart [14] | ⚠ Dash to Panel “isolate monitors” [15] | ✓ n/a by design — outputs own their workspaces [49] |
| Different wallpaper per monitor | ✓ native, per-screen [16] | ✗ still unsupported in 2026 [17] | ✓ hyprpaper, per-monitor [19] |
| One image spanning all monitors | ✗ open request [16] | ✗ manual image compositing [17] | ⚠ Superpaper ⭐ 1.3k, X11-era DE list [18] |
| FancyZones-style zone layouts | ⚠ built-in tiling editor, but only one layout can be kept [11] → ✓ with PlasmaZones (26 layouts, per-monitor/per-desktop) [3] | ✓ Tiling Shell ⭐ 2.0k, layout editor + snap assistant, GNOME 42–50 [12][13] | ✓ inherent, but a different model (no free-floating zones) |
| Save / restore window arrangement | ⚠ RememberWindowPositions ⭐ 246 KWin script [27]; KWin now speaks the Wayland session-management protocol [25] | ⚠ third-party extension only | ✓ declarative window→workspace rules in config |
| Restore layout after dock/undock | ⚠ see below — historically KWin’s weak spot [28] | ⚠ extension-dependent | ⚠ kanshi restores outputs, not windows [29] |
| Monitor-configuration profiles, auto-applied on hotplug | ✓ kscreen stores per-arrangement JSON; kscreen-doctor for scripting [30] |
⚠ mutter remembers layouts, no named profiles | ✓ kanshi ⭐ 718, profiles on hotplug [29][50] |
| Monitor splitting into virtual monitors | ✗ | ✗ | ✗ — no compositor exposes this; zone layouts are the nearest substitute [3] |
| Desktop icon groups (Fences) | ⚠ multiple Folder View widgets, each a filtered folder [20] | ⚠ DING “stacks” — groups by file type only [21] | ✗ no desktop layer at all |
| Rule-based auto-sorting of desktop icons | ✗ | ✗ | ✗ |
| Per-monitor fractional scaling | ✓ arbitrary values (137%, 163%) [39] | ⚠ 25% steps; fractional needs a gsettings experimental flag [39][38] | ✓ per-output scale in config; niri keeps its own UI pixel-perfect [49] |
| Sharp XWayland apps under mixed DPI | ⚠ rendered at one scale then rescaled [39] | ⚠ same [39] | ⚠ force_zero_scaling workaround [39] |
| Per-screen ICC profile | ✓ since 2023 in KWin Wayland [35] | ✓ Settings → Color; wp_color_management v2 in GNOME 50 [38] | ⚠ Hyprland yes, niri does not document it [49] |
| ICC profile and HDR at the same time | ✓ new in 6.7 [1][36] | ⚠ HDR + colour-management v2 present, this combination not claimed [38] | ⚠ compositor-dependent |
| Independent virtual desktops per screen | ✓ new in 6.7 [1][2] | ✗ only “span all displays” or “primary only” [51][52] | ✓ native |
| Resolution / refresh / HDR / VRR per monitor from the DE GUI | ✓ System Settings → Display | ✓ Settings → Displays | ⚠ config file + kscreen-doctor/wlr-randr equivalents |
Read the table this way: KDE gives you roughly 80% of DisplayFusion plus something Windows itself cannot do (per-screen virtual desktops). GNOME needs three extensions to get to a per-monitor taskbar and zone snapping, and still cannot put a different wallpaper on each screen. A tiling WM makes FancyZones irrelevant but deletes the Fences workflow and the taskbar concept entirely.
App-by-app
| Windows app (installed) | Linux replacement | Parity verdict | Migration notes |
|---|---|---|---|
| DisplayFusion 12.1.1 [7] | Plasma panels + kscreen/kscreen-doctor + PlasmaZones ⭐ 296 [3] + RememberWindowPositions ⭐ 246 [27] |
⚠ ~80%, assembled from four pieces | Taskbars, per-monitor wallpaper, hotkeys and monitor profiles all land. Lost: monitor splitting, TitleBar buttons, and Triggers (window-created / desktop-unlock event scripting) [7] |
| Stardock Fences 6 [8][9] | Plasma Folder View widgets [20] / GNOME DING stacks [21] | ✗ no equivalent | See below — plan to change the workflow, not port it |
| PowerToys FancyZones (0.97.1) | PlasmaZones ⭐ 296 (Wayland-only) [3] or Tiling Shell ⭐ 2.0k on GNOME [12] | ✓ full, arguably better | KDE’s built-in editor alone is not enough: it cannot store multiple layouts [11]. PlasmaZones adds per-monitor and per-virtual-desktop layouts, requires Plasma 6.4+ on Wayland [3] |
| X-Rite Color Assistant 2.57 [10] | Copy the factory .icm files → assign per screen in System Settings; recalibrate with ArgyllCMS + DisplayCAL / displaycal-py3 ⭐ 1.6k [31][32] |
⚠ profile loading yes, VCGT no | Color Assistant only restores factory sRGB/Rec.709/HDR profiles [10] — nothing to port, just the files |
| NVIDIA Control Panel / NVIDIA App (display side) | System Settings → Display (resolution, refresh, HDR, VRR, per-monitor scaling) | ✓ for display config | nvidia-settings is largely inert under Wayland; the DE owns display config. VRR is auto-enabled for fullscreen apps by KWin [48] |
| Windows virtual desktops | Plasma virtual desktops, now switchable per screen [1] | ✓ better than Windows | 21-year-old feature request, shipped 16 Jun 2026 [2] |
Per-monitor taskbars and restore-on-dock: what actually exists
Taskbars: solved, natively. Plasma places a panel on any screen and 6.3 added panel cloning so the second and third monitor get an identical bar without re-configuring [40]. The “show only tasks from current screen” filter exists, but there is a live NVIDIA-specific bug where the setting stops being honoured after resume from suspend, fixed by systemctl restart --user plasma-plasmashell.service [14]. Given your GPU, expect to hit that.
Restore-on-dock/undock: the honest answer is “partially, and only just”. Two things are converging:
- Compositor-side. KWin has been sanitising window geometry on output removal for a decade; the canonical “windows do not survive an unplug” bug is closed as a duplicate of a fixed one [28], but forum traffic shows the class of problem persisted.
- Protocol-side, and this is the real fix.
xdg-session-managementwas merged after six years and shipped in wayland-protocols 1.48 on 1 Apr 2026 [26]. KWin implements it as of Plasma 6.7 [25]. KDE is explicit that this is foundational: the remaining gate is “toolkits, libraries, and apps to implement support” [25].
In practice for 2026: install RememberWindowPositions ⭐ 246, which restores position, size, screen and virtual desktop per application, tested on Wayland and X11 on Plasma 6+ [27]. Its caveats matter — caption matching at an 85% threshold misfires on titles containing counters, and its Session Restore interaction is unofficial and has caused crash loops [27]. For the monitor half of docking, kscreen already keys configuration to the connected-output set; if you end up outside KDE, kanshi ⭐ 718 is the standard hotplug profile switcher and can blank the laptop panel when docked [29][50].
Fences: no equivalent. Plan to lose it.
Fences 6 does four distinct things: shaded moveable icon groups, automation rules that sort new files into groups, roll-up mini-windows, and Peek (Win+Space to float the fences above all windows), plus Folder Portals that mirror an arbitrary folder onto the desktop [8].
- KDE: Folder View widgets are a genuine Folder Portals equivalent — you can place as many as you like on the desktop, each pointing at a different folder and filtered by regex or file type [20]. They are not fences: there are no automation rules, no roll-up, no Peek, and users report you cannot even hand-order icons inside a Folder View [24].
- GNOME: Desktop Icons NG has supported “stacking” — grouping files of the same type — since v34 [21][22], and completed its GTK4 port in v51.0.0 in July 2026 [23]. Grouping by type is not grouping by intent.
- Tiling WMs: there is no desktop layer, so the question does not arise.
The realistic migration is to stop using the desktop as a filing system: filtered Folder View widgets for the two or three folders you actually touch, and a launcher for everything else.
Colour management and the X-Rite workflow
Your Legion’s Color Assistant is a profile loader, not a calibrator — it restores Lenovo’s factory sRGB / Rec.709 / HDR ICC profiles on panels sold as 100% sRGB or DCI-P3 [10]. So the migration is: copy the .icm files off the Windows install before you wipe it, drop them in /usr/share/color/icc, and assign them per display.
Hardware calibration is fine. ArgyllCMS is the engine and DisplayCAL the GUI; it supports essentially every colorimeter including the X-Rite/Calibrite i1 Display line, with vendor correction imports for i1 Display Pro and ColorMunki Display [31]. Use the maintained Python 3 fork, displaycal-py3 ⭐ 1.6k, which targets Python 3.9+ [32]. A 2026 walkthrough of the whole loop (calibrate → profile → /usr/share/color/icc → per-app colour management in digiKam/RawTherapee) is worth following, and it flags the trap: applying an ICC profile only inside a colour-managed app is insufficient because that app will not set the VCGT tables [33].
The sharp edge is VCGT on Wayland. KDE Plasma on Wayland does not expose an API to set the video-card gamma table, so calibration curves are not loaded into the GPU LUT; the correction has to live in the profile and be applied by the colour-management system instead [34]. For a factory-profile-loading workflow like yours that is acceptable; for hardware-calibrated grey tracking it is a real regression versus Windows.
The protocol picture is finally good. color-management-v1 was merged upstream in Feb 2025 after five years and 800+ review comments, covering ICC profiles and HDR for both colour-aware and unaware clients [37]. KWin has assigned ICC profiles per screen since 2023 [35], and Plasma 6.7 removed the last big compromise: “No longer do you have to choose between color management using an ICC profile or enjoying HDR content; now both are possible at the same time!” [1][36]. GNOME 50 (18 Mar 2026) shipped wp_color_management v2 plus HDR screen sharing [38].
Fractional/mixed DPI and NVIDIA on a Legion
Scaling. Every major compositor now does per-monitor fractional scaling. KDE’s advantage over GNOME is granularity: arbitrary percentages versus GNOME’s 25% steps behind an experimental gsettings flag [39][38]. Plasma 6.3 reworked fractional scaling to align to the pixel grid, reducing blur and gaps [40]. Mixed laptop-panel-plus-external is the standard case and works — the residual problem is XWayland, which renders at a single scale and gets rescaled for the other display, so expect soft text in older Electron apps, Qt5 tools and pre-2026.1 JetBrains IDEs, plus roughly 5–10% more GPU load than integer scaling [39].
NVIDIA, 2026. The 595 branch (595.58.03, Mar 2026) enables nvidia-drm.ko modeset=1 by default and adds DRI3 1.2 / DMA fences [42]; it also raises the minimum Wayland version to 1.20 [43]. A May 2026 field report on 595.71.05 + Plasma 6.6 concludes explicit sync in Wayland and KWin has “remov[ed] a category of glitches that affected NVIDIA on Wayland specifically”, and that multi-monitor with mixed refresh rates “works without thinking about it” — with VRR sometimes needing manual kscreen-doctor configuration [41]. The open kernel modules are now the default, and mandatory on Blackwell [41].
The Legion-specific risk is hybrid graphics with dGPU-wired outputs. On many Legion models the internal panel is driven by both GPUs but every external output — HDMI and USB-C — is wired to the NVIDIA GPU only, and hybrid mode has produced blank external displays [46]. A long-standing report has GNOME/mutter failing to initialise the dGPU and falling back to CPU rendering specifically when a secondary screen is attached to it, while single-display hybrid works fine [44]; NVIDIA’s own forums carry the same complaint for KDE, GNOME and Cinnamon [45], and Legion “Hybrid (iGPU only)” BIOS modes cause their own problems [47]. ⚠ Before committing, boot a live Plasma 6.7 image with the external monitor plugged in and test all three BIOS graphics modes — this is the one item on this list that can be a hard blocker rather than an inconvenience.