Public bug reported:

### Affected version

Distributor ID: Ubuntu

Description:    Ubuntu 20.04 LTS

GNOME Shell 3.36.1

### Bug summary

Gome-shell monitors.xml config validator fails to validate config saved
by Gnome settings with Fractional Scaling on:

```
Apr 25 13:28:28 xxx systemd[1798]: Starting GNOME Shell on X11...
Apr 25 13:28:28 xxx gnome-shell[10304]: Enabling experimental feature 
'x11-randr-fractional-scaling'
Apr 25 13:28:28 xxx /usr/lib/gdm3/gdm-x-session[10123]: (II) AMDGPU(0): EDID 
vendor "GSM", prod id 23305
...
Apr 25 13:28:28 xxx gnome-shell[10304]: Failed to read monitors config file 
'/home/xxx/.config/monitors.xml': Logical monitors not adjacent
```

### Steps to reproduce

* Need multiple displays to reproduce

1. Go to Display Settings
2. Enable Fractional scaling, for one of the screens, and set scaling to a 
different value than the other one.
3. Restart gnome-shell
4. Settings switched to default ones, as gnome-shell can't validate monitors.xml


### What happened

Gnome-shell can't apply monitors.xml config as it can't validate it with
fractional scaling on

### What did you expect to happen

Scaled settings validated, loaded and remain the same across gnome-shell
restarts

### Relevant logs, screenshots, screencasts etc.

Saved 'Scaled' monitors.xml, which not passing validation:

```
<configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <monitor>
        <monitorspec>
          <connector>HDMI-A-1</connector>
          <vendor>ACI</vendor>
          <product>ASUS PB278</product>
          <serial>D3LMTF056504</serial>
        </monitorspec>
        <mode>
          <width>2560</width>
          <height>1440</height>
          <rate>59.950550079345703</rate>
        </mode>
      </monitor>
    </logicalmonitor>
    <logicalmonitor>
      <x>5120</x>
      <y>0</y>
      <scale>1.5</scale>
      <primary>yes</primary>
      <monitor>
        <monitorspec>
          <connector>DisplayPort-1</connector>
          <vendor>ACI</vendor>
          <product>ASUS PB287Q</product>
          <serial>0x0001ecd2</serial>
        </monitorspec>
        <mode>
          <width>3840</width>
          <height>2160</height>
          <rate>59.996623992919922</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
```

As you can see first one resolution is 2560x1440, but the second one by
position starts at x=5120, so 2560x2, as the second one is saved with
1.5 scale. But gnome-shell probably expects them to be adjacent, so
expects x=2560

So, when gnome-shell starts it looks like we are failing to pass the
adjacent check. And that's exactly what it's saying:

Apr 25 13:28:28 xxx gnome-shell[10304]: Failed to read monitors config
file '/home/xxx/.config/monitors.xml': Logical monitors not adjacent

To verify that I made x=2560 in monitors.xml and restarted gnome-shell,
all scaling remained in place as they saved and no errors from gnome-
shell anymore, but the left screen is half overridden by right one
(which is exactly how to position specified now for the scaled screen).

The modified version of monitors.xml, passing validation:

```
<configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <monitor>
        <monitorspec>
          <connector>HDMI-A-1</connector>
          <vendor>ACI</vendor>
          <product>ASUS PB278</product>
          <serial>D3LMTF056504</serial>
        </monitorspec>
        <mode>
          <width>2560</width>
          <height>1440</height>
          <rate>59.950550079345703</rate>
        </mode>
      </monitor>
    </logicalmonitor>
    <logicalmonitor>
      <x>2560</x>
      <y>0</y>
      <scale>1.5</scale>
      <primary>yes</primary>
      <monitor>
        <monitorspec>
          <connector>DisplayPort-1</connector>
          <vendor>ACI</vendor>
          <product>ASUS PB287Q</product>
          <serial>0x0001ecd2</serial>
        </monitorspec>
        <mode>
          <width>3840</width>
          <height>2160</height>
          <rate>59.996623992919922</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
```

So it looks like config validator in gnome-shell needs to be fixed to
behave differently when logical monitors are scaled.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: gnome-shell 3.36.1-5ubuntu1
ProcVersionSignature: Ubuntu 5.4.0-26.30-generic 5.4.30
Uname: Linux 5.4.0-26-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Sun Apr 26 13:53:28 2020
DisplayManager: gdm3
InstallationDate: Installed on 2020-04-23 (3 days ago)
InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
ProcEnviron:
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/usr/bin/zsh
RelatedPackageVersions: mutter-common 3.36.1-3ubuntu3
SourcePackage: gnome-shell
UpgradeStatus: Upgraded to focal on 2020-04-26 (0 days ago)

