Ikke's Blog

Post details: Multi-screen setup

Mar 26
Multi-screen setup

I got the multi-display setup I blogged about working after all.
Some issues though:

  • Desktop items are on the secondary monitor while they *should* (imho) be on the primary one. Top panel is on the primary, nice
  • AWN is displayed in the middle of the secondary monitor, not at the bottom, so it's in front of all fullscreen windows etc. See ticket #182
  • The virtual display size is (2*1280)x1024, whilst the primary monitor is only 768px high. Result: things like libnotify notifications in the right bottom corner of the desktop (eg generated by gaim-libnotify) are invisible. New windows are partially in this invisible zone too. Looks like the X stack doesn't handle non-rectangular virtual displays

Beryl runs fine, but I kinda dislike the fact my cube is split over both monitor. Here's what'd really rock, IMHO: instead of having only 4 workspaces, allow me to have 8 workspaces. These are split, 1-4 go on one cube on my primary monitor, 5-8 are on another cube on the secondary display, so I got *2* cubes. It should still be possible to drag windows though: when workspace 2 and 7 are displayed, I should be able to drag a window from one to the other. There might be "overlap" issues here though, ie when the window is not completely on 2, nor completely on 7.
This might fix the different height issue too: workspaces 1-4 are 1280x768, workspaces 5-8 1280x1024. I don't know whether the necessary information can be queried (I guess RandR1.2 will allow this, but my bet is FGLRX won't have RandR1.2 support for over a year).

Last but not least I was thinking it could be pretty cool if composited window managers could handle output cloning. If you got 2 monitors attached to your computer, the WM/CM would see these as one large virtual monitor. It should be able to know about the different monitors though, the boundaries inside the virtual monitor,... If something is displayed then in the part of the virtual monitor (where windows are displayed) this should be copied to the other virtual part, so it's displayed on the secondary monitor too (sounds vague, hard to explain). While doing this, some resolution-bound enhancements could be done on the image to display too (you don't want to run a 4:3 17" TFT at 1280x768, everything looks *strange*), so all monitors can run at their native resolution. This is fairly easy to do using some matrix transformations on the input image, I guess OpenGL also allows this (windows are pixmaps on OpenGL vertices anyway IIRC).

Don't shoot me if some of these ideas are insane or technicly not feasible, this is just a braindump, I'm no X guru.

Anyway, up to writing my Gnome SoC proposal.

*edit* Beryl seems to have a setting to have 2 cubes indeed, but they just rotate their part of one workspace (enable the "3D world display" of windows, you'll see the borders), it's not 2 different workspaces, so when you rotate one cube, the other one rotates too.

Ikke • DesktopPermalink 6 comments


Comment from: Gianluca [Visitor] Email
IIRC (I don't have two monitors so I never went into the details) compiz should work as you wish, with two cubes on two screen and every workspace a face of a cube.
PermalinkPermalink 03/26/07 @ 14:36
Comment from: David Mills [Visitor] Email · http://blog.guesny.net

Just a couple of ideas: for your multi-screen, try using mergedFB with one screen _above_ the other, like that both screens are the right size.

Also, for awn, it doesn't detect the screen size for the moment, but takes it's parameters from gconf, going into the editor, you can specify your frame buffer size, so that awn displays properly (note: if you keep your screens side by side, parameterise awn with just one of your screens, otherwise it risks to be half on one half on tother :) ).

PermalinkPermalink 03/26/07 @ 15:25
Comment from: Donn [Visitor] Email
I'm having this same problem. ATI X600 dual head, beryl installed and working (only on one monitor, the other comes up as the default grey X screen as you described in a previous post). I'm using the Xgl server and fglrx driver. So...what did you do? I want beryl on both monitors with xinerama.
PermalinkPermalink 03/26/07 @ 15:27
Comment from: Ikke [Member] · http://www.eikke.com
David: above each other is physicly impossible, and would provide a strange user experienc if I'd configure them like that, and place them side-by-side. About AWN: tried that, didn't work.
Donn: I'll post a howto later.

Anyway, multihead X really needs lots of fixing. Maybe I should give it a shot one day. There are too many different "implementations" right now, all with their deficients.
PermalinkPermalink 03/26/07 @ 17:02
Comment from: aent [Visitor] Email · http://www.invisionize.com
What is the primary screen? What is the secondary one? I have two identical screens, they shouldn't be treated differently. I like panels on both of them, I don't see any reason why I sohuld have to go to one side to switch between applications.

I think the way the multiple desktops should work is there should be 4 desktops as usual, however each screen should have its own desktop. There shouldn't be left desktops or right desktops, but desktops that can be placed on the left screen or the right screen. This would also make it extremely easy to switch to a clone mode if you want to.
PermalinkPermalink 03/26/07 @ 18:07
Comment from: Donn [Visitor] Email
How's that multi-screen beryl howto coming? I'm still waiting here with beryl and one dead X screen.
PermalinkPermalink 04/16/07 @ 11:20

This post has 1 feedback awaiting moderation...

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))


Who's Online?

  • Guest Users: 178


XML Feeds

What is RSS?