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>
Ilia Mirkin
2019-Jan-22 02:37 UTC
[Nouveau] Cannot start a secondary Xserver with resolution 6480x3840
The scenario you describe should most definitely work -- switching between different instances of X running on different vt's. Your GPU has 4 CRTC's (Kepler, then Maxwell, then Pascal -- that's your generation), which means you can have up to 4 heads at the same time. Here's a config that I use to get both of my monitors to come up the way I want them to, using the nouveau ddx, without messing with randr on startup: Section "Monitor" Identifier "Mon0" Option "Rotate" "left" EndSection Section "Monitor" Identifier "Mon1" Option "Rotate" "right" Option "RightOf" "DVI-D-1" EndSection Section "Device" Identifier "Card0" Driver "nouveau" BusID "PCI:2:0:0" Option "Monitor-DVI-D-1" "Mon0" Option "Monitor-HDMI-1" "Mon1" EndSection Presumably you want the same setup for all your instances of X, but in case that's not the case, you can have multiple different configs, and invoke them with Xorg -config <name of config>. If you still have problems, I'd encourage you to join #nouveau on irc.freenode.net -- much easier to resolve such issues in realtime. Cheers, -ilia On Mon, Jan 21, 2019 at 2:32 PM Janek Kozicki <janek.listy.mailowe at gmail.com> wrote:> > Uh, I wanted to attach the Xorg.0.log, but I got a reply that it is > too big. How can I send to mailing list with attachments? Or is it > fine to wait for moderator approval? > > > > 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 > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau
Janek Kozicki
2019-Jan-23 11:10 UTC
[Nouveau] Cannot start a secondary Xserver with resolution 6480x3840
Thanks a lot for helping with this stuff on irc! I would like to report more stuff :) 1. xterm refresh is slow when scrolling. On nvidia drivers that was an instant refresh. I made a video to make you believe: https://www.youtube.com/watch?v=W2_DnniDaGI If it is so slow, then maybe profiling this can be a lot easier to spot which function takes so much time. I have recompiled xserver-xorg-video-nouveau-1.0.15 and linux-kernel 4.20.3, so it's not a problem for me to apply some debugging and profiling patches so that we could find which function call is to blame. 2. that kernel oops happened twice WARNING: CPU: 22 PID: 18282 at drivers/gpu/drm/nouveau/nvif/vmm.c:71 nvif_vmm_put+0x65/0x70 [nouveau] maybe I will nail it down. It first triggered when I logged out from the fourth xserver, or to be more precise here's what I did: 1. reboot PC 2. start 1st xserver on vt11 2. start 2nd xserver on vt2 3. start 3rd xserver on vt4 4. start 4th xserver on vt5 5. chat on irc on vt11 6. switch to vt5 then click to log out of the xserver. Then this bug appeared. 7. afterwards whenever I exited xserver the screens would all turn off, Ctrl-Alt-Fn did not work, and the only way to recover virtual terminals is to ssh remotely then type as root command like `chvt 11` I am willing to try some profling patches to fix xterm scrolling issue. Buy while applying debug patches we might as well investigate this kernel oops. 3. Last but not least chromium is very slow. Upon startup it prints: [752:752:0123/115707.192705:ERROR:browser_dm_token_storage_linux.cc(93)] Error: /etc/machine-id contains 0 characters (32 were expected). nvc0_screen_create:937 - Error allocating PGRAPH context for 3D: -22 libGL error: failed to create dri screen libGL error: failed to load driver: nouveau ATTENTION: default value of option force_s3tc_enable overridden by environment. [798:798:0123/115707.556802:ERROR:sandbox_linux.cc(364)] InitializeSandbox() called with multiple threads in process gpu-process. [752:870:0123/115707.684864:ERROR:bus.cc(396)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [752:752:0123/115708.836775:ERROR:x11_input_method_context_impl_gtk.cc(149)] Not implemented reached in virtual void libgtkui::X11InputMethodContextImplGtk::SetSurroundingText(const string16&, const gfx::Range&) libpng warning: iCCP: known incorrect sRGB profile Writing text in chromium is very slow. The letters appear after I wrote almost entire sentence. I did not backport mesa packages yet, so I am without acceleration. Would mesa help here? Or can we do someting to do some profiling here too? best regards Janek PS: a note for other people which might be interested: Finally my xorg.conf is following: Section "Monitor" Identifier "MonLeft" Option "Rotate" "left" EndSection Section "Monitor" Identifier "MonCenter" Option "Rotate" "left" Option "RightOf" "DP-2" EndSection Section "Monitor" Identifier "MonRight" Option "Rotate" "left" Option "RightOf" "DP-1" EndSection Section "Device" Identifier "Card0" Driver "nouveau" BusID "PCI:4:0:0" Option "Monitor-DP-2" "MonLeft" Option "Monitor-DP-1" "MonCenter" Option "Monitor-DP-3" "MonRight" EndSection Ilia Mirkin said: (by the date of Mon, 21 Jan 2019 21:37:54 -0500)> The scenario you describe should most definitely work -- switching > between different instances of X running on different vt's. > > Your GPU has 4 CRTC's (Kepler, then Maxwell, then Pascal -- that's > your generation), which means you can have up to 4 heads at the same > time. > > Here's a config that I use to get both of my monitors to come up the > way I want them to, using the nouveau ddx, without messing with randr > on startup: > > Section "Monitor" > Identifier "Mon0" > Option "Rotate" "left" > EndSection > > Section "Monitor" > Identifier "Mon1" > Option "Rotate" "right" > Option "RightOf" "DVI-D-1" > EndSection > > Section "Device" > Identifier "Card0" > Driver "nouveau" > BusID "PCI:2:0:0" > > Option "Monitor-DVI-D-1" "Mon0" > Option "Monitor-HDMI-1" "Mon1" > EndSection > > Presumably you want the same setup for all your instances of X, but in > case that's not the case, you can have multiple different configs, and > invoke them with Xorg -config <name of config>. > > If you still have problems, I'd encourage you to join #nouveau on > irc.freenode.net -- much easier to resolve such issues in realtime. > > Cheers, > > -ilia > > On Mon, Jan 21, 2019 at 2:32 PM Janek Kozicki > <janek.listy.mailowe at gmail.com> wrote: > > > > Uh, I wanted to attach the Xorg.0.log, but I got a reply that it is > > too big. How can I send to mailing list with attachments? Or is it > > fine to wait for moderator approval? > > > > > > > > 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 > > _______________________________________________ > > Nouveau mailing list > > Nouveau at lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/nouveau-- # Janek Kozicki http://janek.kozicki.pl/
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
- [Bug 16911] New: xserver EXA optimization causes nv31 to crash
- [ANNOUNCE] xorg-server 1.18.0