Can't run dual screen while using Nvidia driver
I'm using nvidia closed-source driver and I cannot run in multihead (TwinView) simply because nvidia does not support Xrand yet, take a look at the xrandr output while I have the two screens attached
xrandr: Failed to get size of gamma for output default Screen 0: minimum 320 x 175, current 3120 x 1050, maximum 3120 x 1050 default connected 3120x1050+0+0 0mm x 0mm 1440x900 50.0 52.0 98.0 1024x768 51.0 52.0 53.0 54.0 55.0 832x624 56.0 800x600 57.0 58.0 59.0 60.0 61.0 62.0 63.0 64.0 720x400 65.0 700x525 66.0 67.0 640x512 68.0 69.0 70.0 640x480 71.0 72.0 73.0 74.0 75.0 76.0 640x400 77.0 640x350 78.0 576x432 79.0 512x384 80.0 81.0 82.0 83.0 84.0 416x312 85.0 400x300 86.0 87.0 88.0 89.0 90.0 360x200 91.0 320x240 92.0 93.0 94.0 95.0 320x200 96.0 320x175 97.0 3120x1050 98.0 51.0 53.0*
As you can see, Xrandr actually thinks that the two monitors are one big fat screen..
I have a good lead on how to fix this, I ran into this problem before using Awesome when they reverted one of their commits, fortunately they fixed it by using another method (Please see the next section) if Xrandr nor Xinerama worked (returned one screen)
So I guess for subtle, this method should be added on line 121 of source:src/subtle/screen.c, if both Xrandr and Xinerama found one monitor fallback to the another method
A good read:
Awesome does this (in their respective screen.c) at line '246':http://git.naquadah.org/?p=awesome.git;a=blob;f=screen.c;h=1e4fc22d7ba53861593ae7690d9ab15591023e2b;hb=e830df60920496670ab29d5307f3ef5c1dab1d97#l246, they call screen_scan_randr() and screen_scan_xinerama() if both fails they call 'screen_scan_x11()':http://git.naquadah.org/?p=awesome.git;a=blob;f=screen.c;h=1e4fc22d7ba53861593ae7690d9ab15591023e2b;hb=e830df60920496670ab29d5307f3ef5c1dab1d97#l225)
I have never done X11 development, I hope one day I will, and I have no prior experience with XCB, so the another method I was talking about, I couldn't figure out how it works so I have no way of patching subtle myself.
I need a patch to make this work with Nvidia and I need it fast, I'm using Subtle as my main window manager (Simply because it rocks, don't let me start on this topic... :) ), but I require two monitors for my work, so I would really appreciate your hard work on this, very urgent, BUG..
#1 Updated by Christoph Kappel about 7 years ago
- Status changed from Unconfirmed to Feedback
- Priority changed from 7 to High
Are you using stable or devel? When devel, did you try to disable RandR with -n? subtle will skip RandR and use xinerama in this case. I know several people with the same problem and -n solved it entirely.
#5 Updated by Wael Nasreddine about 7 years ago
Christoph Kappel wrote:
Latest version from git? The git repository is horrible outdated, please use the mercurial one on hg.subforge.org. -n or --no-randr in long format tells subtle to use xinerama instead of RandR.
Oops my bad, I meant mercurial, I'm just used to say from git nowadays :)
It's what I tried and it works (I have yet to learn how to switch screen or send clients from screen to another) but the setup seems fairly usable for now..
But like I said, since there are many laptops that comes with Nvidia, you could activate a part of the --no-randr option and that is to check Xinerama if RandR failed to detect more than one screen
Thank you! Keep up the good work !
#6 Updated by Christoph Kappel about 7 years ago
The problem is that is not usually the case, I heard from many nvidia users especially from users of the nouveau driver, that xrandr detects two screens but with wrongs resolutions, wrong order and problems like that. Adding an option to disable the use of randr seems the better option for me.
I just need to add more docs about this, I started the multihead page, but since you already edited it, it's not even close to finish. Coding usually uses most of my time. ;)