← Back to team overview

desktop-packages team mailing list archive

[Bug 1326688] Re: Can't disable panning on multiple monitors

 

I have these problems on a W520 (i.e. Nvidia driver), but on Arch Linux.
Still, what I have found, and a workaround:

The Nvidia driver will try to make the whole size of the screen (set
with xrandr --fb or by placing monitors) accessible with the monitors it
has, and if need be with panning. It will ignore or overwrite all
attempts to disable that panning if the driver thinks you need it. (It's
a feature, they brag about it under question "How are virtual screen
dimensions determined in TwinView?" at
http://us.download.nvidia.com/XFree86/Linux-
x86_64/346.35/README/configtwinview.html

On my setup, I use two external monitors that are connected to the Nvidia card along with the built-in monitor that is connected to the internal Intel chip.  The intel chip servers as a Sink provider for the Nvidia driver, so all three monitors form a single screen, like so:
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --fb 5760x1200
   --output LVDS-1-0 --mode 1920x1080 --pos 3840x120
   --output VGA-0 --mode 1920x1200 --pos 1920x0
   --output DP-3 --mode 1920x1200 --pos 0x0

The nvidia driver (so it seems) will accept that the whole screen is now
5760x1200 big, but only uses the two monitors that are actually
connected to the card to "cover" that area with panning. So the right-
most laptop display worked fine, while the two monitors would pan along
left and right.

I have worked around this by abusing that while the Nvidia driver ignores or overwrites the core panning parameters, it doesn't meddle with the panning border. I modified the command above like so:
xrandr --fb 5760x1200
--output LVDS-1-0 --mode 1920x1080 --pos 3840x120 --panning 5760x1200+0+0/0x0+0+0/-3840/0/0/0 
--output VGA-0 --mode 1920x1200 --pos 1920x0 --panning 5760x1200+0+0/0x0+0+0/-1920/0/-1920/0 
--output DP-3 --mode 1920x1200 --pos 0x0 --panning 5760x1200+0+0/0x0+0+0/0/0/-3840/0

This sets the borders that trigger the panning so far out that they are
all off screen. So panning is technically still enabled but impossible
to trigger.

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

Title:
  Can't disable panning on multiple monitors

Status in xorg-server package in Ubuntu:
  Confirmed

Bug description:
  System:

  Dell laptop E6520 with two graphic cards:

  00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
  01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [NVS 4200M] (rev a1) (prog-if 00 [VGA controller])

  I have 3 monitors connected through docking stations, DP-0 and DP-1
  connected to Nvidia card and VGA-1-0 connected to Intel card.

  I'm usind nvida-331 driver and nvidia-prime:

  nbr@nbr-nb:~$ dpkg --get-selections | grep nvidia
  nvidia-331					install
  nvidia-common					install
  nvidia-libopencl1-331				install
  nvidia-opencl-icd-331				install
  nvidia-prime					install
  nvidia-settings					install

  I can setup correctly this triple-head config with Monitor Settings in
  Ubuntu Control Panel, but this enable panning as per xrandr output:

  nbr@nbr-nb:~$ xrandr -q | grep conn
  VGA-0 disconnected (normal left inverted right x axis y axis)
  LVDS-0 disconnected (normal left inverted right x axis y axis)
  DP-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm panning 2560x1024+0+0 tracking 4240x1050+0+0 border 0/0/0/0
  DP-1 connected primary 1680x1050+1280+0 (normal left inverted right x axis y axis) 433mm x 270mm panning 2960x1050+1280+0 tracking 4240x1050+0+0 border 0/0/0/0
  HDMI-0 disconnected (normal left inverted right x axis y axis)
  DP-2 disconnected (normal left inverted right x axis y axis)
  DP-3 disconnected (normal left inverted right x axis y axis)
  LVDS-1-0 connected
  VGA-1-0 connected 1280x1024+2960+0 376mm x 301mm

  and it seems there is no way to disable it (even issuing xrandr with
  --panning 0x0+0+0 option to DP-0 and DP-1 has no effect).

  This was working correctly after a undock/dock of the laptop, maybe an
  update broke config since it has always showed problems with
  undock/dock, but a reboot always cured the situation. Now it can't be
  setup like initial config anymore (three indipendent monitors with no
  panning and windows moving around all monitors).

  
  other sysinfo:

  nbr@nbr-nb:~$ lsb_release -rd
  Description:	Ubuntu 14.04 LTS
  Release:	14.04
  nbr@nbr-nb:~$ apt-cache policy nvidia-331
  nvidia-331:
    Installato: 331.38-0ubuntu7
  nbr@nbr-nb:~$ apt-cache policy nvidia-prime
  nvidia-prime:
    Installato: 0.6.2
  nbr@nbr-nb:~$ apt-cache policy xserver-xorg
  xserver-xorg:
    Installato: 1:7.7+1ubuntu8

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1326688/+subscriptions