Bug 2196435 - kwin_wayland does not correctly auto-detect the resolution for KVM
Summary: kwin_wayland does not correctly auto-detect the resolution for KVM
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: kwin
Version: 38
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-05-09 07:03 UTC by Tagwerk
Modified: 2024-05-21 14:58 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-05-21 14:58:38 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Tagwerk 2023-05-09 07:03:32 UTC
SUMMARY:

    SDDM presents a 1024/768 logon screen on KVM guests, ignoring any
    previously chosen screen size.

    After logon, Plasma uses the size set in
        System Settings > Display and Monitor.



SOFTWARE/OS VERSIONS

    Fedora 38
    Plasma: 5.27.4
    Frameworks: 5.105.0
    Qt: 5.15.9



Reproducible: Always

Steps to Reproduce:
STEPS TO REPRODUCE:

    Install F38 as a KVM guest or upgrade an F37 to F38.

    Login and configure a "wished for" screen size.

    Log out or Reboot...

    (It does not seem to matter whether you are using QXL or Virtio
    video or whether you select an X11 or Wayland session.)

Actual Results:  
OBSERVED RESULTS:

    You get a 1024/768 size SDDM logon screen.

Expected Results:  
EXPECTED RESULTS:

    Depends.

    In a simple case with a single screen, setting the screen size in
        System Settings > Display and Monitor
    should set the size SDDM uses.



ADDITIONAL INFORMATION

    An earlier workround for KVM guests (below) no longer works on
    its own, you also need to edit /etc/sddm.conf to include:

        [General]
        DisplayServer=x11

    It might be heavy handed to force SDDM back to using X11 - but it works.

    Previously the issue could be addressed by just creating a

        /etc/X11/xorg.conf.d/50-monitor.conf

    containing:

    Section "Monitor"
           Identifier   "Virtual-0"
           Option "PreferredMode" "1440x900"
    EndSection
    Section "Monitor"
           Identifier   "Virtual-1"
           Option "PreferredMode" "1440x900"
    EndSection

    If you are using QXL video, then SDDM picks up the "Virtual-0" config,
    if Virtio then the "Virtual-1" one (although this may be shown as
    "Red Hat, Inc. QEMU Monitor" under System Settings > Display and Monitor)

    Ref: https://bugs.kde.org/show_bug.cgi?id=420169#c8

    Presumably previously SDDM quietly fell back to using X11, now it needs
    to be told.

Comment 1 Neal Gompa 2023-09-16 12:38:48 UTC
SDDM Wayland for KDE uses kwin_wayland directly.

Per the kwin_wayland help:

ngompa@fedora ~> kwin_wayland --help
Usage: kwin_wayland [options] [/path/to/application...]
KDE window manager

Options:
  --lock                                       Disable configuration options
  --crashes <n>                                Indicate that KWin has recently
                                               crashed n times
  -h, --help                                   Displays help on commandline
                                               options.
  --help-all                                   Displays help including Qt
                                               specific options.
  -v, --version                                Displays version information.
  --author                                     Show author information.
  --license                                    Show license information.
  --desktopfile <file name>                    The base file name of the
                                               desktop entry for this
                                               application.
  --xwayland                                   Start a rootless Xwayland
                                               server.
  -s, --socket <socket>                        Name of the Wayland socket to
                                               listen on. If not set "wayland-0"
                                               is used.
  --wayland-fd <wayland-fd>                    Wayland socket to use for
                                               incoming connections. This can be
                                               combined with --socket to name
                                               the socket
  --xwayland-fd <xwayland-fds>                 XWayland socket to use for
                                               Xwayland's incoming connections.
                                               This can be set multiple times
  --xwayland-display <xwayland-display>        Name of the xwayland display
                                               that has been pre-set up
  --xwayland-xauthority <xwayland-xauthority>  Name of the xauthority file
  --replace                                    Exits this instance so it can be
                                               restarted by
                                               kwin_wayland_wrapper.
  --x11-display <display>                      The X11 Display to use in
                                               windowed mode on platform X11.
  --wayland-display <display>                  The Wayland Display to use in
                                               windowed mode on platform
                                               Wayland.
  --virtual                                    Render to a virtual framebuffer.
  --width <width>                              The width for windowed mode.
                                               Default width is 1024.
  --height <height>                            The height for windowed mode.
                                               Default height is 768.
  --scale <scale>                              The scale for windowed mode.
                                               Default value is 1.
  --output-count <count>                       The number of windows to open as
                                               outputs in windowed mode. Default
                                               value is 1
  --drm                                        Render through drm node.
  --locale1                                    Extract locale information from
                                               locale1 rather than the user's
                                               configuration
  --inputmethod <path/to/imserver>             Input method that KWin starts.
  --lockscreen                                 Starts the session in locked
                                               mode.
  --no-lockscreen                              Starts the session without lock
                                               screen support.
  --no-global-shortcuts                        Starts the session without
                                               global shortcuts support.
  --no-kactivities                             Disable KActivities integration.
  --exit-with-session </path/to/session>       Exit after the session
                                               application, which is started by
                                               KWin, closed.

