You are not logged in.

#1 2009-04-30 07:52:38

orjanp
Member
From: Tromsoe, Norway
Registered: 2004-07-03
Posts: 347

What options do I have if I want to set up a dual screen?

I have a Thinkpad T400 with a ATI Radeon HD3470 card. I am running the latest Arch x86_64 with Fluxbox and the 9.4 Catalyst drivers.

What is the easiest solution to set up a dual screen? Is there a way to do this without editing xorg.conf? Not that editing xorg.conf really is a big problem, but I will be moving around a bit and finding the correct settings for each screen would take some work. And I would like to see how far the dual screen development has come on GNU/Linux.

The way I see it the best way would be to have two screens with separate resolutions. Since LCD screens do not handle resolutions other then the native very well. So just stretching the screen makes the slave screen run the same height as the parent screen. Or am I wrong? It is not a problem running stretched if the screens run at the native resolution.

So, xrandr just gives me stretching. And the need of editing xorg.conf.
What about Twinview(just for nVidia) and Xinerama?

Is there other solutions?

SOLUTIONS:

There is arandr and lxrandr, both frontends to xrandr. Requires minimal xorg.conf editing. Only add a virtual line in the screen section. The virtual size does not have to be accurate, it only have to be bigger then the screens together. In my case, I have a 1440x900 primary screen and at most a 1280x1024 secondary screen. So my virtual size would be minimum 2720x1024. This is with the screens side by side. If the screens is one above the other it would be 1440x1924.

The exact size of the monitor is handled by xrandr(arandr or lxrandr). So, there will be no dead zone in the width(side by side solution), if the real height is different on the screen there will be a dead zone in height.

Using arandr or lxrandr means that you manually have to set this up each time the computer is restarted. To automate this, you can use xrandr. First do a

# xrandr
Screen 0: minimum 320 x 200, current 2464 x 900, maximum 2720 x 1024
LCD connected 1440x900+0+0 (normal left inverted right x axis y axis) 304mm x 190mm
   1440x900       50.0*+   60.2  
   1152x864       60.0     50.0  
   1280x768       59.9     50.0  
   1280x720       60.0     50.0  
   1024x768       60.0     50.0  
   800x600        60.3     50.0  
   720x480        60.0     50.0  
   640x480        60.0     50.0  
   640x400        59.9     50.0  
   512x384        60.0     50.0  
   400x300        60.7     50.0  
   320x240        60.0     49.9  
   320x200        60.1     50.0  
DFP1 disconnected (normal left inverted right x axis y axis)
CRT1 connected 1024x768+1440+0 (normal left inverted right x axis y axis) 304mm x 228mm
   1024x768       60.0*+   75.0     70.1     60.0* 
   800x600        72.2     75.0     70.0     60.3     56.2  
   720x480        60.0  
   640x480        75.0     72.8     75.0     60.0  
   640x400        75.1     59.9  
   512x384        60.0     74.9  
   400x300        75.0     60.7  
   320x240        75.6     60.0  
   320x200        75.5     60.1

to find out where the screens are connected. Mine are LCD and CRT1. Then test with

# xrandr --output CRT1 --right-of LCD

to see if you get a stretched desktop. If this works, just add the last line to your .xinitrc

This solution gives you stretching.

My complete xorg.conf

#
# Copyright 2004 The X.Org Foundation
#
# **********************************************************************

Section "ServerLayout"
    Identifier        "Laptop"
    Screen        0    "Default" 0 0
EndSection

Section "ServerFlags"
    Option        "AutoAddDevices" "True"
EndSection

Section "Monitor"
    Identifier    "LCD"
    Option        "DPMS" "true"
EndSection

Section "Device"
    Identifier    "radeon_hd"
    Driver        "fglrx"
    BusID        "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier        "Default"
    Device            "radeon_hd"
    DefaultDepth    24
    SubSection "Display"
        Viewport        0 0
        Depth            24
        Modes            "1440x900" "1024x768"
        Virtual            2720 1024
    EndSubSection
EndSection

Section "DRI"
    Mode         0666
EndSection

Last edited by orjanp (2009-05-01 09:33:55)


Ørjan Pettersen

Offline

#2 2009-04-30 08:10:12

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: What options do I have if I want to set up a dual screen?

TwinView is Nvidia-only, there's an analog in ATI but I forgot what its called. BigDesktop or something like that.

If you're using Gnome, stay away from them for different resolutions, as your desktop gets all stretched and apps can disappear into the dead zone.

I myself use and prefer separate x-screens for every monitor. Only disadvantage is that you cannot drag apps from monitor to monitor. Xinerama allows this, but hasn't been maintained for a while in anticipation of xrandr 1.3, I believe, so I never went down that road.

I do not believe multiple screens without editing xorg.conf is possible for ATI/Nvidia with the binaries from the distributors, probably only with the free drivers and whatever configuration options come in your DE.


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

#3 2009-04-30 08:42:31

Wra!th
Member
Registered: 2009-03-31
Posts: 342

