|
--- a/python/configure.py
|
|
+++ b/python/configure.py
|
|
@@ -361,6 +361,12 @@
|
|
else:
|
|
subprocess.Popen(["bash", Variables.playonlinux_env+"/bash/POL_Command", "--prefix", self.s_prefix.encode('utf-8','replace'), "POL_Wine_DirectInput", param, self.display_elements[param].GetValue().encode('utf-8','replace')])
|
|
|
|
+ def change_Optimus_settings(self, param):
|
|
+ if(self.s_isPrefix == False):
|
|
+ subprocess.Popen(["bash", Variables.playonlinux_env+"/bash/POL_Command", self.s_title.encode('utf-8','replace'), "POL_Optimus_Support", param, self.display_elements[param].GetValue().encode('utf-8','replace')])
|
|
+ else:
|
|
+ subprocess.Popen(["bash", Variables.playonlinux_env+"/bash/POL_Command", "--prefix", self.s_prefix.encode('utf-8','replace'), "POL_Optimus_Support", param, self.display_elements[param].GetValue().encode('utf-8','replace')])
|
|
+
|
|
def get_current_settings(self, param):
|
|
self.display_elements[param].SetValue(self.settings[param])
|
|
|
|
@@ -425,7 +431,7 @@
|
|
self.display_elements["pre_run_text"].Hide()
|
|
|
|
self.Refresh()
|
|
- self.elements = ["UseGLSL","DirectDrawRenderer","VideoMemorySize","OffscreenRenderingMode","RenderTargetModeLock","Multisampling","StrictDrawOrdering","MouseWarpOverride"]
|
|
+ self.elements = ["UseGLSL","DirectDrawRenderer","VideoMemorySize","OffscreenRenderingMode","RenderTargetModeLock","Multisampling","StrictDrawOrdering","OptimusSupport","MouseWarpOverride"]
|
|
self.settings = wine.LoadRegValues(self.s_prefix,self.elements)
|
|
#print self.settings
|
|
self.get_current_settings("UseGLSL")
|
|
@@ -435,6 +441,7 @@
|
|
self.get_current_settings("RenderTargetModeLock")
|
|
self.get_current_settings("Multisampling")
|
|
self.get_current_settings("StrictDrawOrdering")
|
|
+ self.get_current_settings("OptimusSupport")
|
|
self.get_current_settings("MouseWarpOverride")
|
|
|
|
self.arch = playonlinux.GetSettings('ARCH',self.s_prefix)
|
|
@@ -465,6 +472,8 @@
|
|
self.change_Direct3D_settings("Multisampling")
|
|
if(param == 307):
|
|
self.change_Direct3D_settings("StrictDrawOrdering")
|
|
+ if(param == 308):
|
|
+ self.change_Direct3D_settings("OptimusSupport")
|
|
if(param == 401):
|
|
self.change_DirectInput_settings("MouseWarpOverride")
|
|
|
|
@@ -569,7 +578,7 @@
|
|
self.AddDisplayElement(_("Render target mode lock"),"RenderTargetModeLock",["disabeld","readdraw","readtex"],["disabled","readdraw","readtex"],5)
|
|
self.AddDisplayElement(_("Multisampling"),"Multisampling",["Enabled","Disabled"],["enabled","disabled"],6)
|
|
self.AddDisplayElement(_("Strict Draw Ordering"),"StrictDrawOrdering",["enabled","disabled"],["enabled","disabled"],7)
|
|
-
|
|
+ self.AddDisplayElement(_("Optimus Support"),"OptimusSupport",["enabled","disabled"],["enabled","disabled"],8)
|
|
|
|
def Miscellaneous(self, nom):
|
|
self.misc_elements = {}
|
|
|
|
--- a/lib/wine.lib
|
|
+++ b/lib/wine.lib
|
|
@@ -543,6 +543,14 @@
|
|
return $errors
|
|
}
|
|
|
|
+POL_Optimus_Support ()
|
|
+{
|
|
+# POL_Wine_AutoSetVersionEnv
|
|
+# wineserver -k
|
|
+ "$(POL_Config_Write PRE_WINE 'optirun')"
|
|
+# wineserver -k
|
|
+}
|
|
+
|
|
POL_Wine_SelectPrefix()
|
|
{
|
|
# Select a wineprefix and remove unexpected chars
|