Can't use three monitors properly; "xrandr: screen cannot be larger than 8192x8192"

Bug #1776260 reported by Dan Kegel
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
X.Org X server
Unknown
Unknown
xorg-server (Ubuntu)
Incomplete
Undecided
Unassigned

Bug Description

https://www.intel.com/content/www/us.../mini-pcs.html
claims that the Skull Canyon ( NUC6i7KYK ) can handle three 4k displays, so
I'm experimenting with a Skull Canyon running a fresh minimal Ubuntu 18.04.

It works great when plugged into one 4k monitor (via any of the three
ports: hdmi, mini-dp, or type c; all three show up in xrandr as DisplayPort).
It even seems to work ok when I plug in two. Doesn't matter which two.

When I plug in all three, and boot to normal graphical.target mode with the usual gdm
greeter, one of the three screens does show gdm, and allows me to log in.
But I can't seem to get all three screens active at the same time.

Falling back to old school tools, I did 'sudo systemctl set-default multi-user.target'
and rebooted. Logging in, creating a trivial .xinitrc, and doing 'startx'
started the X server, and all three screens show the same output.
So far so good.

But trying to arrange them like this:

$ xrandr --auto --output DP-2 --right-of DP-1 --output DP-3 --right-of DP-2

fails with

xrandr: screen cannot be larger than 8192x8192 (desired size 11520x2160)

Using --above instead of --right-of works, but that's not how the monitors are arranged.

I tried creating /usr/share/X11/xorg.conf.d/85-screen.conf
containing

Section "Screen"
        Identifier "Default Screen"
        DefaultDepth 24
        SubSection "Display"
              Virtual 11520 6480
        EndSubSection
EndSection

and applied it by killing X and doing startx again,
but that gave very strange results: the mouse showed up on two
screens, but .xinit didn't seem to have taken effect, and the
content on the screen was the same as before startx.

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: xserver-xorg-core 2:1.19.6-1ubuntu4
ProcVersionSignature: Ubuntu 4.15.0-22.24-generic 4.15.17
Uname: Linux 4.15.0-22-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.2
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: None
Date: Mon Jun 11 09:49:40 2018
DistUpgraded: Fresh install
DistroCodename: bionic
DistroVariant: ubuntu
ExtraDebuggingInterest: Yes
GraphicsCard:
 Intel Corporation Iris Pro Graphics 580 [8086:193b] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Intel Corporation Iris Pro Graphics 580 [8086:2064]
InstallationDate: Installed on 2018-06-08 (2 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426)
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/@/boot/vmlinuz-4.15.0-22-generic root=UUID=80ac733c-b098-4643-84a4-fe81874f2101 ro rootflags=subvol=@ quiet splash vt.handoff=1
SourcePackage: xorg-server
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/03/2016
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: KYSKLi70.86A.0037.2016.0603.1032
dmi.board.name: NUC6i7KYB
dmi.board.vendor: Intel Corporation
dmi.board.version: H90766-404
dmi.chassis.type: 3
dmi.chassis.vendor: Intel Corporation
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrKYSKLi70.86A.0037.2016.0603.1032:bd06/03/2016:svn:pn:pvr:rvnIntelCorporation:rnNUC6i7KYB:rvrH90766-404:cvnIntelCorporation:ct3:cvr1.0:
version.compiz: compiz N/A
version.libdrm2: libdrm2 2.4.91-2
version.libgl1-mesa-dri: libgl1-mesa-dri 18.0.0~rc5-1ubuntu1
version.libgl1-mesa-glx: libgl1-mesa-glx 18.0.0~rc5-1ubuntu1
version.xserver-xorg-core: xserver-xorg-core 2:1.19.6-1ubuntu4
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev N/A
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:18.0.1-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20171229-1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.15-2

Revision history for this message
Dan Kegel (dank) wrote :
Revision history for this message
Dan Kegel (dank) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Limitations such as "8192x8192" usually come from OpenGL. The GPU/driver will define a maximum resolution for any texture it supports, usually a power of 2, so that looks like it.

