![]() |
|
|
#1 | |
|
Registered User
Join Date: Sep 2007
Posts: 3
|
Hi,
I'm trying to find a configuration that allows me to dynamically add an external monitor. When I do a presentation I don't want to logout etc., I would like to press a few buttons and have the second screen available. Just like any windows user. I have: Lenovo Thinkpad T61 with nVIDIA Quadro NVS 140M Gentoo Linux kernel 2.6.23-rc6-git4 nvidia-drivers-100.14.19 kde 3.5.7 I spent hours on this with lots of configurations...the closest I did get is the following configuration. With it, if the ext. monitor is connected on X start(!),I can use nvidia-settings to turn it off. Afterwards, I can turn it on again...all is fine, my dream! Unfortunately, if the monitor is not connected on X start, I can turn it on with nvidia-settings, display is fine, but windows are maximized across both screens, kicker is stretched across both screens etc. killall kwin && kwin doesn't help. If someone knows a window manager that works, please tell me, I'll use it. It probably isn't a WM problem though, since it persists if I restart kwin. I also tried using the ConnectedMonitor option, unfortunately I didn't get that to work either... Thanks for any help Code:
Section "Device"
Identifier "nvidia"
Option "NvAGP" "1"
Driver "nvidia"
Option "AddARGBGLXVisuals" "1"
Option "UseEdidDpi" "FALSE"
Option "DPI" "96 x 96"
Option "TwinView" "1"
Option "UseDisplayDevice" "DFP-0,CRT-0"
Option "MetaModes" " DFP-0: 1440x900,CRT-0: 1280x1024; DFP-0: 1440x900,NULL"
Option "TwinViewOrientation" "DFP-0 LeftOf CRT-0"
Option "TwinViewXineramaInfoOrder" "DFP-0,CRT-0"
EndSection
Section "Screen"
Identifier "Screen 1"
Device "nvidia"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1440x900"
EndSubsection
EndSection
|
|
|
|
|
|
|
#2 |
|
Moderator
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,103
|
In short window managers use 'Xinerama' (an X extension) to query information about the connected displays. This allows them to maximize on only a single monitor.
The problem is that Xinerama (which Twinview emulates) is only active when X is started in multimonitor mode. If you enable the second monitor while you are in X, xinerama won't be there and you get the problems like which you described. You could say that this is a problem of X. As of the new Xorg 7.3 there is 'randr 1.2' which allows video drivers to also add monitors while X is running. All drivers will support this in the near future as it is the new X standard for adding monitors while you are in X. I expect it to solve the enable 'xinerama' problem (to be exact randr will emulate xinerama). You have to wait until the nvidia drivers support this. I expect this in the near future. |
|
|
|
| Sponsored Ads - Guests Only | |
|
|
|
|
#3 |
|
Registered User
Join Date: Sep 2007
Posts: 3
|
Thanks for your reply, I thought something like that might be the problem.
But it seems I found a workaround! Not perfect yet, but maybe with a little help from you guys it might be. The ConnectedMonitor option is the clue. Xinerama will be setup although there is no second monitor. Afterwards one can enable and disable the second monitor in nvidia-settings and kde plays along. I'd love to have that scripted(since X always starts with two monitors that way), maybe someone can help. I tried "nvidia-settings -q all" but didn't find any attribute for enabling/disabling a monitor. Since you set the refreshrate to off in the front-end to disable a monitor I thought that must be it, but the attribute is read-only Any suggestions?My problem earlier was that nvidia-settings didn't allow me to select higher resolutions than 640x480 for the (on X start unconnected) second monitor, even after connecting and selecting "detect"...seems edid info isn't updated. Therefore, I disabled all the edid options I could find for the CRT and it does work now. I have to switch the vertrefresh to 60 in nvidia-settings(option vertrefresh doesnt help for some reason) but then display is fine. I really hope this will work soon...it's such a basic thing for a notebook and those are the times when people laugh about you cause you're a linux user, and they are right to do so... If there'd be an option in the driver that enables xinerama when X starts although there is no second monitor, that would already solve the problem... Code:
Section "Device" Identifier "nvidia" Option "NvAGP" "1" Driver "nvidia" Option "AddARGBGLXVisuals" "1" Option "UseEdidDpi" "FALSE" Option "DPI" "96 x 96" Option "TwinView" "1" Option "UseDisplayDevice" "DFP-0,CRT-0" Option "ConnectedMonitor" "DFP-0,CRT-0" Option "MetaModes" " DFP-0: 1440x900,CRT-0: 1280x1024" Option "HorizSync" "CRT-0: 31.5-48.5" Option "VertRefresh" "CRT-0: 60" Option "ModeValidation" "CRT-0: NoMaxPClkCheck,NoEdidMaxPClkCheck,NoHorizSyncCheck,NoVertRefreshCheck" Option "TwinViewOrientation" "DFP-0 LeftOf CRT-0" Option "TwinViewXineramaInfoOrder" "DFP-0,CRT-0" Option "TwinViewXineramaInfoOverride" "1440x900+0+0,1280x1024+1440+0" EndSection |
|
|
|
|
|
#4 |
|
Registered User
Join Date: Sep 2007
Posts: 3
|
After reading through nvidia-settings source and realizing its all a xrandr thing, I finally found the last bit of my solution...simply using xrandr to switch!
Code:
$ xrandr Screen 0: minimum 1440 x 900, current 2720 x 1024, maximum 2720 x 1024 default connected 2720x1024+0+0 0mm x 0mm 2720x1024 50.0 51.0 53.0* 1440x900 52.0 51.0 2464x900 51.0 1440x1024 52.0 $ xrandr -r 51 -s 1440x900 (single monitor) $ xrandr -r 53 -s 2720x1024 (dual) Beautiful! kwin works like a charm. Compiz-fusion won't recognize the second monitor without a restart...but hey, at least it won't crash ![]() |
|
|
|
![]() |
| Most Popular NVIDIA Based Graphics Cards | |
|
|
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
|
|