This bug is related to: https://bugs.freedesktop.org/show_bug.cgi?id=38759 I was trying to get a 2-cards-3-monitors set-up working. I finally did it after updating to bleeding edge X and using ZaphodHeads option. 3 monitors xorg.conf: http://wklej.org/id/555276/txt/ (working) 4 monitors xorg.conf: http://wklej.org/id/559775/txt/ (failing) The only difference between those two configs is making use of 4th monitor. 3 monitors Xorg.0.log: http://wklej.org/id/559778/txt/ (working) 4 monitors Xorg.0.log: http://wklej.org/id/559777/txt/ (failing) Error message: Screen(s) found, but none have a usable configuration. After `service gdm restart` main screen blinks 5 times and goes back to console. Ubuntu 11.04 - Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux (this didn't work on Ubuntu 10.10 either) Packages version: libdrm-nouveau1a 2.4.26+git20110604.6dd804c5-0ubuntu0sarvatt~natty xserver-xorg-video-nouveau 1:0.0.16+git20110623.ab89aa02-0ubuntu0sarvatt~natty (from https://launchpad.net/~xorg-edgers/+archive/ppa)
Some need insights, thanks to pq from #nouveau irc channel. 4 monitors work when using a 3-monitors setup - the third and fourth monitor display the same picture (clone). What's interesting - this shouldn't happen as ZaphodHeads is set. Maybe it's a bug that makes ZaphodHeads work on the first graphic card only? Here's xrandr output for each screen. http://wklej.org/id/559818/txt/ (I had to disable Xinerama for a while to get the xrandr output) 3-monitors xorg.conf: http://wklej.org/id/555276/txt/
s/need insights/new insights/
I tried combining ZaphotHeads on the first card and use one virtual-sized Screen on the second card. http://wklej.org/id/559842/ As long as I have Xinerama off, it works. I get 3 independent X screens on four monitors. However, when I enable Xinerama, the strange behaviour from my first bug report appears. The video is there. https://bugs.freedesktop.org/show_bug.cgi?id=38759 So there are two alternative ways of resolving the issue: - fix ZaphodHeads work on two cards, four monitors - fix the strange behaviour from the video when using virtual screens - ...or tell me what I did wrong in xorg.conf so I get the error message: Screen(s) found, but none have a usable configuration. It's the preferred way. :)
Created attachment 48986 [details] [review] debug output Can you please try the patch on a 3 and 4 monitor setup and attach the Xorg.log My best guess is that the total number of monitors is limited to the number of connectors on the primary card
I git pulled the drivers and applied your patch. Apparently it works - although your patch prints debug info only, you say. 21:03 < Nowaker> xexaxo: your patch made those four monitors working :) 21:04 < Nowaker> xexaxo: sorry for testing it out so late but I played OpenTTD with my friends for three days in a row, and then got some work to do 21:10 < xexaxo> Nowaker: the patch or the configuration ? 21:10 < xexaxo> the patch only added some debug output 21:11 < Nowaker> xexaxo: the patch 21:11 < Nowaker> xexaxo: so someone fixed the issue in meantime on git 21:12 < Nowaker> I'm just uploading the logs 21:12 < xexaxo> Nowaker: can you make sure that it's the patch, and try attaching the Xorg.log with/wo the patch (3 and 4 monitors please) http://wklej.org/id/563568/txt/ - git+patch - 3-setup (working) http://wklej.org/id/563558/txt/ - git+patch - 4-setup (working) After `git reset --hard` http://wklej.org/id/563575/txt/ - git - 3-setup (working) http://wklej.org/id/563572/txt/ - git - 4-setup (failing the same way) Looks like you really fixed it: + if (!IsShared || ScreenEq ) // <- this! drmmode_crtc_init(pScrn, drmmode, i); I made sure it's you who fixed the problem - twice. ;)
Created attachment 49279 [details] [review] Final patch I was not able to oversee the issue while creating the initial patch The issue lies within a missing (or actually 3) brackets, causing incorrect argument to the function xf86IsEntityShared() It must be * xf86IsEntityShared(pScrn->entityList[0]) while currently it is * xf86IsEntityShared(pScrn->entityList[0] || pScrn->confScreen->device->screen == i) Please test Emil
Created attachment 49281 [details] [review] Fix yet another silly typo I've added a bit too many brackets It should be finally resolved
Latest patch resolves the issue and has been upstreamed
Yep, working! OpenTTD on four screens: http://upload.nowaker.net/nwkr/4-monitory.jpg However, this is a fake photo. The game is not playable - looks like ~~20 fps. ;) Thanks for fixing the issue.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.