In theory a shell or display server should implement extra logic to work around that limitation, but it's still pretty common for them to not (yet) support it.

I've never heard of xrandr making the complaint though. I would expect to hear it from the compositor only. Can you please try logging into "Ubuntu on Wayland" instead? Does that work better?

Changed in mutter (Ubuntu):
status: New → Incomplete
Changed in xorg-server (Ubuntu):
status: New → Incomplete
Revision history for this message
Dan Kegel (dank) wrote :
Download full text (3.1 KiB)

Thanks, I'll try weston-launch when I get a chance, and I'll try it on ubuntu 18.04 with intel graphics.

In the meantime, I checked the maximum size a few systems report, and it does seem to be a property of the graphics hardware and/or driver.

See also http://webglstats.com/webgl2/parameter/MAX_TEXTURE_SIZE

===
+ uname -a
Linux rbb-ubu1604-6 4.4.0-128-generic #154-Ubuntu SMP Fri May 25 14:15:18 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
+ grep maximum
+ xrandr
Screen 0: minimum 8 x 8, current 3840 x 6480, maximum 32767 x 32767
+ lspci
+ grep VGA
03:00.0 VGA compatible controller: NVIDIA Corporation Device 1c03 (rev a1)
+ glxinfo
+ grep string
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1060 6GB/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 390.67
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 390.67
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.67
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

===

+ uname -a
Linux rbb-ubu1804-5 4.17.0-999-generic #201806080237 SMP Fri Jun 8 06:41:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
+ xrandr
+ grep maximum
Screen 0: minimum 320 x 200, current 7680 x 2160, maximum 16384 x 16384
+ lspci
+ grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega [Radeon RX Vega M] (rev c0)
+ glxinfo
+ grep string
server glx vendor string: SGI
server glx version string: 1.4
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
OpenGL vendor string: X.Org
OpenGL renderer string: AMD VEGAM (DRM 3.26.0, 4.17.0-999-generic, LLVM 6.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.0-devel
OpenGL core profile shading language version string: 4.50
OpenGL version string: 3.1 Mesa 18.2.0-devel
OpenGL shading language version string: 1.40
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

===

+ uname -a
Linux rbb-ubu1804-6 4.15.0-23-generic #25-Ubuntu SMP Wed May 23 18:02:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
+ xrandr
+ grep maximum
Screen 0: minimum 320 x 200, current 3840 x 6480, maximum 8192 x 8192
+ lspci
+ grep VGA
00:02.0 VGA compatible controller: Intel Corporation Iris Pro Graphics 580 (rev 09)
+ glxinfo
+ grep string
server glx vendor string: SGI
server glx version string: 1.4
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Iris Pro Graphics 580 (Skylake GT4e)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.0-rc5
OpenGL core profile shading language version string: 4.50
OpenGL version string: 3.0 Mesa 18.0.0-rc5
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.0.0-rc5
OpenGL ES profile shading language version string: Op...

Read more...

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

it works with wayland, this is a known limitation of the modesetting driver and is being fixed upstream:

https://bugs.freedesktop.org/show_bug.cgi?id=102508

Revision history for this message
Dan Kegel (dank) wrote :

Thanks... sounds like it's a hardware limitation, and the fix involves noticing when the limit's being violated, and doing extra work in that case.
I wonder what the framerate impact of that extra work will be.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. This particular bug has already been reported and is a duplicate of bug 1714178, so it is being marked as such. Please look at the other bug report to see if there is any missing information that you can provide, or to see if there is a workaround for the bug. Additionally, any further discussion regarding the bug should occur in the other report. Feel free to continue to report any other bugs you may find.

no longer affects: mutter (Ubuntu)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Dan, please try the workaround:

Log in to "Ubuntu on Wayland" instead of "Ubuntu".

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.