DIH stands for Dual Independent Head. The DIH display mode is to display different content on two display devices, and windows cannot be dragged between X screens. Each X screen has its task bar, but there is only one cursor which could move between the X screens. Different VIA chipset supports different display combinations.
The configuration for the DIH display mode resembles the SAMM display mode configuration. The only difference is to disable the Xinerama extension. Follow the steps below to configure DIH display mode.
1. Create two separate Device sections and assign each a separate screen
In each Device section, specify the display devices you intend to use to be ActiveDevice, list the BusID of the graphics card to be shared and assign the related Screen. Other configuration according to different display devices is the same as we demonstrate in Part III Chapter 1, Display Devices Configuration Instructions. Note that, except the assigned Screen is different, the other content in the two Device section keeps the same.
Edit the BusID with the location of your graphics card. You could run the command below to get it.
# lspci | grep VGA
Here takes Internal CRT + External DVI for example.
Section "Device" Driver "via" VendorName "VIA Tech" BoardName "via" Identifier "Device0" BusID "PCI:1:0:0" Option "ActiveDevice" "CRT,DVI" Option "DVIPort" "DVP1" Screen 0 EndSection Section "Device" Driver "via" VendorName "VIA Tech" BoardName "via" Identifier "Device1" BusID "PCI:1:0:0" Option "ActiveDevice" "CRT,DVI" Option "DVIPort" "DVP1" Screen 1 EndSection
2. Create two Screen sections
In Screen sections, specify the display mode and assign the related Device and Monitor.
Section "Screen" Identifier "Screen0" SubSection "Display" Modes "1280x1024" Depth 24 EndSubSection DefaultDepth 24 Monitor "Monitor0" Device "Device0" EndSection Section "Screen" Identifier "Screen1" SubSection "Display" Modes "1920x1200" Depth 24 EndSubSection DefaultDepth 24 Monitor "Monitor1" Device "Device1" EndSection
3. Create two Monitor sections
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" EndSection Section "Monitor" Identifier "Monitor1" VendorName "Monitor Vendor" ModelName "Monitor Model" EndSection
4. Define the primary screen and display position in Section "ServerLayout"
Screen 0 is specified to be the primary screen. Thus Screen 1 is the secondary screen. The position for the secondary screen could be on left/right of, or below/above the primary one. Legal operators are "rightof", "leftof", "below", "above".
Option "Xinerama" "off"
This option is to disable Xinerama extension. For example,
Section "ServerLayout" Option "RandR" "False" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 Screen 1 "Screen1" rightof "Screen0" Option "Xinerama" "off" InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection
Known issues
Some functions are not fully supported in the DIH display mode, and are going to be improved in the forth coming VIA Linux graphics driver.
1. 3D DRI works on Screen0, but fails on Screen1. Screen1 uses software DRI instead (by Mesa).
2. Video hardware acceleration works on Screen0, but the playback screen on Screen1 goes black. Video hardware overlay works on both screens.