Thanks for the pointer. I hadn't noticed that.
However, as the
docs mention, WINE does not monitor its X11 Input event loop. So the
CTRL+SHIFT+F9 function does nothing. (Or if it does something, I didn't
notice because WINE insists on being in the foreground and will cover up
everything else.)
I looked around the source for how the key shortcut
was implemented and figured out how it calls vglconfig.
I hacked
around on a copy of vglconfig and came up with a utility that will allow
me to set the FPS of the WINE instance from the command line. It only
needs the SHM ID and the new FPS value passed to it. It doesn't require
any X11 display.
I've attached a patch that adds this utility to the
2.3.1 version of VirtualGL.
Any comments are welcome. :)
---
Thanks,
Dyweni
On 07/29/2012 15:04, DRC wrote:
> It is
configurable in the popup configuration dialog. See docs.
>
> On
7/29/12 8:29 AM, Dyweni - VirtualGL-Users wrote:
>
>> Hi All, I was
wondering if it would be possible to change the VGL_FPS limiter after
vglrun has been launched? If it isn't possible currently, what does
everyone think would be the best way of implementing this? The linux
kernel does this beautifully by allowing values to be written into
various files in the /proc/sys and /sys file systems. -- Thanks, Dyweni
------------------------------------------------------------------------------
Live Security Virtual Conference Exclusive live event will cover all
the ways today's security and threat landscape has changed and how IT
managers can respond. Discussions will include endpoint security, mobile
security and the latest in malware threats.
http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ [1]
_______________________________________________ VirtualGL-Users mailing
list VirtualGL-Users@lists.sourceforge.net [2]
https://lists.sourceforge.net/lists/listinfo/virtualgl-users [3]
>
>
------------------------------------------------------------------------------
>
Live Security Virtual Conference
> Exclusive live event will cover all
the ways today's security and
> threat landscape has changed and how IT
managers can respond. Discussions
> will include endpoint security,
mobile security and the latest in malware
> threats.
http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>
_______________________________________________
> VirtualGL-Users
mailing list
> VirtualGL-Users@lists.sourceforge.net
>
https://lists.sourceforge.net/lists/listinfo/virtualgl-users
Links:
------
[1]
http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
[2]
mailto:VirtualGL-Users@lists.sourceforge.net
[3]
https://lists.sourceforge.net/lists/listinfo/virtualgl-users
From a6b529189d399d42b3cafb4f07d848e8d535c778 Mon Sep 17 00:00:00 2001
From: root <r...@phenom.dyweni.com>
Date: Thu, 2 Aug 2012 01:32:30 -0500
Subject: [PATCH] vglfps
---
server/CMakeLists.txt | 7 +++++++
server/vglfps.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 53 insertions(+), 0 deletions(-)
create mode 100644 server/vglfps.cpp
diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
index 831002a..d339690 100644
--- a/server/CMakeLists.txt
+++ b/server/CMakeLists.txt
@@ -73,6 +73,13 @@ if(VGL_USEXV)
endif()
install(TARGETS vglconfig DESTINATION ${VGL_BINDIR})
+add_executable(vglfps vglfps.cpp fakerconfig.cpp)
+target_link_libraries(vglfps ${X11_X11_LIB} fltk_static pthread rrutil)
+if(VGL_USEXV)
+ target_link_libraries(vglfps ${X11_Xv_LIB})
+endif()
+install(TARGETS vglfps DESTINATION ${VGL_BINDIR})
+
install(PROGRAMS vglgenkey vgllogin vglserver_config DESTINATION
${VGL_BINDIR})
diff --git a/server/vglfps.cpp b/server/vglfps.cpp
new file mode 100644
index 0000000..d5370a9
--- /dev/null
+++ b/server/vglfps.cpp
@@ -0,0 +1,46 @@
+#include <sys/types.h>
+#include <sys/shm.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include "fakerconfig.h"
+
+#undef fconfig
+FakerConfig *_fconfig=NULL;
+#define fconfig (*_fconfig)
+
+#undef VGLFPS_PATH
+#define VGLFPS_PATH "@VGL_BINDIR@/vglfps"
+
+int main(int argc, char **argv) {
+ int tempi, shmid;
+ double tempf, fps;
+
+ if (argc < 3) {
+ printf("Usage: %s <shmid> <newfps>\n", argv[0]);
+ exit(1);
+ }
+
+ tempi = atoi(argv[1]);
+ if (tempi > -1) { shmid = tempi; }
+
+ tempf = atof(argv[2]);
+ if (tempf > 0) { fps = tempf; }
+
+ if((_fconfig=(FakerConfig *)shmat(shmid, 0, 0))==(FakerConfig *)-1) {
+ perror("shmat");
+ exit(1);
+ }
+ if(!_fconfig) {
+ printf("Could not attach to config structure in shared memory");
+ exit(1);
+ }
+
+ fconfig.fps = fps;
+
+ shmdt((char *)_fconfig);
+
+ return 0;
+}
+
--
1.7.8.6
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
VirtualGL-Users mailing list
VirtualGL-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtualgl-users