Index: /trunk/src/VBox/Additions/solaris/Installer/postinstall.sh
===================================================================
--- /trunk/src/VBox/Additions/solaris/Installer/postinstall.sh	(revision 42468)
+++ /trunk/src/VBox/Additions/solaris/Installer/postinstall.sh	(revision 42469)
@@ -69,18 +69,4 @@
     uncompress_file "$1" "vboxvideo_drv_70.so"
     uncompress_file "$1" "vboxvideo_drv_71.so"
-
-    # VBox Xorg Mouse drivers
-    uncompress_file "$1" "vboxmouse_drv_13.so"
-    uncompress_file "$1" "vboxmouse_drv_14.so"
-    uncompress_file "$1" "vboxmouse_drv_15.so"
-    uncompress_file "$1" "vboxmouse_drv_16.so"
-    uncompress_file "$1" "vboxmouse_drv_17.so"
-    uncompress_file "$1" "vboxmouse_drv_18.so"
-    uncompress_file "$1" "vboxmouse_drv_19.so"
-    uncompress_file "$1" "vboxmouse_drv_110.so"
-    uncompress_file "$1" "vboxmouse_drv_111.so"
-    uncompress_file "$1" "vboxmouse_drv_112.so"
-    uncompress_file "$1" "vboxmouse_drv_70.so"
-    uncompress_file "$1" "vboxmouse_drv_71.so"
 }
 
@@ -158,54 +144,41 @@
     fi
 
-    vboxmouse_src=""
     vboxvideo_src=""
 
     case "$xorgversion" in
         1.3.* )
-            vboxmouse_src="vboxmouse_drv_13.so"
             vboxvideo_src="vboxvideo_drv_13.so"
             ;;
         1.4.* )
-            vboxmouse_src="vboxmouse_drv_14.so"
             vboxvideo_src="vboxvideo_drv_14.so"
             ;;
         1.5.99 | 1.6.* )
-            vboxmouse_src="vboxmouse_drv_16.so"
             vboxvideo_src="vboxvideo_drv_16.so"
             ;;
         1.5.* )
-            vboxmouse_src="vboxmouse_drv_15.so"
             vboxvideo_src="vboxvideo_drv_15.so"
             ;;
         1.7.*)
-            vboxmouse_src="vboxmouse_drv_17.so"
             vboxvideo_src="vboxvideo_drv_17.so"
             ;;
         1.8.*)
-            vboxmouse_src="vboxmouse_drv_18.so"
             vboxvideo_src="vboxvideo_drv_18.so"
             ;;
         1.9.*)
-            vboxmouse_src="vboxmouse_drv_19.so"
             vboxvideo_src="vboxvideo_drv_19.so"
             ;;
         1.10.*)
-            vboxmouse_src="vboxmouse_drv_110.so"
             vboxvideo_src="vboxvideo_drv_110.so"
             ;;
         1.11.*)
-            vboxmouse_src="vboxmouse_drv_111.so"
             vboxvideo_src="vboxvideo_drv_111.so"
             ;;
         1.12.*)
-            vboxmouse_src="vboxmouse_drv_112.so"
             vboxvideo_src="vboxvideo_drv_112.so"
             ;;
         7.1.* | *7.2.* )
-            vboxmouse_src="vboxmouse_drv_71.so"
             vboxvideo_src="vboxvideo_drv_71.so"
             ;;
         6.9.* | 7.0.* )
-            vboxmouse_src="vboxmouse_drv_70.so"
             vboxvideo_src="vboxvideo_drv_70.so"
             ;;
@@ -213,5 +186,5 @@
 
     retval=0
-    if test -z "$vboxmouse_src"; then
+    if test -z "$vboxvideo_src"; then
         echo "*** Unknown version of the X Window System installed."
         echo "*** Failed to install the VirtualBox X Window System drivers."
@@ -220,11 +193,7 @@
         retval=2
     else
-        echo "Installing mouse and video drivers for X.Org $xorgversion..."
+        echo "Installing video driver for X.Org $xorgversion..."
 
         # Determine destination paths (snv_130 and above use "/usr/lib/xorg", older use "/usr/X11/lib"
-        vboxmouse32_dest_base="/usr/lib/xorg/modules/input"
-        if test ! -d $vboxmouse32_dest_base; then
-            vboxmouse32_dest_base="/usr/X11/lib/modules/input"
-        fi
         vboxvideo32_dest_base="/usr/lib/xorg/modules/drivers"
         if test ! -d $vboxvideo32_dest_base; then
@@ -232,28 +201,26 @@
         fi
 
-        vboxmouse64_dest_base=$vboxmouse32_dest_base/$solaris64dir
         vboxvideo64_dest_base=$vboxvideo32_dest_base/$solaris64dir
 
         # snv_163 drops 32-bit support completely, and uses 32-bit locations for the 64-bit stuff. Ugly.
