[X2Go-Commits] [python-x2go] 01/01: Windows: On XP & Server 2003 (R2), prevent high PulseAudio CPU usage by lowering its CPU priority to "normal" (Fixes: #537)

git-admin at x2go.org git-admin at x2go.org
Tue Jul 8 01:00:57 CEST 2014


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository python-x2go.

commit 837a73ceb4ce9ba1774760087a976832a775575f
Author: Mike DePaulo <mikedep333 at gmail.com>
Date:   Mon Jul 7 19:00:44 2014 -0400

    Windows: On XP & Server 2003 (R2), prevent high PulseAudio CPU usage by lowering its CPU priority to "normal" (Fixes: #537)
---
 debian/changelog   |    3 +++
 x2go/pulseaudio.py |   18 ++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index f685ff6..bfb39f1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -84,6 +84,9 @@ python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low
   [ Mike DePaulo ]
   * New upstream version (0.5.0.0):
     - Windows: Fix compatibility with PulseAudio 3.0 & later (Fixes: #532)
+    - Windows: Prevent high PulseAudio CPU usage on Windows XP by lowering
+      PulseAudio's CPU priority from "high" to "normal" on XP specifically.
+      Also do so on Windows Server 2003 (R2) (Fixes: #537)
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Sun, 05 Jan 2014 16:35:57 +0100
 
diff --git a/x2go/pulseaudio.py b/x2go/pulseaudio.py
index 886e194..de1b767 100644
--- a/x2go/pulseaudio.py
+++ b/x2go/pulseaudio.py
@@ -35,6 +35,7 @@ if _X2GOCLIENT_OS == 'Windows':
 
 # modules
 import os
+import sys
 import threading
 import gevent
 import copy
@@ -103,6 +104,23 @@ class X2GoPulseAudio(threading.Thread):
             '-L "module-esound-protocol-tcp port=16001"',
             '-L module-waveout',
         ]
+
+        # Fix for python-x2go bug #537.
+        # Works Around PulseAudio bug #80772.
+        # Tested with PulseAudio 5.0.
+        # This argument will not cause PulseAudio 1.1 to fail to launch.
+        # However, PulseAudio 1.1 ignores it for some reason.
+        # So yes, the fact that 1.1 ignores it would be a bug in python-x2go if
+        # we ever ship 1.1 again.
+        #
+        # wv.major == 5 matches 2000, XP, and Server 2003 (R2).
+        # (Not that we support 2000.)
+        wv = sys.getwindowsversion()
+        if (wv.major==5):
+            self.logger('Windows XP or Server 2003 (R2) detected.', loglevel=log.loglevel_DEBUG)
+            self.logger('Setting PulseAudio to "Normal" CPU priority.', loglevel=log.loglevel_DEBUG)
+            cmd_options.insert(0,"--high-priority=no")
+
         cmd_options = " %s" % " ".join(cmd_options)
 
         if not os.path.isdir(os.path.join(_LOCAL_HOME, '.pulse', '%s-runtime' % socket.gethostname())):

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git


More information about the x2go-commits mailing list