Arguments:
  applications                                 Applications to start once
                                               Wayland and Xwayland server are
                                               started


If SDDM isn't invoking it with specific parameters, kwin should attempt to default to detected display resolution or fall back to 1024x768.

Your two choices are:

1. File a bug with kwin to get them to fix their resolution detection logic with a detailed test case for reproducibility: https://bugs.kde.org/enter_bug.cgi?product=kwin&component=wayland-generic
2. Copy /usr/lib/sddm/sddm.conf.d/plasma-wayland.conf to /etc/sddm/sddm.conf.d and edit CompositorCommand= to add the desired resolution.

Comment 2 Tagwerk 2023-09-17 09:24:10 UTC
Alas, no joy. I now have:

    [General]
    DisplayServer=wayland
    GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
    InputMethod=

    [Wayland]
    CompositorCommand=kwin_wayland --no-global-shortcuts --no-lockscreen --inputmethod maliit-keyboard --locale1 --width 1440 --height 900

in /etc/sddm/sddm.conf.d/plasma-wayland.conf and commented out the DisplayServer=x11 in my /etc/sddm.conf

Doesn't change the screensize of the SDDM logon screen

I've also tried the file in /etc/sddm.conf.d/plasma-wayland.conf (just in case) and tested both Virtio and QXL

(Thank you for re-opening..)

Comment 3 Neal Gompa 2023-09-17 15:10:02 UTC
(In reply to Tagwerk from comment #2)
> Alas, no joy. I now have:
> 
>     [General]
>     DisplayServer=wayland
>     GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
>     InputMethod=
> 
>     [Wayland]
>     CompositorCommand=kwin_wayland --no-global-shortcuts --no-lockscreen
> --inputmethod maliit-keyboard --locale1 --width 1440 --height 900
> 
> in /etc/sddm/sddm.conf.d/plasma-wayland.conf and commented out the
> DisplayServer=x11 in my /etc/sddm.conf
> 
> Doesn't change the screensize of the SDDM logon screen
> 
> I've also tried the file in /etc/sddm.conf.d/plasma-wayland.conf (just in
> case) and tested both Virtio and QXL
> 

Can you please file a bug with kwin upstream about this issue of not detecting/adapting to the resolution in KVM properly? https://bugs.kde.org/enter_bug.cgi?product=kwin&component=wayland-generic

> (Thank you for re-opening..)

Yeah, no worries. I accidentally closed it when I meant to change it, that's why I reopened it.

Comment 4 Tagwerk 2023-09-19 06:57:15 UTC
(In reply to Neal Gompa from comment #3)
> Can you please file a bug with kwin upstream about this issue of not
> detecting/adapting to the resolution in KVM properly?
> https://bugs.kde.org/enter_bug.cgi?product=kwin&component=wayland-generic

Reproduced the issue on Neon Unstable and logged it here
    https://bugs.kde.org/show_bug.cgi?id=474681

Comment 5 Aoife Moloney 2024-05-21 14:58:38 UTC
Fedora Linux 38 entered end-of-life (EOL) status on 2024-05-21.

Fedora Linux 38 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.