ImageIn order to have a dual monitor in ubuntu, using nvidia (pci express in my case) and s3 (pci), you have to do the following. In my case, i also use features such as english-greek keyboard switch and 7-button mouse (back/forward keys for firefox). Working system is an ubuntu breezer for amd64.

 

  • Use universe repository in apt
  • Install imwheel
  • Do some changes in xorg.conf
  • Do some changes in imwheelrc
  • Create an X session startup script
 
 
 
 
 
 
 
 
 
 
Use universe repository

System>Administration>Synaptic Package Manager
Settings>Repositories
Add>Community Maintained (Universe)

Install imwheel

sudo apt-get install imwheel

Do some changes in xorg.conf

here is mine:

Section "Files"
    FontPath    "/usr/share/X11/fonts/misc"
    FontPath    "/usr/share/X11/fonts/cyrillic"
    FontPath    "/usr/share/X11/fonts/100dpi/:unscaled"
    FontPath    "/usr/share/X11/fonts/75dpi/:unscaled"
    FontPath    "/usr/share/X11/fonts/Type1"
    FontPath    "/usr/share/X11/fonts/CID"
    FontPath    "/usr/share/X11/fonts/100dpi"
    FontPath    "/usr/share/X11/fonts/75dpi"
        # paths to defoma fonts
    FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
    FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection

Section "Module"
#    Load    "GLcore"
    Load    "i2c"
    Load    "bitmap"
    Load    "ddc"
#    Load    "dri"
    Load    "extmod"
    Load    "freetype"
    Load    "glx"
    Load    "int10"
    Load    "type1"
    Load    "vbe"
    Load    "nvidia"
EndSection

Section "InputDevice"
    Identifier    "Generic Keyboard"
    Driver        "kbd"
    Option        "CoreKeyboard"
   Option "XkbRules"   "xorg"
   Option "XkbModel"   "pc104"
   Option "XkbLayout"  "us,el"
   Option "XkbOptions" "grp:alt_shift_toggle"
   Option "XkbVariant" "basic,extended"
EndSection

Section "InputDevice"
    Identifier    "Configured Mouse"
    Driver        "mouse"
    Option        "CorePointer"
    Option        "Device"        "/dev/input/mice"
    Option        "Protocol"        "ExplorerPS/2"
#    Option        "Emulate3Buttons"    "true"
    Option        "Buttons"        "7"
    Option        "ZAxisMapping"        "6 7"
EndSection

Section "Device"
    Identifier    "S3 Inc. ViRGE/DX or /GX"
    Driver        "s3virge"
    BusID        "PCI:1:10:0"
EndSection

Section "Device"
    Identifier    "NVIDIA6200"
    Driver        "nvidia"
    BusID        "PCI:5:00:0"
EndSection

Section "Monitor"
    Identifier    "Samsung 757DFX"
    Option        "DPMS"
    HorizSync    30.0 - 107.0
    VertRefresh    50.0 - 150.0
EndSection

Section "Monitor"
    Identifier    "LG L1915S"
    Option        "DPMS"
EndSection

Section "Screen"
    Identifier    "Big Screen"
    Device        "NVIDIA6200"
    Monitor        "LG L1915S"
    DefaultDepth    24
    SubSection "Display"
        Depth        24
        Modes        "1360x768"
    EndSubSection
EndSection

Section "Screen"
    Identifier    "Default Screen"
    Device        "S3 Inc. ViRGE/DX or /GX"
    Monitor        "Samsung 757DFX"
    DefaultDepth    24
    SubSection "Display"
        Depth        16
        Modes        "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth        24
        Modes        "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier    "Default Layout"
    Screen        0    "Default Screen"     0 0
    Screen        1    "Big Screen"    LeftOf "Default Screen"
    InputDevice    "Generic Keyboard"
    InputDevice    "Configured Mouse"
    Option        "Xinerama" "true"
EndSection

Section "DRI"
    Mode    0666
EndSection

 

In /etc/X11/imwheel/imwheelrc append these configuration options:

".*"
None, Up, Alt_L|Left
None, Down, Alt_L|Right

"(null)"
None, Up, Alt_L|Left
None, Down, Alt_L|Right

Create /usr/local/bin/mouse (and chmod +x it):

#!/bin/bash
exec xmodmap -e "pointer = 1 2 3 6 7 4 5" &
exec imwheel -k -b "67" &
exec $REALSTARTUP

and use it in X startup:

System>Preferences>Sessions>Startup Programs>Add>/usr/local/bin/mouse

That's it! This article was first written using vim.