** Affects: gnome-shell (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug focal

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-shell in Ubuntu.
https://bugs.launchpad.net/bugs/1875245

Title:
  gnome-shell monitors.xml config validator fails adjacent check for
  screens saved with 'Fractional Scaling'

Status in gnome-shell package in Ubuntu:
  New

Bug description:
  
  ### Affected version

  Distributor ID: Ubuntu

  Description:    Ubuntu 20.04 LTS

  GNOME Shell 3.36.1

  ### Bug summary

  Gome-shell monitors.xml config validator fails to validate config
  saved by Gnome settings with Fractional Scaling on:

  ```
  Apr 25 13:28:28 xxx systemd[1798]: Starting GNOME Shell on X11...
  Apr 25 13:28:28 xxx gnome-shell[10304]: Enabling experimental feature 
'x11-randr-fractional-scaling'
  Apr 25 13:28:28 xxx /usr/lib/gdm3/gdm-x-session[10123]: (II) AMDGPU(0): EDID 
vendor "GSM", prod id 23305
  ...
  Apr 25 13:28:28 xxx gnome-shell[10304]: Failed to read monitors config file 
'/home/xxx/.config/monitors.xml': Logical monitors not adjacent
  ```

  ### Steps to reproduce

  * Need multiple displays to reproduce

  1. Go to Display Settings
  2. Enable Fractional scaling, for one of the screens, and set scaling to a 
different value than the other one.
  3. Restart gnome-shell
  4. Settings switched to default ones, as gnome-shell can't validate 
monitors.xml

  
  ### What happened

  Gnome-shell can't apply monitors.xml config as it can't validate it
  with fractional scaling on

  ### What did you expect to happen

  Scaled settings validated, loaded and remain the same across gnome-
  shell restarts

  ### Relevant logs, screenshots, screencasts etc.

  Saved 'Scaled' monitors.xml, which not passing validation:

  ```
  <configuration>
      <logicalmonitor>
        <x>0</x>
        <y>0</y>
        <scale>1</scale>
        <monitor>
          <monitorspec>
            <connector>HDMI-A-1</connector>
            <vendor>ACI</vendor>
            <product>ASUS PB278</product>
            <serial>D3LMTF056504</serial>
          </monitorspec>
          <mode>
            <width>2560</width>
            <height>1440</height>
            <rate>59.950550079345703</rate>
          </mode>
        </monitor>
      </logicalmonitor>
      <logicalmonitor>
        <x>5120</x>
        <y>0</y>
        <scale>1.5</scale>
        <primary>yes</primary>
        <monitor>
          <monitorspec>
            <connector>DisplayPort-1</connector>
            <vendor>ACI</vendor>
            <product>ASUS PB287Q</product>
            <serial>0x0001ecd2</serial>
          </monitorspec>
          <mode>
            <width>3840</width>
            <height>2160</height>
            <rate>59.996623992919922</rate>
          </mode>
        </monitor>
      </logicalmonitor>
    </configuration>
  ```

  As you can see first one resolution is 2560x1440, but the second one
  by position starts at x=5120, so 2560x2, as the second one is saved
  with 1.5 scale. But gnome-shell probably expects them to be adjacent,
  so expects x=2560

  So, when gnome-shell starts it looks like we are failing to pass the
  adjacent check. And that's exactly what it's saying:

  Apr 25 13:28:28 xxx gnome-shell[10304]: Failed to read monitors config
  file '/home/xxx/.config/monitors.xml': Logical monitors not adjacent

  To verify that I made x=2560 in monitors.xml and restarted gnome-
  shell, all scaling remained in place as they saved and no errors from
  gnome-shell anymore, but the left screen is half overridden by right
  one (which is exactly how to position specified now for the scaled
  screen).

  The modified version of monitors.xml, passing validation:

  ```
  <configuration>
      <logicalmonitor>
        <x>0</x>
        <y>0</y>
        <scale>1</scale>
        <monitor>
          <monitorspec>
            <connector>HDMI-A-1</connector>
            <vendor>ACI</vendor>
            <product>ASUS PB278</product>
            <serial>D3LMTF056504</serial>
          </monitorspec>
          <mode>
            <width>2560</width>
            <height>1440</height>
            <rate>59.950550079345703</rate>
          </mode>
        </monitor>
      </logicalmonitor>
      <logicalmonitor>
        <x>2560</x>
        <y>0</y>
        <scale>1.5</scale>
        <primary>yes</primary>
        <monitor>
          <monitorspec>
            <connector>DisplayPort-1</connector>
            <vendor>ACI</vendor>
            <product>ASUS PB287Q</product>
            <serial>0x0001ecd2</serial>
          </monitorspec>
          <mode>
            <width>3840</width>
            <height>2160</height>
            <rate>59.996623992919922</rate>
          </mode>
        </monitor>
      </logicalmonitor>
    </configuration>
  ```

  So it looks like config validator in gnome-shell needs to be fixed to
  behave differently when logical monitors are scaled.

  ProblemType: Bug
  DistroRelease: Ubuntu 20.04
  Package: gnome-shell 3.36.1-5ubuntu1
  ProcVersionSignature: Ubuntu 5.4.0-26.30-generic 5.4.30
  Uname: Linux 5.4.0-26-generic x86_64
  NonfreeKernelModules: wl
  ApportVersion: 2.20.11-0ubuntu27
  Architecture: amd64
  CasperMD5CheckResult: skip
  CurrentDesktop: ubuntu:GNOME
  Date: Sun Apr 26 13:53:28 2020
  DisplayManager: gdm3
  InstallationDate: Installed on 2020-04-23 (3 days ago)
  InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
  ProcEnviron:
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/usr/bin/zsh
  RelatedPackageVersions: mutter-common 3.36.1-3ubuntu3
  SourcePackage: gnome-shell
  UpgradeStatus: Upgraded to focal on 2020-04-26 (0 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1875245/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to