Index: /trunk/src/VBox/Frontends/VirtualBox/include/VBoxVMSettingsDisplay.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/include/VBoxVMSettingsDisplay.h	(revision 23684)
+++ /trunk/src/VBox/Frontends/VirtualBox/include/VBoxVMSettingsDisplay.h	(revision 23685)
@@ -37,4 +37,8 @@
     VBoxVMSettingsDisplay();
 
+#ifdef VBOX_WITH_VIDEOHWACCEL
+    bool isAcceleration2DVideoSelected() const;
+#endif
+
 protected:
 
Index: /trunk/src/VBox/Frontends/VirtualBox/include/VBoxVMSettingsGeneral.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/include/VBoxVMSettingsGeneral.h	(revision 23684)
+++ /trunk/src/VBox/Frontends/VirtualBox/include/VBoxVMSettingsGeneral.h	(revision 23685)
@@ -39,4 +39,8 @@
     bool is64BitOSTypeSelected() const;
 
+#ifdef VBOX_WITH_VIDEOHWACCEL
+    bool isWindowsOSTypeSelected() const;
+#endif
+
 protected:
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxSettingsDialogSpecific.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxSettingsDialogSpecific.cpp	(revision 23684)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxSettingsDialogSpecific.cpp	(revision 23685)
@@ -405,4 +405,17 @@
         mMachine.SetHWVirtExEnabled (true);
 
+#ifdef VBOX_WITH_VIDEOHWACCEL
+    /* Disable 2D Video Acceleration for non-Windows guests */
+    if(!generalPage->isWindowsOSTypeSelected())
+    {
+        VBoxVMSettingsDisplay *displayPage =
+            qobject_cast <VBoxVMSettingsDisplay*> (mSelector->idToPage (DisplayId));
+        if(displayPage->isAcceleration2DVideoSelected())
+        {
+            mMachine.SetAccelerate2DVideoEnabled(false);
+        }
+    }
+#endif
+
     /* Clear the "GUI_FirstRun" extra data key in case if the boot order
      * and/or disk configuration were changed */
@@ -529,4 +542,22 @@
     }
 
+#ifdef VBOX_WITH_VIDEOHWACCEL
+    /* 2D Video Acceleration is available for Windows guests only */
+    if (aPage == mSelector->idToPage (DisplayId))
+    {
+        VBoxVMSettingsGeneral *generalPage =
+            qobject_cast <VBoxVMSettingsGeneral*> (mSelector->idToPage (GeneralId));
+        VBoxVMSettingsDisplay *displayPage =
+            qobject_cast <VBoxVMSettingsDisplay*> (mSelector->idToPage (DisplayId));
+        if(displayPage->isAcceleration2DVideoSelected() && !generalPage->isWindowsOSTypeSelected())
+        {
+            aWarning = tr (
+                "you have Video 2D Acceleration enabled. As Video 2D Acceleration "
+                "is supported for Windows guests only, this feature will be disabled.");
+            return true;
+        }
+    }
+#endif
+
     return true;
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsDisplay.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsDisplay.cpp	(revision 23684)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsDisplay.cpp	(revision 23685)
@@ -100,4 +100,11 @@
 }
 
+#ifdef VBOX_WITH_VIDEOHWACCEL
+bool VBoxVMSettingsDisplay::isAcceleration2DVideoSelected() const
+{
+    return mCb2DVideo->isChecked();
+}
+#endif
+
 void VBoxVMSettingsDisplay::getFrom (const CMachine &aMachine)
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsGeneral.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsGeneral.cpp	(revision 23684)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsGeneral.cpp	(revision 23685)
@@ -55,4 +55,11 @@
     return mOSTypeSelector->type().GetIs64Bit();
 }
+
+#ifdef VBOX_WITH_VIDEOHWACCEL
+bool VBoxVMSettingsGeneral::isWindowsOSTypeSelected() const
+{
+    return mOSTypeSelector->type().GetFamilyId() == "Windows";
+}
+#endif
 
 void VBoxVMSettingsGeneral::getFrom (const CMachine &aMachine)
