Weird snapping on external monitor

Hi all. Just installed 20.04 and initially it did not detect my external monitor. Got around this by purging the default nvidia drivers using the following method:

sudo apt-get purge nvidia*
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
sudo apt-get install nvidia-384

I tried newer versions but didn’t work. Anyway, I got it detected, resolution looks good, everything looks normal, apart from one thing: the system is convinced that the desktop resolution of the external monitor is smaller than it actually is on the screen! This is seen through the maximize button on windows and also the snapping. There’s a video demonstrating this here: https://drive.google.com/file/d/1VSQsyD0wr-mOjviXJhB9QmU0_EsclWR3/view?usp=sharing

Any ideas? Thanks!

@vlijm - Does that not kind of look like it is conforming to the shuffler grid?

@leaanthony - DId you ever enable shuffler from the “Window Shuffler Control” app?

@leaanthony @bashfulrobot Not related to shuffler in any way, these are x11 related issues.
Question: do you by any chance have a panel or plank at the right side of your primary screen, or otherwise not on the edge of the spanning monitor layout?
You could try the following: remove ~/.config/monitors.xml, immediately log out and back in.

…maybe first backup that file as ~/.config/monitors_old.xml just in case.
Might be also interesting to see what this file says about your monitors.

Nah, monitors.xml is not something to backup, unless you have a specific reason to keep it. It just remembers the monitors you attached and how you arranged, which is just as much work as backing up :slight_smile:

I remind modifying many times this monitors.xml file, on multi monitors setups to achieve a pixel perfect display.

Thanks for the suggestions.

Removing that file and logging out and back in again fixes it - sort of: he external monitor is considered the primary display and switching them causes the same issue to reappear. This time though, the desktop dimensions appear to be the last third of the screen:

Sounds like buggy nvidia graphics drivers.

BTW nvidia-384 doesn’t exist in 20.04. Its a transitional package and you have installed the 390 drivers.

Slightly newer 390 drivers exists in that PPA https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa/+packages?field.name_filter=&field.status_filter=published&field.series_filter=focal - but 390 drivers also exists in the normal repo. So don’t think you need the PPA.

The PPA also has 430, 435 and 440 - but all of those also exists in the normal repositories

Have you looked at nvidia-settings - anything there to fiddle with in this area?

I’ll try upgrading the drivers and see what happens.

To add to @fossfreedom’s post, maybe use first

sudo ppa-purge ppa:graphics-drivers

and then only install nvidia drivers from official ubuntu repositories.

So I’ve tried removing the PPA, reinstalling the drivers, rebooting, removing monitor.xml, logging back in for nvidia-435 and 440 and the same thing happens. I’m at a loss.

Have we ruled out cable issues? I.e. if using hdmi what happens if you use a VGA cable?

Edit:

Also in that screenshot you has display 1 and 2 vertically. If you drag 2 or 1 so that the displays are horizontally aligned does that help?

I’ve definately ruled that out as it worked fine prior to upgrade.

please do check “Also in that screenshot you has display 1 and 2 vertically. If you drag 2 or 1 so that the displays are horizontally aligned does that help?”

It might do, but vertical is how I physically have my monitors.

It’s just for testing - I guess for trying to evaluate how the positions and orientations of your screens affects the « calculations » of tiling in window manager.

Would you mind posting here the content of your monitors.xml file ?

  <monitors version="2">
  <configuration>
    <logicalmonitor>
      <x>2504</x>
      <y>2160</y>
      <scale>1</scale>
      <monitor>
        <monitorspec>
          <connector>eDP-1-1</connector>
          <vendor>SHP</vendor>
          <product>LQ156M1JW03</product>
          <serial>0x00000000</serial>
        </monitorspec>
        <mode>
          <width>1920</width>
          <height>1080</height>
          <rate>240</rate>
        </mode>
      </monitor>
    </logicalmonitor>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <primary>yes</primary>
      <monitor>
        <monitorspec>
          <connector>DP-0</connector>
          <vendor>AOC</vendor>
          <product>U2868-1</product>
          <serial>0x000001f7</serial>
        </monitorspec>
        <mode>
          <width>3840</width>
          <height>2160</height>
          <rate>59.996623992919922</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
</monitors>

From these, I’d say
⋅ the big AOC is your primary, and serves as reference for position.
⋅ induild SHP position seems to be above and rather right of the AOC, correct ?
You may play with its x and y value to see how it changes position, line 4 and 5.
⋅ the rate of the inbuild one looks quite impressive, 240 ? I don’t know if that is the problem but I certainly wonder if it’s normal or expected.
⋅ scale is 1 for both which seems wise for the moment.
⋅ no rotation anywhere, good too.

Do you have nvidia-settings installed ? And maybe also screen-resolution-extra.

So I wanted the other monitor to be primary and that’s where the problems start. It is indeed 240hz. I might just give up on this but appreciate the help.

Maybe in there you’d find more settings to play with…