1 |
On 3/6/07, Duncan <1i5t5.duncan@×××.net> wrote: |
2 |
> list-catcher <list-catcher@××××××××××.com> posted |
3 |
> 45EB30CC.9080709@××××××××××.com, excerpted below, on Sun, 04 Mar 2007 |
4 |
> 15:49:16 -0500: |
5 |
> |
6 |
> > Does anyone use twinview to run two monitors at different resolutions? |
7 |
> |
8 |
> I used to. I won't run proprietary kernel modules any more, but the |
9 |
> issues you discuss apply equally well to freedomware drivers (such as the |
10 |
> Radeon driver I use) when used with multiple monitors as well. It's not |
11 |
> an NVidia-only thing. |
12 |
> |
13 |
> > I've got two monitors one on top of the other with the lower |
14 |
> > resolutioned one on top. The one on top (lower resolution) has a dead |
15 |
> > area where the window manager/X thinks exists but doesn't show. |
16 |
> > Sometimes the window manager will put windows there that I can't see. |
17 |
> > |
18 |
> > I'm not sure where the problem is because different window managers |
19 |
> > treat it differently, although the dead space exists in all of them. |
20 |
> |
21 |
> This is a common problem, specifically mentioned in various X |
22 |
> documentation, particularly on xinerama, I've read. "Legacy" window |
23 |
> managers that haven't been updated to work well with xinerama (or any of |
24 |
> the pseudo-xinerama implementations, designated as such because xinerama |
25 |
> specified an interface for working with multiple monitor and/or non- |
26 |
> rectangular display areas that they all use) make what turns out to be an |
27 |
> invalid assumption, that the screen area is rectangular, and entirely |
28 |
> viewable. The xinerama documentation specifically mentions that one may |
29 |
> have problems with window managers not yet updated to understand it, and |
30 |
> so it remains, several years later, with those /still/ not updated. |
31 |
> |
32 |
> Note that Gentoo supports xinerama with its own USE flag, used by most |
33 |
> window managers and perhaps a few other apps as well. I just checked and |
34 |
> the two window managers you mention specifically below (fvwm and fluxbox) |
35 |
> both make use of USE=xinerama. Thus, if you don't have it enabled (I see |
36 |
> you appear to, from the emerge --pretends you listed, but others reading |
37 |
> might not), I'd recommend that you do so, then remerge affected packages |
38 |
> using emerge --newuse world (short form -N). |
39 |
> |
40 |
> > In fvwm, for example, if I maximize a window that is predominately in |
41 |
> > the lower resolutioned monitor it will make that window take up the |
42 |
> > entire visible area not including the dead space. Yet, fvwm does load |
43 |
> > windows in the dead space sometimes and I can drag my cursor into it. |
44 |
> > |
45 |
> > Fluxbox maximizes windows to the entire desktop, both monitors, which is |
46 |
> > annoying but that's another issue, including the dead space. |
47 |
> |
48 |
> It would appear that fvwm is partially adapted to the xinerama |
49 |
> extensions, but either you haven't configured the window placement to |
50 |
> mind xinerama, or it's not fully adapted, since maximize seems to work as |
51 |
> desired but window placement doesn't. |
52 |
> |
53 |
> fluxbox would appear to be less adapted to xinerama. In a way, that's |
54 |
> not surprising however, as it continues to be a "lightweight" window |
55 |
> manager, and part of that "lightweightness" might be /because/ it doesn't |
56 |
> support extensions like xinerama used in more complex cases. |
57 |
> |
58 |
> I wouldn't know the specifics for either package, however, as I'm a KDE |
59 |
> person here. FWIW, kwin and I believe a few other KDE packages make use |
60 |
> of USE=xinerama as well. I'd suggest however, that if you are interested |
61 |
> as it appears you have reason to be, that you check the documentation for |
62 |
> both window managers in regard to xinerama implementation and |
63 |
> configuration. It's possible you have support merged (via USE=xinerama) |
64 |
> but not activated in the respective configurations. |
65 |
> |
66 |
> > xorg.conf is attached. |
67 |
> |
68 |
> snip snip the emerge --pretends and parts of xorg.conf that aren't |
69 |
> relevant... |
70 |
> |
71 |
> > Section "ServerFlags" |
72 |
> > Option "Xinerama" "true" |
73 |
> > EndSection |
74 |
> |
75 |
> > Section "ServerLayout" |
76 |
> > Screen 0 "Screen0" 0 0 |
77 |
> [other section settings snipped] |
78 |
> > EndSection |
79 |
> |
80 |
> > Section "Device" |
81 |
> > Identifier "Card0" |
82 |
> > Driver "nvidia" |
83 |
> > VendorName "nVidia Corporation" |
84 |
> > BoardName "NV40 [GeForce 6800]" |
85 |
> > BusID "PCI:3:0:0" Screen 0 |
86 |
> > Option "TwinView" "True" |
87 |
> > Option "TwinViewOrientation" "Above" |
88 |
> > Option "ConnectedMonitor" "CRT, CRT, TV" |
89 |
> > Option "MetaModes" "1600x1200,1024x768" |
90 |
> > Option "SecondMonitorHorizSync" "31-65" |
91 |
> > Option "SecondMonitorVertRefresh" "52-120" |
92 |
> [other section settings snipped] |
93 |
> > EndSection |
94 |
> |
95 |
> > Section "Screen" |
96 |
> > Identifier "Screen0" |
97 |
> > Device "Card0" |
98 |
> > Monitor "Monitor0" |
99 |
> |
100 |
> FWIW, you can probably safely delete at least the 1,4 and 15 bit depth |
101 |
> settings below, and possibly 8-bit, leaving only the 16-bit settings. |
102 |
> Try commenting them out for awhile to be sure, but 1-bit is black and |
103 |
> white, and 4 bit is 16-color, both of which are virtually unheard of in |
104 |
> modern configs, while 15-bit is extremely uncommon and AFAIK always has |
105 |
> been. 8-bit (256 color) was popular back in the limited video memory |
106 |
> days of the early to mid 90s, but isn't used much today either, tho it's |
107 |
> narrowly possible you might still need it for compatibility with games of |
108 |
> that era. It's much more likely you'd need support for 24-bit or 32-bit |
109 |
> bitdepths. Here, however, I simply go 16-bit, as that's plenty good for |
110 |
> my use and less memory and memory bandwidth intensive than 24 or 32-bit, |
111 |
> as well as slightly more CPU efficient than 24-bit. (32-bit would be |
112 |
> more CPU efficient, but the memory and bandwidth effects counteract than |
113 |
> and then some, in many cases.) |
114 |
> |
115 |
> > SubSection "Display" |
116 |
> > Viewport 0 0 |
117 |
> > Depth 1 |
118 |
> > EndSubSection |
119 |
> > SubSection "Display" |
120 |
> > Viewport 0 0 |
121 |
> > Depth 4 |
122 |
> > EndSubSection |
123 |
> > SubSection "Display" |
124 |
> > Viewport 0 0 |
125 |
> > Depth 8 |
126 |
> > EndSubSection |
127 |
> > SubSection "Display" |
128 |
> > Viewport 0 0 |
129 |
> > Depth 15 |
130 |
> > EndSubSection |
131 |
> > SubSection "Display" |
132 |
> > Viewport 0 0 |
133 |
> > Depth 16 |
134 |
> > EndSubSection |
135 |
> > EndSection |
136 |
> |
137 |
> You will likely wish to check out xorg's "panning domain" settings as |
138 |
> well. AFAIK, the nvidia proprietary driver has a non-standard way of |
139 |
> setting up this sort of thing, but the idea is to create a rectangular |
140 |
> "virtual display" enclosing the "dead area" you mentioned, and allow the |
141 |
> lower resolution monitor to pan into the otherwise dead area. |
142 |
> |
143 |
> There are pluses and minuses to this approach, however. While you |
144 |
> eliminate the "dead area" and gain virtual display real estate, the |
145 |
> "unlocked" panning behavior can be rather distracting and is somewhat |
146 |
> harder to work with, at least until you get used to it. Here, when I had |
147 |
> monitors of different sizes (I eventually found the necessary funds as |
148 |
> monitor prices came down, and now have a 21" and a 22" monitor, both |
149 |
> operated at the same resolution, and close enough in viewable size not to |
150 |
> matter), I limited the panning to the smaller one, and to one dimension |
151 |
> only. As you, I stack my monitors, so I created a virtual display the |
152 |
> height of both put together, and the width of the widest, so the smaller |
153 |
> one panned only horizontally, in ordered to view the otherwise "dead |
154 |
> space". I found this the best setting for me as it eliminated the dead |
155 |
> space, while limiting the panning to horizontal only minimized the |
156 |
> feeling of disorientation I constantly have if I allow panning in both |
157 |
> horizontal and vertical dimensions. Additionally, only the little |
158 |
> monitor panned, and that's above my main work area on the big monitor, so |
159 |
> it was less annoying than it would have been had my main work area |
160 |
> panned. Of course, the corresponding setting for those who prefer |
161 |
> horizontally arranged monitors would be a vertical (only) panning domain |
162 |
> on the lower resolution monitor). |
163 |
> |
164 |
> The other minus to panning is that (on most window managers at least) |
165 |
> maximized windows that would otherwise maximize to just the single |
166 |
> monitor area, maximize instead to the larger panning area. However, with |
167 |
> appropriate settings (either apps or a window manager that remembers |
168 |
> window sizes and/or placement if configured to do so), having certain |
169 |
> windows normalize (instead of maximize) to the appropriate real |
170 |
> resolution of the monitor means this minus is minor and relatively |
171 |
> controllable. |
172 |
> |
173 |
> I'd post segments of my xorg.conf as examples of panning, except that |
174 |
> they'd not apply to you anyway, since I believe both the xorg-native |
175 |
> radeon merged framebuffer and proprietary nvidia representations are non- |
176 |
> xorg-standard in this regard, so my settings would only confuse you. |
177 |
> However, as I recall, nvidia's README file (maybe manpage too or instead, |
178 |
> now?) was just /loaded/ with information on this and other config |
179 |
> settings, and yes, they proved very helpful to me here, before I upgraded |
180 |
> to a Radeon that actually had freedomware drivers to go with the |
181 |
> freedomware OS, instead of trying to disregard the user's use of a |
182 |
> freedomware OS by forcing proprietaryware on customers that actually |
183 |
> wanted to use the hardware they bought, and refusing to provide specs or |
184 |
> freedomware drivers. The documentation should be equally helpful to you, |
185 |
> as I know it covers virtual display and panning domain configuration, |
186 |
> among many other informative and helpful topics. =8^) |
187 |
> |
188 |
> -- |
189 |
> Duncan - List replies preferred. No HTML msgs. |
190 |
> "Every nonfree program has a lord, a master -- |
191 |
> and if you use the program, he is your master." Richard Stallman |
192 |
> |
193 |
> -- |
194 |
> gentoo-amd64@g.o mailing list |
195 |
> |
196 |
> |
197 |
|
198 |
This may or may not help you, but it works for my system. I use the |
199 |
Nvidia "slavery-ware" drivers that support multi-monitor integrally. |
200 |
Granted I'm also using Gnome and Beryl, so you may have to do some |
201 |
minor edits to get it working for you. |
202 |
|
203 |
Section "ServerLayout" |
204 |
Identifier "Layout0" |
205 |
Screen "Screen0" |
206 |
InputDevice "Mouse0" "CorePointer" |
207 |
InputDevice "Keyboard0" "CoreKeyboard" |
208 |
EndSection |
209 |
|
210 |
Section "Files" |
211 |
RgbPath "/usr/share/X11/rgb" |
212 |
ModulePath "/usr/lib64/xorg/modules" |
213 |
FontPath "/usr/share/fonts/misc/" |
214 |
FontPath "/usr/share/fonts/TTF/" |
215 |
FontPath "/usr/share/fonts/Type1/" |
216 |
FontPath "/usr/share/fonts/100dpi/" |
217 |
FontPath "/usr/share/fonts/75dpi/" |
218 |
EndSection |
219 |
|
220 |
Section "Extensions" |
221 |
Option "Composite" "enable" |
222 |
EndSection |
223 |
|
224 |
Section "Module" |
225 |
Load "GLcore" |
226 |
Load "dbe" |
227 |
Load "dri" |
228 |
Load "extmod" |
229 |
Load "glx" |
230 |
Load "record" |
231 |
Load "xtrap" |
232 |
Load "freetype" |
233 |
Load "type1" |
234 |
EndSection |
235 |
|
236 |
Section "ServerFlags" |
237 |
# Option "Xinerama" |
238 |
Option "SLI" "on" |
239 |
EndSection |
240 |
|
241 |
Section "InputDevice" |
242 |
Identifier "Keyboard0" |
243 |
Driver "kbd" |
244 |
EndSection |
245 |
|
246 |
Section "InputDevice" |
247 |
Identifier "Mouse0" |
248 |
Driver "mouse" |
249 |
Option "Protocol" "auto" |
250 |
Option "Device" "/dev/input/mice" |
251 |
Option "ZAxisMapping" "4 5 6 7" |
252 |
EndSection |
253 |
|
254 |
Section "Monitor" |
255 |
Identifier "Monitor0" |
256 |
VendorName "Sager" |
257 |
ModelName "Internal" |
258 |
Option "HorizSync" "31.0 - 81.1" |
259 |
Option "VertRefresh" "56.0 - 75.0" |
260 |
EndSection |
261 |
|
262 |
Section "Monitor" |
263 |
Identifier "Monitor1" |
264 |
VendorName "Samsung" |
265 |
ModelName "Syncmaster 225BW" |
266 |
Option "HorizSync" "31.0 - 81.1" |
267 |
Option "VertRefresh" "56.0 - 75.0" |
268 |
EndSection |
269 |
|
270 |
Section "Device" |
271 |
Identifier "Card0" |
272 |
Driver "nvidia" |
273 |
VendorName "nVidia Corporation" |
274 |
BoardName "GE Force Go 7800 GTX" |
275 |
Option "AddARGBGLXVisuals" "true" |
276 |
Option "AllowGLXWithComposite" "true" |
277 |
Option "Twinview" "on" |
278 |
Option "TwinViewOrientation" "Above" |
279 |
Option "MetaModes" "1680x1050,1680x1050" |
280 |
EndSection |
281 |
|
282 |
Section "Screen" |
283 |
Identifier "Screen0" |
284 |
Device "Card0" |
285 |
Monitor "Monitor0" |
286 |
DefaultDepth 24 |
287 |
SubSection "Display" |
288 |
Depth 24 |
289 |
Modes "1680x1050" |
290 |
EndSubSection |
291 |
EndSection |
292 |
|
293 |
|
294 |
Hope it helps. |
295 |
-- |
296 |
gentoo-amd64@g.o mailing list |