Easy Dual-head in Ubuntu with Screen Resolution

For Ubuntu 8.04 one of the projects I helped work on was a new xrandr-based screen resolution tool.

Unfortunately, Xorg currently requires you to specify the "Virtual" option in xorg.conf in order to do dual-head, if the combined desktop would be larger than the default maximum. This is nearly always the case, so it meant that in practice Screen Resolution couldn't setup multi-head displays for you.

Alberto Milone developed a Python xorg.conf reader/writer called X-Kit. Using this backend, we've been able to hook in a script that will detect when you need to adjust your Virtual setting, and offer to take care of it for you.

Here's some screenshots:

[1] [2] [3] [4] [5] [6] [7]

Eventually, upstream will be eliminating the need to manually specify "Virtual", so maybe by Intrepid+1 we'll not need this extra package, but for now it'll enable this (IMHO important) feature to work.

screen-resolution-extra and X-Kit are uploaded but haven't been promoted to main yet, so stay tuned for now.

Posted in Submitted by bryce on Tue, 2008-08-26 23:56.
bryce's blog

https://bugs.launchpad.net/ubuntu/+source/screen-resolution-extra/+bug/263682

Hi,

I'm really enthusiastic about your tool.

The dual screen is the one thing that I really miss in linux for now. I was able to do it with xinerama with dapper (I think), but with the new xorg version, I never made it work again...

I installed it in intrepid and tried it but I got a crash (see launchpad link).

I'm available if you need more info or want me to do some tests.

Best regards,
Typhoe

Typhoe (not verified) | Mon, 2008-09-01 17:19

Has this been added to GNOME for 2.24?

Anonymous (not verified) | Sat, 2008-08-30 14:58

When more than one user is connected, I do not think that logging in again restarts the X server.

I think the only way to be sure that the modifications are applied is to asking for a reboot. :(

Yann (not verified) | Thu, 2008-08-28 13:27

Why don't we just increase the default 'Virtual' value to 2048 x 2048 on i915 and 4096 x 4096 on newer chipsets (that don't have a limit at 2048 x 2048)?

See LP #146859. I *think* we may just need a newer (or patched) mesa. Newer chipsets actually allow up to 8kx8k, however mesa imposes a limit of 4kx4k at that point.

bryce | Wed, 2008-08-27 16:25

The user will be prompted for entering their password for making that change, so that dialog indicates why.

@adam and dennda, thanks for the constructive feedback on the verbage; we'll revise that to be less techie.

bryce | Wed, 2008-08-27 15:55

Why don't we just increase the default 'Virtual' value to 2048 x 2048 on i915 and 4096 x 4096 on newer chipsets (that don't have a limit at 2048 x 2048)?

Those values should be enough for everyone until upstream gets rid of 'Virtual'.

Andreas (not verified) | Wed, 2008-08-27 15:47

I think that the dialog in screens-3.png is unnecessary. I am familiar with xorg.conf and i don't see why i would ever want to say no to that question.

That aside, it is a fact that with certain hardware, adjusting the virtual screen size has side effects. Most notably, with intel chipsets of the present day, if any one of the axes is bigger than 2048, you lose DRI, and consequently, desktop effects. Perhaps a notice to that effect will be more helpful.

nucco (not verified) | Wed, 2008-08-27 15:23

"Setting up dual-head has never *not* needed an xserver restart."

Indeed, I'm sorry. I was thinking about hotplugging an external monitor but in mirror mode.

This was working fine for me in Feisty but it requires a X restart in Gutsy and Hardy, I don't know why.

But I admit that it's not really related to what you are talking about.

Ploum (not verified) | Wed, 2008-08-27 10:29

Setting up dual-head has never *not* needed an xserver restart. Not sure why you're complaining about that.

There's a lot of very tough technical reasons why the virtual setting is required. And yes Ploum, they know all about it.

bryce | Wed, 2008-08-27 08:27

Make it available for those of us banging our head against the wall with Hardy.....

Because it requires adding two new packages (x-kit and screen-resolution-extra), this solution is not viable to be made available under Hardy.

bryce | Wed, 2008-08-27 07:51

The content of screenshot 3 and 5 are pretty terrible. Do you really expect any user to understand this ?

I hope my mother will never try to use an extended desktop because I'm sure that my phone will ring and I will hear a loud "Ubuntu is crashing ! I have a problem".

Please translate this in "human understandable" sentences. My mother doesn't know what a Xserver is (so how can you ask her to restart it ?). The only valid information is : "You have to log off/log on to apply this setting"

On a technical point of view, I really appreciate your work but I'm very disappointed that it will requires a X restart. I know that this is not your fault at all and I hope that the X.org guys will understand the needs of average users : hotplugging...

Ploum (not verified) | Wed, 2008-08-27 07:48

Real nice improvement, but i do not like the dialog "You have to restart your Xserver" I think a user should not know what a xserver is. I think it will be better to say that you have to restart your computer or to relogon your session.

Anonymous (not verified) | Wed, 2008-08-27 06:05

Come on man...show us some love....

Make it available for those of us banging our head against the wall with Hardy.....

Anonymous (not verified) | Wed, 2008-08-27 03:48

Awesome tool, but perhaps instead of talk about "Restarting the X server" mention something like "You must log out and log back in" (as this does restart the X server).

Adam Petaccia (not verified) | Wed, 2008-08-27 03:04

Hey bryce,
that is great news!

One can barely imagine how important that feature is for users not familiar with the subject.
I myself didn't know it was just that Virtual entry missing in the configuration file some time back until I started investigating.

By the way, I don't think it should tell you to restart your "Xserver" but rather ask the user to "log in again" or something. I at least doubt that every user is familiar with that term.

Thanks for your work.

Regards,
dennda

Christopher Denter (not verified) | Wed, 2008-08-27 01:01

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
More information about formatting options