You are not logged in.

#1 2009-08-28 03:22:16

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

[solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

Recently came into possession of a 17" LCD and would like to use it in tandem with the internal LCD of my netbook. Clone works with xrandr, as does extended mode to an extent.  The problem is that in extended mode (or spanning, or whatever you want to call it) the smaller screen has dead space which isn't respected by dwm (or any other WM I've tried).  So I'd like to setup dual X sessions (aka Zaphod mode?), each running their own instance of dwm--I don't need to move windows from screen to screen so that's not a concern.

Has anyone had luck accomplishing this with the current intel driver?  The closest I've gotten so far is a black screen/blinking cursor which drops back to a login prompt after a few seconds.   I see a ton of related topics on Google about this and most of them are unresolved.  If I can get something put together I'll document it in the dwm and/or intel wikis.

Specs:
* Acer Aspire One AOD150 with Intel GMA945 @ 1024x600
* LCD @ 1280x1024

Last edited by thayer (2009-08-30 05:03:14)


thayer williams ~ cinderwick.ca

Offline

#2 2009-08-29 04:39:31

djszapi
Member
From: Cambridge, United Kingdom
Registered: 2009-06-14
Posts: 1,439
Website

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

Hello Thayer!

Did you try with xinerama or twinview ? Which version of X/kernel/driver do you use ?

Did you read the gentoowiki too?
http://en.gentoo-wiki.com/wiki/HOWTO_Dual_Monitors

Offline

#3 2009-08-29 04:50:16

Square
Member
Registered: 2008-06-11
Posts: 429

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

startx -- :1 vt8

This has never failed me for starting a second X session.


 

Offline

#4 2009-08-29 13:50:22

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

djszapi wrote:

Hello Thayer!

Did you try with xinerama or twinview ? Which version of X/kernel/driver do you use ?

Did you read the gentoowiki too?
http://en.gentoo-wiki.com/wiki/HOWTO_Dual_Monitors

Twinview is Nvidia so I can't try that one. Xinerama results in the blinking cursor/blank cursor mentioned above. Also, I use the stock kernel, X, and intel driver.  I've read the gentoo wiki and several others, such as:

http://www.thinkwiki.org/wiki/Xorg_RandR_1.2
http://ozlabs.org/~jk/docs/mergefb/
http://wiki.linuxquestions.org/wiki/Usi … th_XFree86

I could post pages of Xorg configs I tested, etc., etc. but ultimately I think this thread will die like so many others on Google.  I was hoping that a fellow archer may already be running this configuration and could simply post their own setup, but that doesn't appear to be the case.

I never would've thought that running dual monitors (especially with intel hardware) would be so complicated under Linux...a definite win for Microsoft here as everything Just Works under XP.

Last edited by thayer (2009-08-29 13:52:36)


thayer williams ~ cinderwick.ca

Offline

#5 2009-08-29 15:16:14

mzapotoczny
Member
Registered: 2008-11-03
Posts: 9

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

Try to install intel-legacy (xf86-video-intel-legacy) and add to Screen section in xorg.conf:

SubSection "Display"
    Viewport    0 0
    Depth        24
    Virtual     2304 1024
EndSubSection

Start X and then run xrandr and do what you want.
For me (GMA945 @ 1280x800 + LCD @ 1440x900, awesome) this work perfectly.

Offline

#6 2009-08-29 15:31:24

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

mzapotoczny wrote:

For me (GMA945 @ 1280x800 + LCD @ 1440x900, awesome) this work perfectly.

So with this setup you have no dead space where windows can be dragged off screen?  Because that's what I'm trying to avoid.


thayer williams ~ cinderwick.ca

Offline

#7 2009-08-29 16:02:05

mzapotoczny
Member
Registered: 2008-11-03
Posts: 9

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

thayer wrote:
mzapotoczny wrote:

For me (GMA945 @ 1280x800 + LCD @ 1440x900, awesome) this work perfectly.

So with this setup you have no dead space where windows can be dragged off screen?  Because that's what I'm trying to avoid.

Nope. This config behave exactly like windows.

Offline

#8 2009-08-29 16:24:43

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

Would you mind sharing your xorg.conf?

I can't seem to get the legacy driver to work at all. With the current intel driver if I increase the Virtual size above 2048 then Xorg segfaults. Actually Xorg and the stock intel driver seem to segfault if I enable Xinerama, if I attempt to dual screen without xinerama (dual sessions 0 and 1) and/or if I bump the virtual over 2048.

The only thing that *has* worked for me so far is using xrandr to clone and/or extend the desktop, but only if my virtual size is smaller than my actual horizontal resolutions.

Last edited by thayer (2009-08-29 16:27:27)


thayer williams ~ cinderwick.ca

Offline

#9 2009-08-29 16:48:26

mzapotoczny
Member
Registered: 2008-11-03
Posts: 9

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

thayer wrote:

Would you mind sharing your xorg.conf?

I can't seem to get the legacy driver to work at all. With the current intel driver if I increase the Virtual size above 2048 then Xorg segfaults. Actually Xorg and the stock intel driver seem to segfault if I enable Xinerama, if I attempt to dual screen without xinerama (dual sessions 0 and 1) and/or if I bump the virtual over 2048.

The only thing that *has* worked for me so far is using xrandr to clone and/or extend the desktop, but only if my virtual size is smaller than my actual horizontal resolutions.

So, xorg.conf is here: http://github.com/mzapotoczny/dotfiles/ … /xorg.conf (usually I don't have LCD connected, so Virtual is set to 2048x2048 wink
But it works only with intel-legacy. Temporary you can extend the desktop not horizontal, but vertical (--below option)

Last edited by mzapotoczny (2009-08-29 16:49:01)

Offline

#10 2009-08-29 17:02:55

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

mzapotoczny wrote:

So, xorg.conf is here: http://github.com/mzapotoczny/dotfiles/ … /xorg.conf (usually I don't have LCD connected, so Virtual is set to 2048x2048 wink
But it works only with intel-legacy. Temporary you can extend the desktop not horizontal, but vertical (--below option)

Thanks, I did manage to get both screens working at full resolution with the legacy driver, but without DRI so everything is pretty slow.  I'll try the --below option (clever btw) and see if DRI kicks on.   As for the new intel driver, I hope it's just a bug that needs fixed rather than a dropped feature.


thayer williams ~ cinderwick.ca

Offline

#11 2009-08-30 04:38:23

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: [solved] Dual head / Xinerama / xrandr setup with Intel 945 & dwm

It's a work in progress, but for those who are interested I was able to get a dual-head setup (using xrandr and the Xinerama extensions) with the current Intel driver (not legacy) using the following:

/etc/X11/xorg.conf:

# ----------------------------------------------------------------------
# file:     /etc/X11/xorg.conf
# author:   Thayer Williams - http://cinderwick.ca
# vim:enc=utf-8:nu:ai:si:et:ts=4:sw=4:ft=sh:
# ----------------------------------------------------------------------

Section "ServerLayout"
    Identifier  "AA1Xorg"
    Screen      0 "AA1Screen" 0 0
    InputDevice "AA1Keyboard"       "CoreKeyboard"
    InputDevice "LogitechMX518"     "CorePointer"
    InputDevice "SynapticsTouchpad" "AlwaysCore"
    Option      "BlankTime"         "0"
    Option      "StandbyTime"       "0"
    Option      "SuspendTime"       "0"         # disable all other forms of power save
    Option      "OffTime"           "10"        # turn off DPMS-capable  monitor after x mins
EndSection

Section "ServerFlags"
    Option  "DontZap"               "false"     # ctrl+alt+backspace to restart x (see input too)
    Option  "AIGLX"                 "false"
    Option  "AutoAddDevices"        "false"     # false to disabl hal hotplugging 
    Option  "AllowMouseOpenFail"    "true"      # load Xorg even if mouse input not found
EndSection

Section "Files"
    ModulePath  "/usr/lib/xorg/modules"
    FontPath    "/usr/share/fonts/misc"
    FontPath    "/usr/share/fonts/75dpi"
    FontPath    "/usr/share/fonts/100dpi"
    FontPath    "/usr/share/fonts/Type1"
    FontPath    "/usr/share/fonts/TTF"
    FontPath    "/usr/share/fonts/artwiz-fonts"
    FontPath    "/usr/share/fonts/local"
EndSection

Section "Module"
    Load  "synaptics"
EndSection

Section "InputDevice"
    Identifier  "AA1Keyboard"
    Driver      "kbd"
    Option      "CoreKeyboard"
    Option      "XkbModel" "pc105"
    Option      "XkbLayout" "us"
    Option      "XkbOptions" "terminate:ctrl_alt_bksp" # yes, we really want ctrl+alt+backspace to restart X
EndSection

Section "InputDevice"
    Identifier  "LogitechMX518"
    Driver      "mouse"
    Option          "Device"            "/dev/input/mice"
    Option      "Protocol"          "ExplorerPS/2"      # options: ExplorerPS/2, IMPS/2, auto, USB (Exp. req'd for side-buttons)
    Option          "ZAxisMapping"      "4 5"
    Option          "Buttons"           "5"
    Option      "ButtonMapping"     "1 2 3 8 9"
    Option      "Emulate3Buttons"   "no"

EndSection

Section "InputDevice"
    Identifier  "SynapticsTouchpad"
    Driver      "synaptics"
   #Option      "Device"            "/dev/input/mice"
    Option      "Device"            "/dev/psaux"
    Option      "Protocol"          "auto-dev"
    Option      "ZAxisMapping"      "4 5 6 7"
    Option      "SHMConfig"         "true"  # configurable at runtime? security risk if on
    Option      "LeftEdge"          "1700"  # x coord left
    Option      "RightEdge"         "5300"  # x coord right
    Option      "TopEdge"           "1700"  # y coord top
    Option      "BottomEdge"        "4200"  # y coord bottom
    Option      "FingerLow"         "25"    # pressure below this level triggers release
    Option      "FingerHigh"        "30"    # pressure above this level triggers touch
    Option      "TapButton1"        "1"     # mouse button reported on a non-corner one-finger tap
    Option      "TapButton2"        "2"     # mouse button reported on a non-corner two-finger tap
    Option      "FastTaps"          "true"  # make single-taps faster, and double-taps slower
    Option      "MaxTapTime"        "180"   # max time in ms for detecting tap
    Option      "MaxTapMove"        "220"
    Option      "VertEdgeScroll"    "true"  # enable vertical scroll zone
    Option      "HorizEdgeScroll"   "true"  # enable horizontal scroll zone
    Option      "CornerCoasting"    "true"  # enable continuous scroll with finger in corner
    Option      "CoastingSpeed"     "0.30"  # corner coasting speed
    Option      "VertScrollDelta"   "100"   # edge-to-edge scroll distance of the vertical scroll
    Option      "HorizScrollDelta"  "100"   # edge-to-edge scroll distance of the horizontal scroll
    Option      "MinSpeed"          "0.09"  # speed factor for low pointer movement
    Option      "MaxSpeed"          "0.18"  # maximum speed factor for fast pointer movement
    Option      "AccelFactor"       "0.0015"    # acceleration factor for normal pointer movements
    Option      "VertTwoFingerScroll"   "true"  # vertical scroll anywhere with two fingers
    Option      "HorizTwoFingerScroll"  "true"  # horizontal scroll anywhere with two fingers
EndSection

Section "Monitor"
    Identifier  "AA1Monitor"
    VendorName  "Acer"
    Option      "DPMS" "true"
    HorizSync   28-96
    VertRefresh 50-75
EndSection

Section "Device"
    Identifier  "Intel945"
    Driver      "intel"
    BusID       "PCI:0:2:0"
    Option      "Tiling"        "false"         # controls whether buffers are allocated in tiled mode
EndSection

Section "Screen"
    Identifier "AA1Screen"
    Device     "Intel945"
    Monitor    "AA1Monitor"
    SubSection "Display"
        Depth 24
        Modes "1280x1024" "1280x600" "1024x768" "1024x600" "800x600" "640x480"
        Virtual 2048 2048
    EndSubSection
EndSection

Until I have a chance to write a fancier script I've added the following to ~/.xinitrc:

xrandr --output LVDS1 --mode 1024x600
xrandr --output VGA1 --below LVDS1 --mode 1280x1024

The first command ensures the netbook screen takes the proper resolution and the second enables the external LCD.  If I startx when the LCD is disconnected then the netbook screen is the only screen enabled (no dead space).

Caveats
1. With mplayer in fullscreen it appears as 1024x600 even when opened on the 1280x1024 screen.

2. The external LCD cannot be placed left or right of the netbook screen because it would exceed the 2048 virtual resolution which segfaults X with the latest intel driver.  Virtual cannot be set higher than 2048 in either direction without segfaulting X; though I imagine this will be addressed in future versions of the intel driver.

Many thanks to mzapotoczny!

Last edited by thayer (2009-08-30 04:41:40)


thayer williams ~ cinderwick.ca

Offline

Board footer

Powered by FluxBB