-        # We try to detect this by looking at bitness of "mouse_drv.so", and adjust our destination paths accordingly.
+        # We try to detect this by looking at bitness of "vesa_drv.so", and adjust our destination paths accordingly.
         # We do not rely on using Xorg -version's ABI output because some builds (snv_162 iirc) have 64-bit ABI with
         # 32-bit file locations.
-        if test -f "$vboxmouse32_dest_base/mouse_drv.so"; then
-            bitsize=`file "$vboxmouse32_dest_base/mouse_drv.so" | grep -i "32-bit"`
+        if test -f "$vboxvideo32_dest_base/vesa_drv.so"; then
+            bitsize=`file "$vboxvideo32_dest_base/vesa_drv.so" | grep -i "32-bit"`
             skip32="no"
         else
-            echo "* Warning mouse_drv.so missing. Assuming Xorg ABI is 64-bit..."
+            echo "* Warning vesa_drv.so missing. Assuming Xorg ABI is 64-bit..."
         fi
 
         if test -z "$bitsize"; then
             skip32="yes"
-            vboxmouse64_dest_base=$vboxmouse32_dest_base
             vboxvideo64_dest_base=$vboxvideo32_dest_base
         fi
 
         # Make sure destination path exists
-        if test ! -d $vboxmouse32_dest_base || test ! -d $vboxvideo32_dest_base || test ! -d $vboxmouse64_dest_base || test ! -d $vboxvideo64_dest_base; then
-            echo "*** Missing destination paths for mouse or video modules. Aborting."
-            echo "*** Failed to install the VirtualBox X Window System drivers."
+        if test ! -d $vboxvideo64_dest_base; then
+            echo "*** Missing destination paths for video module. Aborting."
+            echo "*** Failed to install the VirtualBox X Window System driver."
 
             # Exit as partially failed installation
@@ -261,32 +228,22 @@
         else
             # 32-bit x11 drivers
-            if test "$skip32" = "no" && test -f "$vboxadditions32_path/$vboxmouse_src"; then
-                vboxmouse_dest="$vboxmouse32_dest_base/vboxmouse_drv.so"
+            if test "$skip32" = "no" && test -f "$vboxadditions32_path/$vboxvideo_src"; then
                 vboxvideo_dest="$vboxvideo32_dest_base/vboxvideo_drv.so"
-                /usr/sbin/installf -c none $PKGINST "$vboxmouse_dest" f
                 /usr/sbin/installf -c none $PKGINST "$vboxvideo_dest" f
-                cp "$vboxadditions32_path/$vboxmouse_src" "$vboxmouse_dest"
                 cp "$vboxadditions32_path/$vboxvideo_src" "$vboxvideo_dest"
 
                 # Removing redundant names from pkg and files from disk
-                /usr/sbin/removef $PKGINST $vboxadditions32_path/vboxmouse_drv_* 1>/dev/null
                 /usr/sbin/removef $PKGINST $vboxadditions32_path/vboxvideo_drv_* 1>/dev/null
-                rm -f $vboxadditions32_path/vboxmouse_drv_*
                 rm -f $vboxadditions32_path/vboxvideo_drv_*
             fi
 
             # 64-bit x11 drivers
-            if test -f "$vboxadditions64_path/$vboxmouse_src"; then
-                vboxmouse_dest="$vboxmouse64_dest_base/vboxmouse_drv.so"
+            if test -f "$vboxadditions64_path/$vboxvideo_src"; then
                 vboxvideo_dest="$vboxvideo64_dest_base/vboxvideo_drv.so"
-                /usr/sbin/installf -c none $PKGINST "$vboxmouse_dest" f
                 /usr/sbin/installf -c none $PKGINST "$vboxvideo_dest" f
-                cp "$vboxadditions64_path/$vboxmouse_src" "$vboxmouse_dest"
                 cp "$vboxadditions64_path/$vboxvideo_src" "$vboxvideo_dest"
 
                 # Removing redundant names from pkg and files from disk
-                /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxmouse_drv_* 1>/dev/null
                 /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxvideo_drv_* 1>/dev/null
-                rm -f $vboxadditions64_path/vboxmouse_drv_*
                 rm -f $vboxadditions64_path/vboxvideo_drv_*
             fi
@@ -313,5 +270,5 @@
             fi
 
-            # Adjust xorg.conf with mouse and video driver sections
+            # Adjust xorg.conf with video driver sections
             $vboxadditions_path/x11config15sol.pl
         fi
@@ -411,6 +368,6 @@
     /usr/sbin/devfsadm -i vboxguest
 
-    # Setup VBoxService & start the service automatically
-    echo "Configuring service (this might take a while)..."
+    # Setup VBoxService and vboxmslnk and start the services automatically
+    echo "Configuring services (this might take a while)..."
     cmax=32
     cslept=0