Re: What options do I have if I want to set up a dual screen?

I have an ATI Mobility x1600 on my laptop,and I use a separate CRT monitor as second output (well primary until I fix my backlight)

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    Screen        1  "Screen1" RightOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "USB Mouse" "CorePointer"
EndSection
Section "ServerFlags"
    Option "AllowMouseOpenFail"  "true"
    Option "AutoAddDevices" "False"
    Option "DontZap" "False"
EndSection
Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/misc:unscaled"
    FontPath     "/usr/share/fonts/misc"
    FontPath     "/usr/share/fonts/75dpi:unscaled"
    FontPath     "/usr/share/fonts/75dpi"
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/100dpi"
    FontPath     "/usr/share/fonts/PEX"
    FontPath     "/usr/share/fonts/cyrillic"
    FontPath     "/usr/share/fonts/local"
    FontPath     "/usr/share/fonts/Type1"
    FontPath     "/usr/share/fonts/ttf/western"
    FontPath     "/usr/share/fonts/ttf/decoratives"
    FontPath     "/usr/share/fonts/truetype"
    FontPath     "/usr/share/fonts/truetype/openoffice"
    FontPath     "/usr/share/fonts/truetype/ttf-bitstream-vera"
    FontPath     "/usr/share/fonts/latex-ttf-fonts"
    FontPath     "/usr/share/fonts/defoma/CID"
    FontPath     "/usr/share/fonts/defoma/TrueType"
EndSection

Section "Module"
        Load  "ddc"
    Load  "drm"
    Load  "dbe"
    Load  "dri"
    Load  "extmod"
    Load  "glx"
        Load  "bitmap"
    Load  "freetype"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "keyboard"
        Option      "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "us"
    Option "XkbVariant" ""
EndSection

Section "InputDevice"
        Identifier      "USB Mouse"
        Driver          "mouse"
        Option          "Device"                "/dev/input/mice"
    Option        "SendCoreEvents"    "true"
        Option          "Protocol"              "IMPS/2"
        Option          "ZAxisMapping"          "4 5"
        Option          "Buttons"               "5"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
    Option "DPMS" "No"
EndSection
Section "Monitor"
    Identifier   "Monitor1"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
    Option "DPMS" "No"
    ModeLine "1024x768"   44.9 1024 1032 1208 1264    768  768  776  817 +hsync +vsync Interlace
    ModeLine "1024x768"   65.0 1024 1048 1184 1344    768  771  777  806 -hsync -vsync
    ModeLine "1024x768"   75.0 1024 1048 1184 1328    768  771  777  806 -hsync -vsync
    ModeLine "1024x768"   78.8 1024 1040 1136 1312    768  769  772  800 +hsync +vsync
    ModeLine "1024x768"   94.5 1024 1072 1168 1376    768  769  772  808 +hsync +vsync
    ModeLine "1280x1024" 108.0 1280 1328 1440 1688   1024 1025 1028 1066 +hsync +vsync
    ModeLine "1280x1024" 135.0 1280 1296 1440 1688   1024 1025 1028 1066 +hsync +vsync
    ModeLine "1280x1024" 157.5 1280 1344 1504 1728   1024 1025 1028 1072 +hsync +vsync
    ModeLine "1024x768"  113.31  1024 1096 1208 1392  768 769 772 814  -HSync +Vsync
    ModeLine "1280x1024"  190.96  1280 1376 1520 1760  1024 1025 1028 1085  -HSync +Vsync
EndSection


Section "Device"
    Identifier  "Card0"
    Driver      "ati"
    VendorName  "ATI Technologies Inc"
    BoardName   "M56P [Radeon Mobility X1600]"
    BusID       "PCI:1:0:0"
    Option "AGPMode" "4"
    Option "ColorTiling" "on"
    Option "AccelMethod" "EXA"
    Option "AGPFastWrite" "yes"
    Option "DRI" "on"
    Screen 0
    Option "DDCMode" "True"
    Option "MonitorLayout" "LVDS,CRT"
EndSection
Section "Device"
    Identifier  "Card1"
    Driver      "ati"
    VendorName  "ATI Technologies Inc"
    BoardName   "M56P [Radeon Mobility X1600]"
    BusID       "PCI:1:0:0"
    Option "AGPMode" "4"
    Option "ColorTiling" "on"
    Option "AccelMethod" "EXA"
    Option "AGPFastWrite" "yes"
    Option "DRI" "on"
    Screen 1
    Option "DDCMode" "True"
    Option "MonitorLayout" "LVDS,CRT"
EndSection


Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth 24
    SubSection "Display"
        Depth     24
        Modes      "1280x800" "1024x768"
    EndSubSection
EndSection
Section "Screen"
    Identifier "Screen1"
    Device     "Card1"
    Monitor    "Monitor1"
    DefaultDepth 24
    SubSection "Display"
        Depth     24
        Modes      "1024x768"
    EndSubSection
