KDE Wayland: Blurry external monitor when mirroring

TL;DR

I’ve noticed that in KDE Wayland, when I connect my laptop to an external monitor and enable mirrored display​ (a very common scenario for presentations), the external screen gets forced into a weird scaling mode — making the image extremely blurry. I’ve filed a bug report on https://bugs.kde.org/show_bug.cgi?id=512073 .
I really hope this gets fixed ASAP ( since I teach classes and frequently need to project my screen) . I have some C++ programming experience, but I’m not sure where to look in the codebase — any hints from the dev community would be super helpful!


My Monitor Setting

The internal screen (eDP-1) is a high-resolutional 3:2 screen (with scale 2). The external screen (DP-3) is a normal 16:9 screen (with scale 1).

Output: 1 eDP-1 d9405038-08d2-4967-a8b8-11cf5072865c
        enabled
        connected
        priority 1
        Panel
        replication source:0
        Modes:  1:3120x2080@120.00*!  2:3120x2080@60.00  3:1600x1200@59.87  4:1600x1200@119.82  5:1280x1024@59.90  6:1280x1024@119.83  7:1024x768@59.92  8:1024x768@119.80  9:2560x1600@59.99  10:2560x1600@119.93  11:1920x1200@59.88  12:1920x1200@119.90  13:1280x800@59.81  14:1280x800@119.85  15:2880x1620@59.96  16:2880x1620@119.95  17:2560x1440@59.96  18:2560x1440@119.95  19:1920x1080@59.96  20:1920x1080@119.93  21:1600x900@59.95  22:1600x900@119.95  23:1368x768@59.88  24:1368x768@119.83  25:1280x720@59.85  26:1280x720@119.86 
        Geometry: 0,0 1560x1040
        Scale: 2
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Color power preference: prefer accuracy
        Brightness control: supported, set to 70% and dimming to 100%
        Color resolution: automatic (16), range: [6; 12] bits per color
        Allow EDR: never
        Sharpness control: unsupported
Output: 2 DP-3 6e80123d-a065-44a0-bb6a-062b2ab8f01d
        disabled
        connected
        priority 0
        DisplayPort
        replication source:0
        Modes:  27:2560x1440@59.95*!  28:1920x1200@59.95  29:1920x1080@60.00  30:1920x1080@60.00  31:1920x1080@59.94  32:1920x1080@50.00  33:1680x1050@59.88  34:1600x900@60.00  35:1280x1024@75.03  36:1280x1024@60.02  37:1440x900@59.90  38:1366x768@59.79  39:1280x720@60.00  40:1280x720@60.00  41:1280x720@59.94  42:1280x720@50.00  43:1024x768@75.03  44:1024x768@70.07  45:1024x768@60.00  46:800x600@75.00  47:800x600@72.19  48:800x600@60.32  49:800x600@56.25  50:720x576@50.00  51:720x576@50.00  52:720x480@60.00  53:720x480@60.00  54:720x480@59.94  55:720x480@59.94  56:640x480@75.00  57:640x480@72.81  58:640x480@60.00  59:640x480@59.94  60:640x480@59.94  61:720x400@70.08 
        Geometry: 0,0 2560x1440
        Scale: 1
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        Color profile source: ICC
        Color power preference: prefer efficiency and performance
        Brightness control: supported, set to 100% and dimming to 100%
        Color resolution: automatic (10), range: [6; 12] bits per color
        Allow EDR: unsupported
        Sharpness control: unsupported

Weird Scaling in Mirror Mode

When I make the external monitor mirroring the internal monitor with the following kscreen-doctor command:

$ kscreen-doctor output.DP-3.enable output.DP-3.mirror.eDP-1

The screen layout setting becomes:

Output: 1 eDP-1 d9405038-08d2-4967-a8b8-11cf5072865c
        enabled
        connected
        priority 1
        Panel
        replication source:0
        Modes:  1:3120x2080@120.00*!  2:3120x2080@60.00  3:1600x1200@59.87  4:1600x1200@119.82  5:1280x1024@59.90  6:1280x1024@119.83  7:1024x768@59.92  8:1024x768@119.80  9:2560x1600@59.99  10:2560x1600@119.93  11:1920x1200@59.88  12:1920x1200@119.90  13:1280x800@59.81  14:1280x800@119.85  15:2880x1620@59.96  16:2880x1620@119.95  17:2560x1440@59.96  18:2560x1440@119.95  19:1920x1080@59.96  20:1920x1080@119.93  21:1600x900@59.95  22:1600x900@119.95  23:1368x768@59.88  24:1368x768@119.83  25:1280x720@59.85  26:1280x720@119.86 
        Geometry: 0,0 1560x1040
        Scale: 2
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Color power preference: prefer accuracy
        Brightness control: supported, set to 70% and dimming to 100%
        Color resolution: automatic (16), range: [6; 12] bits per color
        Allow EDR: never
        Sharpness control: unsupported
Output: 2 DP-3 6e80123d-a065-44a0-bb6a-062b2ab8f01d
        enabled
        connected
        priority 2
        DisplayPort
        replication source:1
        Modes:  27:2560x1440@59.95!  28:1920x1200@59.95  29:1920x1080@60.00  30:1920x1080@60.00  31:1920x1080@59.94  32:1920x1080@50.00  33:1680x1050@59.88  34:1600x900@60.00  35:1280x1024@75.03  36:1280x1024@60.02  37:1440x900@59.90  38:1366x768@59.79  39:1280x720@60.00  40:1280x720@60.00  41:1280x720@59.94  42:1280x720@50.00  43:1024x768@75.03  44:1024x768@70.07  45:1024x768@60.00  46:800x600@75.00  47:800x600@72.19  48:800x600@60.32  49:800x600@56.25  50:720x576@50.00  51:720x576@50.00  52:720x480@60.00*  53:720x480@60.00  54:720x480@59.94  55:720x480@59.94  56:640x480@75.00  57:640x480@72.81  58:640x480@60.00  59:640x480@59.94  60:640x480@59.94  61:720x400@70.08 
        Geometry: 0,0 1571x1048
        Scale: 0.458333
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        Color profile source: ICC
        Color power preference: prefer efficiency and performance
        Brightness control: supported, set to 100% and dimming to 100%
        Color resolution: automatic (10), range: [6; 12] bits per color
        Allow EDR: unsupported
        Sharpness control: unsupported

Notice that the scale argument becomes Scale: 0.458333. The external screen display becomes very blurry. I try to force setting the scale of the external screen to 1 by kscreen-doctor (kscreen-doctor output.DP-3.scale.1), nothing happens.