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
$ xrandr
command but this outputs only one screen. I have also had a look to this one but it hasn't been helpful asXrandr
doesn't detect my second screen.xrandr
detects only one monitor suggests that only one adapter is active, so you might be able to activate both in the BIOS.xrandr
is not detecting two screens, then I think you are out of luck. Try using theintel
driver instead of thevesa
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.