Rokin05 / sddm-themes

Dynamics and highly customizable themes build from scratch for SDDM display manager with QtQuick 2. > Mirror of https://git.rokin.in/Rokin/SDDM-Themes
https://git.rokin.in/Rokin/SDDM-Themes
GNU General Public License v3.0
60 stars 6 forks source link

multi screen doesn't work on two displays with different resolution #4

Open piomiq opened 4 years ago

piomiq commented 4 years ago

Support multi screen: Theme can be enable/visible on all screen or only on the primary screen. I have two displays each with different resolution - monitor greater and projector smaller. In theme configuration I set parameter enable.primary_screen_only=true After I restarted sddm I got two login screens on my main monitor - smaller was displayed on greater. Another issue was that user icons and field to enter password wasn't visible. Actually was displayed only on greater screen, which was covered with smaller screen. Therefore there wasn't possible to login. Here you will find screenshot: http://gofile.me/2wyMX/zu2tW9277

I reported issue to sddm project, but was closed with message that this depends on theme. https://github.com/sddm/sddm/issues/1219#issuecomment-593857420

[Edit] I use Arch based distribution. and sddm 0.18.1-2, Plasma 5.18.2, Qt 5.14.1

Rokin05 commented 4 years ago

Hello,

I look on code and do try few changes but from what I understand, I'm really not sure that the problem comes from the theme. I use the theme daily in dual screen with two screens (1080x1920 + 1200x1920) but I can't reproduce your bug :/ (with Arch too)

Rokin05 commented 4 years ago

Let's me trying to explain a little bit better how the enable.primary_screen_only option works with my bad English :p :

The configuration option _"enable.primary_screenonly" use/works with the value of the variable "primaryScreen" (that the QTQuick code of the theme receives from SDDM).

If your dual display work in "clone mode" the two screens will be seen as one and the "primaryScreen" variable is no longer able to differentiate the two screens monitor;

the two screens monitor will be seen as one and the variable will be "true" for each screen (which will be "logical", but incorrect).

The option _"enable.primary_screenonly=true" cannot "materially" manage the different screens but simply display an empty background when the screens are configured in extended mode with the use of the value returned by primaryScreen. (like : if primaryScreen = false then print nothing)

With theme (QtQuick only), It is the only solution I could find to achieve this option.

It does not explain the initial problem but it is to explain that it is normal that this option is not really able to solve it.

piomiq commented 4 years ago

W dniu 06.03.2020 o 21:39, Rokin pisze:

Hello, Hi

  • Your dual display are configured at "clone mode" or "extend mode" ? I think I have clone mode, but never set it. Seems this is default setting. Only this setting works only on login screen. When I'm logged in I have different things (content) on both displays. Below please find my screens configuration: [ { "enabled": true, "id": "e0890536ab4abaa0187dbf8d8288970a", "metadata": { "fullname": "xrandr-EA275WMi-74105467NB", "name": "HDMI1" }, "mode": { "refresh": 59.9505500793457, "size": { "height": 1440, "width": 2560 } }, "pos": { "x": 0, "y": 0 }, "primary": true, "rotation": 1, "scale": 1 }, { "enabled": true, "id": "f90de48d5e9bb29f60bb5464dd910db9", "metadata": { "fullname": "xrandr-Optoma 1080P-72J6081111111", "name": "HDMI2" }, "mode": { "refresh": 60, "size": { "height": 1080, "width": 1920 } }, "pos": { "x": 2560, "y": 180 }, "primary": false, "rotation": 1, "scale": 1 } ]

  • does it work fine with the default theme of kde plasma or you have the same graphical problem ? sddm theme "Breeze" doesn't work. I can see two login screens displayed on my primary one. As I mentioned in post in github I also tried theme Adapta (https://store.kde.org/p/1302087/), which should work with multi-screen configuration - like this promised author. And as described using this them I got worse issue, because I wasn't able to login - login icons were not visible the same edit box to entering password. Issue reported here: https://github.com/Rokin05/SDDM-Themes/issues/4

What do you mean saying the same graphical problem? I have only problem with sddm and/or theme for sddm. Displaying other things on both screens works fine. I have integrated graphics card: Intel HD Graphics 530 (Skylake GT2). Loaded kernel module i915, Mesa 19.3.4 Let me know if I need provide any logs or more information about configuration.

I need to add that my second display is connected via HDMT, whereas primary via DVI.

BTW. I retested multi-screen configuration also on another (older) machine, and also with integrated graphics card: Sandybridge Mobile. Machine has smaller resolution that second display, so 1366x768 whereas second is FullHD (1920x1080). Here the problem was that on primary screen (smaller resolution) sddm used resolution from second display (greater resolution). In result in some themes (I tested midna) login icons and edit box to entering password is placed behind visible area on this display.

I look on code and do try few changes but from what I understand, I'm really not sure that the problem comes from the theme. I use the theme daily in dual screen with two screens (1080/1920 + 1200/1920) but I can't reproduce your bug :/ (with Arch too)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Rokin05/SDDM-Themes/issues/4?email_source=notifications&email_token=AEPAUIA7SEBOFHFAUM4THA3RGFNPDA5CNFSM4LDHENYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOCZARY#issuecomment-595955783, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEPAUIERSAPHVVE2NSWES5TRGFNPDANCNFSM4LDHENYA.

-- pozdrawiam/regards Piotrek

Rokin05 commented 4 years ago

I don't understand why sddm cannot use value "primary": true which is present in configuration file located in ~/.local/share/kscreen?

SDDM is just a display manager which starts before the desktop environment like KDE-Plasma, the file located in ~/.local/share/kscreen is part of KDE-plasma, this configuration file has, i think, no direct links with sddm. In order to configure the screens for sddm, it is better to refer to sddm.conf :

...

[X11]
# Path to a script to execute when starting the display server
DisplayCommand=/usr/share/sddm/scripts/Xsetup

# Path to a script to execute when stopping the display server
DisplayStopCommand=/usr/share/sddm/scripts/Xstop

...