EndSection
Section "DRI"
    Mode 0666
EndSection
Section "Extensions"
        Option          "Composite"     "false"
EndSection

This works, and I get separate resolutions on the monitors. I tried using radeonhd but then the resolution on teh second monitor goes to some crappy values(which I figure are calculated proportionally to the 1280x800 one).


MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

Offline

#4 2009-04-30 08:49:28

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,365
Website

Re: What options do I have if I want to set up a dual screen?

How about xrandr and one of its frontends (e.g. arandr in the AUR).

Offline

#5 2009-04-30 21:18:41

stefanwilkens
Member
From: Enschede, the Netherlands
Registered: 2008-12-10
Posts: 624

Re: What options do I have if I want to set up a dual screen?

Allan wrote:

How about xrandr and one of its frontends (e.g. arandr in the AUR).

I've had success with this, doesn't require xorg.conf alteration and work on the fly smile


Arch i686 on Phenom X4 | GTX760

Offline

#6 2009-05-01 00:21:20

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: What options do I have if I want to set up a dual screen?

Can they be used with the prop binaries?


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

#7 2009-05-01 01:29:27

stefanwilkens
Member
From: Enschede, the Netherlands
Registered: 2008-12-10
Posts: 624

Re: What options do I have if I want to set up a dual screen?

ngoonee wrote:

Can they be used with the prop binaries?

If you mean the nvidia prop drivers, then yes.


Arch i686 on Phenom X4 | GTX760

Offline

#8 2009-05-01 05:17:04

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: What options do I have if I want to set up a dual screen?

stefanwilkens wrote:
ngoonee wrote:

Can they be used with the prop binaries?

If you mean the nvidia prop drivers, then yes.

Sorry, I'm using a nvidia 9300m equipped laptop here with an external monitor, always been separate X, and xrandr does not work, since the nvidia binary is based on xrandr 1.1 and doesn't return the necessary information (for example from xrandr -q I only ever see the screen I'm running the command from, no info on the other screen).


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

#9 2009-05-01 07:03:39

smarcher
Member
From: Calcutta
Registered: 2003-12-12
Posts: 42
Website

Re: What options do I have if I want to set up a dual screen?

Allan wrote:

How about xrandr and one of its frontends (e.g. arandr in the AUR).

I had the same problem as the OP. I just could not set the resolution of the exxternal Samsung 17" monitor till I stumbled on this thread.

Thanks!
Sudeep

Offline

#10 2009-05-01 09:03:23

orjanp
Member
From: Tromsoe, Norway
Registered: 2004-07-03
Posts: 347

Re: What options do I have if I want to set up a dual screen?

Thanks so far. Tested with arandr and lxrandr, both in AUR. The only change I had to make in xorg.conf was to add a virtual line in my screen section. And I made it so big that it would fit all my monitors. The exact size of the monitor is handled by xrandr(arandr or lxrandr). So, I do not get a dead zone in the width, but I get a dead zone in the height since non of my secondary screens have a native height of 900 pixels.

My primary screen is 1440x900 and my biggest secondary screen is 1280x1024, so my virtual screen is then 2720(1440+1280)x1024.

So I now have a stretched solution working. But what if I would like to take this a bit further. The next step would be to have separate desktops in each screen. Do I then have to make different monitor sections in xorg.conf?

At the end, what really had been nice is to have each screen behave independently of each other. So when I have eight virtual workspaces in one screen, I could define how many workspaces I would have on the other screen. And when I switch from one workspace to another I only change it on the screen that my mouse pointer is in. Not the other one.

First post updated.

This is my complete xorg.conf

#
# Copyright 2004 The X.Org Foundation
#
# **********************************************************************

Section "ServerLayout"
    Identifier        "Laptop"
    Screen        0    "Default" 0 0
EndSection

Section "ServerFlags"
    Option        "AutoAddDevices" "True"
EndSection

Section "Monitor"
    Identifier    "LCD"
    Option        "DPMS" "true"
EndSection

Section "Device"
    Identifier    "radeon_hd"
    Driver        "fglrx"
    BusID        "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier        "Default"
    Device            "radeon_hd"
    DefaultDepth    24
    SubSection "Display"
        Viewport        0 0
        Depth            24
        Modes            "1440x900"
        Virtual            2720 1024
    EndSubSection
EndSection

Section "DRI"
    Mode         0666
EndSection

Last edited by orjanp (2009-05-01 09:34:40)


Ørjan Pettersen

Offline

#11 2009-05-01 12:17:54

Mektub
Member
From: Lisbon /Portugal
Registered: 2008-01-02
Posts: 647

Re: What options do I have if I want to set up a dual screen?

orjanp,

Do I then have to make different monitor sections in xorg.conf?

For independent screens, yes, you need two monitor sections.

Look Wra!th post above, or my xorg.conf (I have nvidia) here:

http://dpaste.com/39989/

Mektub


Follow me on twitter: https://twitter.com/johnbina

Offline

Board footer

Powered by FluxBB