3

My goal is to set up a multi-head environnement: I need to have an extended desktop available on both screens with the ability to drag and drop windows from one screen to another. The left screen is on VGA port and the right one is plugged into the HDMI port.

I tried playing around with xorg.conf but it appears I cannot set up the proper configuration for the multi-head to work.

Here is my xorg.conf:

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/local/lib/xorg/modules"
    FontPath     "/usr/local/lib/X11/fonts/misc/"
    FontPath     "/usr/local/lib/X11/fonts/TTF/"
    FontPath     "/usr/local/lib/X11/fonts/OTF"
    FontPath     "/usr/local/lib/X11/fonts/Type1/"
    FontPath     "/usr/local/lib/X11/fonts/100dpi/"
    FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
    Load  "dbe"
    Load  "dri"
    Load  "dri2"
    Load  "extmod"
    Load  "record"
    Load  "glx"
EndSection

Section "InputDevice"
    Identifier   "Keyboard0"
    Driver      "evdev"
        Option       "XkbLayout" "fr"
        #Option      "XkbModel" "pc105"
        #Option      "Device" "/dev/ukbd0"
        #Option      "CoreKeyboard"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol" "auto"
    Option      "Device" "/dev/sysmouse"
    Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "ShadowFB"              # [<bool>]
        #Option     "DefaultRefresh"        # [<bool>]
        #Option     "ModeSetClearScreen"    # [<bool>]
    Identifier  "Card0"
    Driver      "vesa"
    VendorName  "Intel Corporation"
    BoardName   "Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller"
    BusID       "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

I've read somewhere that I need both the Virtual and Modes directives set up so I've amended the configuration as such :

Section "Screen"
    # ...
    SubSection "Display"
        Viewport   0 0
        Depth     24
        Virtual   3600 1080
        Modes     "1920x1080" "1680x1050"
    EndSubSection
EndSection

The result was a fuzzy image running on the main screen. I was able to move the mouse though and see that the desktop is actually extended. But it's unusable and running on one screen only.

I also have installed XRandr as per this documentation but the output of $ xrandr -q is as such:

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1920 x 1200, maximum 1920 x 1200
default connected 1920x1200+0+0 0mm x 0mm
   1920x1200      0.00* 
   1600x1200      0.00  
   1280x1024      0.00  
   1024x768       0.00  
   800x600        0.00  
   640x480        0.00  

So I see there's only one screen detected and therefore, I cannot run the following command to display both screen as per my will:

$ xrandr --output <RightScreen> --right-of default

As I don't know the name of <RightScreen>.

The weirdest thing being that, on reboot with right HDMI screen plugged in, the boot appears on the right screen and nothing appears on the main (left) screen. When I log in, XFCE is unable to display anything on the right screen and I'm left with both screens unusable. The only solution is to manually shutdown the computer (by pressing the button), unplug the right screen and boot again.

What am I missing?

Edit

I have discovered that the vesa default driver does not support multi-head.

Here's the output of $ pkg info -a -o | grep video:

videoproto-2.3.2               x11/videoproto
xf86-video-ati-6.14.6_3        x11-drivers/xf86-video-ati
xf86-video-intel-2.7.1_8       x11-drivers/xf86-video-intel
xf86-video-mach64-6.9.4_3      x11-drivers/xf86-video-mach64
xf86-video-nv-2.1.20_4         x11-drivers/xf86-video-nv
xf86-video-openchrome-0.3.3_3  x11-drivers/xf86-video-openchrome
xf86-video-r128-6.9.2_3        x11-drivers/xf86-video-r128
xf86-video-vesa-2.3.3_3        x11-drivers/xf86-video-vesa

Here's also the output for $ sysctl hw.model hw.machine hw.ncpu:

hw.model: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
hw.machine: amd64
hw.ncpu: 8
  • Maybe you should check wiki.archlinux.org/index.php/Xrandr – uzsolt Apr 3 '15 at 14:13
  • Thanks @uzsolt for commenting my question. I indeed checked out this link as ran the $ xrandr command but this outputs only one screen. I have also had a look to this one but it hasn't been helpful as Xrandr doesn't detect my second screen. – D4V1D Apr 3 '15 at 14:29
  • Are both display adapters integrated on the mainboard? Is one integrated and the other an expansion card? That xrandr detects only one monitor suggests that only one adapter is active, so you might be able to activate both in the BIOS. – D_Bye Apr 3 '15 at 22:50
  • @D_Bye Yes, both the display adapters are integrated on the mainboard. I am sure that both the adapters are active in the BIOS as when I reboot with both screens plugged, the right screen is active and shows the boot process. I'm not able to run X.org on the screen though. – D4V1D Apr 4 '15 at 5:10
  • 1
    If xrandr is not detecting two screens, then I think you are out of luck. Try using the intel driver instead of the vesa one currently configured and see if that helps. If not, and you are certain that both devices are enabled in the BIOS, then I think your only solution is to install an additional card. – D_Bye Apr 7 '15 at 8:47
1

Vesa DO NOT support dual display. You need to start the X with native driver, in this case by Intel.

Intel do support Dual-head for many boards. You can acheive dual head by either xrandr (temporary) or by xorg configuration (reboot-persistant).

Read this. Intel had documented very well about dual-head setup

  • Thanks for your answer but xrandr outputs only one screen and switching for intel driver in Xorg.conf throws a no screen found error upon startx. – D4V1D Apr 14 '15 at 7:32
  • no screen found error means your i915 kernel module is not supporting the hardware. Either the module itself is not inserted OR You need to upgrade the kernel module , – SHW Apr 14 '15 at 7:36
  • I'm just running into the same problem in 2017. Really this throws me back to 1994 when we had modlines to configure. I'm too old for this shit .... trying to run my tripple monitor config which gets automatically detected by Linux :-( – Lothar Feb 6 '17 at 2:04
  • @Lothar There are a couple od bugs with a few chipsets; with an Ideapad and if you peruse my profile I have an open question explaining it better ( on my phone ) – Rui F Ribeiro May 4 '17 at 1:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.