@@ -422,5 +379,6 @@
     # 1 second intervals to see if our service has been successfully imported and timeout after 'cmax' seconds.
     /usr/sbin/svcadm restart svc:system/manifest-import:default
-    is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1`
+    ## @todo why do we redirect to /dev/null and then save the output?
+    is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1 && /usr/bin/svcs virtualbox/vboxmslnk >/dev/null 2>&1`
     while test $? -ne 0;
     do
@@ -431,11 +389,12 @@
             break
         fi
-        is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1`
+        is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1 && /usr/bin/svcs virtualbox/vboxmslnk >/dev/null 2>&1`
     done
     if test "$success" -eq 0; then
-        echo "Enabling service..."
+        echo "Enabling services..."
         /usr/sbin/svcadm enable -s virtualbox/vboxservice
+        /usr/sbin/svcadm enable -s virtualbox/vboxmslnk
     else
-        echo "## VBoxService import failed."
+        echo "## Service import failed."
         echo "## See /var/svc/log/system-manifest-import:default.log for details."
         # Exit as partially failed installation
Index: /trunk/src/VBox/Additions/x11/Installer/x11config15sol.pl
===================================================================
--- /trunk/src/VBox/Additions/x11/Installer/x11config15sol.pl	(revision 42468)
+++ /trunk/src/VBox/Additions/x11/Installer/x11config15sol.pl	(revision 42469)
@@ -33,5 +33,4 @@
         open(TMP, ">$temp") or die "Can't create $TMP: $!\n";
 
-        my $have_mouse = 0;
         my $in_section = 0;
 
@@ -41,11 +40,7 @@
             {
                 my $section = lc($1);
-                if (($section eq "inputdevice") || ($section eq "device"))
+                if ($section eq "device")
                 {
                     $in_section = 1;
-                }
-                if ($section eq "serverlayout")
-                {
-                    $in_layout = 1;
                 }
             } else {
@@ -53,5 +48,4 @@
                 {
                     $in_section = 0;
-                    $in_layout = 0;
                 }
             }
@@ -59,30 +53,4 @@
             if ($in_section)
             {
-                if ($line =~ /^\s*driver\s+\"(?:mouse|vboxmouse)\"/i)
-                {
-                    $line = "    Driver      \"vboxmouse\"\n    Option      \"CorePointer\"\n";
-                    $have_mouse = 1
-                }
-
-                # Other drivers sending events interfere badly with pointer integration
-                if ($line =~ /^\s*option\s+\"(?:alwayscore|sendcoreevents|corepointer)\"/i)
-                {
-                    $line = "";
-                }
-
-                # Solaris specific: Use /dev/vboxguest for Xorg 1.5.3+
-                if ($os_type =~ 'SunOS')
-                {
-                    if ($line =~ /^\s*option\s+\"(?:device)\"\s+\"(?:\/dev\/kdmouse)\"/i)
-                    {
-                        $line = "    Option      \"Device\" \"\/dev\/vboxguest\"\n"
-                    }
-
-                    if ($line =~ /^\s*option\s+\"(?:device)\"\s+\"(?:\/dev\/mouse)\"/i)
-                    {
-                        $line = "    Option      \"Device\" \"\/dev\/vboxguest\"\n"
-                    }
-                }
-
                 if ($line =~ /^\s*driver\s+\"(?:fbdev|vga|vesa|vboxvideo|ChangeMe)\"/i)
                 {
@@ -90,27 +58,7 @@
                 }
             }
-            if ($in_layout)
-            {
-                # Other drivers sending events interfere badly with pointer integration
-                if (   $line =~ /^\s*inputdevice.*\"(?:alwayscore|sendcoreevents)\"/i)
-                {
-                    $line = "";
-                }
-            }
             print TMP $line;
         }
 
-        if (!$have_mouse) {
-            print TMP "\n";
-            print TMP "Section \"InputDevice\"\n";
-            print TMP "        Identifier  \"VBoxMouse\"\n";
-            print TMP "        Driver      \"vboxmouse\"\n";
-            if ($os_type eq 'SunOS')
-            {
-                print TMP "        Option      \"Device\"     \"\/dev\/vboxguest\"\n";
-            }
-            print TMP "        Option      \"CorePointer\"\n";
-            print TMP "EndSection\n";
-        }
         close(TMP);
 
Index: /trunk/src/VBox/Additions/x11/Installer/x11restore.pl
===================================================================
--- /trunk/src/VBox/Additions/x11/Installer/x11restore.pl	(revision 42468)
+++ /trunk/src/VBox/Additions/x11/Installer/x11restore.pl	(revision 42469)
@@ -26,5 +26,5 @@
 
 my $config_count = 0;
-my $vboxpresent = "vboxmouse";
+my $vboxpresent = "vboxvideo";
 
 foreach $cfg (@cfg_files)
