Janek Kozicki
2019-Jan-21 14:42 UTC
[Nouveau] Cannot start a secondary Xserver with resolution 6480x3840
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
Janek Kozicki
2019-Jan-21 15:50 UTC
[Nouveau] Cannot start a secondary Xserver with resolution 6480x3840
Hi, if you need me to file a bug report, then is that a correct place: https://bugs.freedesktop.org/ ? best regards Janek Kozicki> Hi, > > 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 > > 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
Ilia Mirkin
2019-Jan-21 18:50 UTC
[Nouveau] Cannot start a secondary Xserver with resolution 6480x3840
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
Janek Kozicki
2019-Jan-21 19:27 UTC
[Nouveau] Cannot start a secondary Xserver with resolution 6480x3840
Hi, thank you very much for your reply. I will explain my use case in more detail. First thing is to note that it worked with nvidia (apart from this annoying system freeze which happened roughly every three months).> 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.oh, wow. I don't know what is ddx or modesetting ddx. Google tells me that it is related to intel drivers? But I have nvidia card. And Xorg.0.log refers to nouveau and nv. Please provide me some links where I can learn about the difference between nouveau and ddx.> 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.I press Ctrl-Alt-F2 to switch to text virtual terminal, there I log in as user 'research' and type $ startx -- -nolisten tcp -dpi 100 Thus I start an xserver (owned by user research) which uses three LCD screens 6480x3840 in multihead configuration. All LCD screens are part of the same desktop and part of the same xserver. Then I press Ctrl-Alt-F4 to switch to another text virtual terminal, there I log in as user 'yade' and type $ startx -- -nolisten tcp -dpi 100 On nvidia drivers it works and it starts yet another xserver (owned by user yade) which uses three LCD screens 6480x3840 in multihead configuration. The only way to work as former user 'research' is to press Ctrl-Alt-F2 to switch to its xserver. Then I press Ctrl-Alt-F11 to another text virtual console, there I log in as another user and start third xserver with the same command: $ startx -- -nolisten tcp -dpi 100 I am attaching Xorg.0.log from succesfull startup and a (second) failed startup. I hope that I explained my use case in an understandable manner?> If you want different X > servers for each (or groups of) outputs of a single GPU, then you need > to get leasing going.It's not like this. At single time all GPU outputs go to single xserver. I just switch between xservers by switching virtual terminals (pressing Ctrl-Alt-F2, then Ctrl-Alt-F4).> 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/I am sure that single X server will not work here. Each xserver is owned by different user. I organized it in this way so that command "slay yade" will not interfere with my other working X sessions. I have only one graphics card in my computer, it has three DisplayPort outputs, and they are connected to my three LCD screens.> 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.My graphics card is GeForce GTX 1060 SC 6GB GDDR5 (192 Bit) DVI-D, 3xDP, HDMI Does it mean that with nouveau driver my use-case will work with only 2 screens or with 4 screens? Please note that my use-case works perfectly (except the occasional system freeze roughly every three months) when I use nvidia drivers. 04:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1) (prog-if 00 [VGA controller]) Subsystem: eVga.com. Corp. GP106 [GeForce GTX 1060 6GB] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 11 NUMA node: 0 Region 0: Memory at de000000 (32-bit, non-prefetchable) Region 1: Memory at c0000000 (64-bit, prefetchable) Region 3: Memory at d0000000 (64-bit, prefetchable) Region 5: I/O ports at 7000 Expansion ROM at df000000 [disabled] Capabilities: <access denied> Kernel driver in use: nouveau Kernel modules: nouveau thanks a lot for your help! Janek Kozicki -------------- next part -------------- A non-text attachment was scrubbed... Name: Xorg.0.log Type: text/x-log Size: 117678 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20190121/124b9826/attachment-0002.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: Xorg.1.log Type: text/x-log Size: 88374 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20190121/124b9826/attachment-0003.bin>
Reasonably Related Threads
- Cannot start a secondary Xserver with resolution 6480x3840
- Cannot start a secondary Xserver with resolution 6480x3840
- Cannot start a secondary Xserver with resolution 6480x3840
- Nouveau on a Jetson TK1 problems
- [Bug 35452] Pageflipping + nouveau + compiz + fullscreen == FAIL