[Nouveau] Cannot start a secondary Xserver with resolution 6480x3840

Ilia Mirkin imirkin at alum.mit.edu
Mon Jan 21 18:50:36 UTC 2019


Hi Janek,

A few things...

First off, you're not using the nouveau ddx, you're using the
modesetting ddx. This isn't a problem in itself, but if you're going
to report bugs, you should file them against the proper component.

Secondly, I'm a bit unclear as to what your setup is. A single X
server takes over a whole GPU. Recently "leasing" has been introduced
which enables a drm master to "lease" certain outputs to another
process, but I haven't played much with it. If you want different X
servers for each (or groups of) outputs of a single GPU, then you need
to get leasing going.

I'm not sure as to your precise use-case, but perhaps another option
is to have a single X server with multiple X screens. This can be done
by enabling ZaphodHeads. This was a common way to get a mega-screen
across multiple GPUs prior to output slaving being introduced, there's
a guide here https://nouveau.freedesktop.org/wiki/MultiMonitorDesktop/
.

Lastly, note that no matter how many physical outputs there might be,
Kepler+ only supports 4 CRTC's and earlier gens had 2. That puts a
hw-imposed upper limit on the number of images that can be produced
for these outputs.

Cheers,

  -ilia

On Mon, Jan 21, 2019 at 9:42 AM Janek Kozicki
<janek.listy.mailowe at gmail.com> wrote:
>
> Hi,
>
> In my workflow I am using several separate xservers. One for work,
> another for research and so on. Each of them has a separate user
> account, and they all belong to the same (main) group called janek.
>
> I've been using nvidia for years, but about 2 years ago some super
> annoying bug appeared in nvidia, namely that switching between
> virtual terminals sporadically causes nvidia_modeset to freeze all
> virtual terminals. Then I can only ssh remotely to investigate the
> problem. And rmmod nvidia would not work, or anything else
> whatsovever. The only way to unlock virtual terminals is a reboot,
> which I hate, because I often have calculations running for months.
>
> So I am hoping that noveau will work now! Alas it is not. When I
> configure xrandr to use all my LCD screens in  ~/.xsession using this
> command line:
>
> xrandr --output HDMI-1 --off --output DP-1 --mode 3840x2160 --pos 2160x0 --rotate left --output DVI-D-1 --off --output DP-2 --mode 3840x2160 --pos 0x0 --rotate left --output DP-3 --mode 3840x2160 --pos 4320x0 --rotate left
>
> then only single Xserver can start up. Other Xservers have a segfault
> upon startup. If I use only one LCD screen then I can start multiple
> Xservers, but that is obvioulsy a waste of two screens! :)
>
> The crash log is following:
>
> [   963.513] (EE)
> [   963.513] (EE) Backtrace:
> [   963.513] (EE) 0: /usr/lib/xorg/Xorg (xorg_backtrace+0x4a) [0x5566a8b8466a]
> [   963.513] (EE) 1: /usr/lib/xorg/Xorg (0x5566a89cb000+0x1bd3f9) [0x5566a8b883f9]
> [   963.513] (EE) 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fc673b06000+0x110c0) [0x7fc673b170c0]
> [   963.513] (EE) 3: /lib/x86_64-linux-gnu/libc.so.6 (0x7fc673767000+0x83f74) [0x7fc6737eaf74]
> [   963.513] (EE) 4: /usr/lib/xorg/modules/libshadow.so (shadowUpdatePacked+0x1da) [0x7fc6690dab7a]
> [   963.513] (EE) 5: /usr/lib/xorg/modules/drivers/modesetting_drv.so (0x7fc66f454000+0x8ecb) [0x7fc66f45cecb]
> [   963.513] (EE) 6: /usr/lib/xorg/modules/libshadow.so (0x7fc6690d8000+0x15a9) [0x7fc6690d95a9]
> [   963.513] (EE) 7: /usr/lib/xorg/modules/libshadow.so (0x7fc6690d8000+0x1624) [0x7fc6690d9624]
> [   963.513] (EE) 8: /usr/lib/xorg/modules/drivers/modesetting_drv.so (0x7fc66f454000+0xa113) [0x7fc66f45e113]
> [   963.513] (EE) 9: /usr/lib/xorg/modules/drivers/modesetting_drv.so (0x7fc66f454000+0xa3aa) [0x7fc66f45e3aa]
> [   963.513] (EE) 10: /usr/lib/xorg/Xorg (BlockHandler+0xb1) [0x5566a8a240d1]
> [   963.513] (EE) 11: /usr/lib/xorg/Xorg (WaitForSomething+0x141) [0x5566a8b81f01]
> [   963.513] (EE) 12: /usr/lib/xorg/Xorg (0x5566a89cb000+0x5445a) [0x5566a8a1f45a]
> [   963.513] (EE) 13: /usr/lib/xorg/Xorg (0x5566a89cb000+0x586a8) [0x5566a8a236a8]
> [   963.513] (EE) 14: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf1) [0x7fc6737872e1]
> [   963.513] (EE) 15: /usr/lib/xorg/Xorg (_start+0x2a) [0x5566a8a0d33a]
> [   963.513] (EE)
> [   963.513] (EE) Bus error at address 0x7fc6548a4000
>
> Note: I installed package xserver-xorg-video-nouveau-dbg 1:1.0.13-3,
> but this did not help in making above errors more informative.
>
> While in a working Xorg.0.log there is instead a message:
>
> [    61.898] (II) modeset(0): Allocate new frame buffer 6480x3840 stride
> [    62.021] (II) modeset(0): Disabling kernel dirty updates, not required.
> [   224.753] (II) modeset(0): EDID vendor "DEL", prod id 53380
> [   224.754] (II) modeset(0): Using EDID range info for horizontal sync
> [   224.754] (II) modeset(0): Using EDID range info for vertical refresh
> [   224.754] (II) modeset(0): Printing DDC gathered Modelines:
> [   224.754] (II) modeset(0): Modeline "3840x2160"x0.0  533.25  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync (133.3 kHz eP)
>
>
> So evidently nouveau cannot allocate another framebuffer with size 6480x3840
>
>
> I am using devuan ascii with latest linux kernel 4.20.3, which I have just compiled using these commands:
>
> cd /home/deb/linux-image
> unxz -c linux-4.20.3.tar.xz | gpg --verify linux-4.20.3.tar.sign -
> unp ./linux-4.20.3.tar.xz
> cd linux-4.20.3
> cp /boot/config-`uname -r` ./.config
> make menuconfig
> time fakeroot make-kpkg --initrd --append-to-version=-absurd.2 kernel_image kernel_headers -j40
>
>
> I will be happy to provide more information, just tell me what you need.
>
> can you help me?
> --
> # Janek Kozicki
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau


More information about the Nouveau mailing list