Closed leinardi closed 10 years ago
I have the same problem. Is there something I am possibly missing?
i'm running xubuntu 14.04 and I can't even figure out how to get volgperf working at all. i've compiled it and after a few errors I managed to get it compiled running the make command without errors. THe instructions don't mention a make install, was I suppose to run sudo make install? The instructions say to cd to the voglperf directory and run steam like so "steam bin/voglperfrun64" but in the terminal i never see anything about a web server starting up like it says it should from the instructions. Any tips to get this to work so I can see how many FPS i am getting in The Witcher 2
Once you have compiled it you just need to start it:
bin/voglperfrun64
This should start a web server for you:
Starting web server...
Started http://100.65.128.9:8081
Just direct your browser to that page and you should find that voglperf is running. You can start a game from voglperf using a command like:
game start 440
Which starts TF2. You can get a list of game ids from steamdb.
I have a problem getting games to run though because I get an error message saying the pid could not be retrieved.
LD_PRELOAD=./libvoglperf32.so:/home/leinardi/temp/voglperf/bin/libvoglperf64.so:$LD_PRELOAD
It looks like maybe you haven't built the 32-bit version? TF2 is a 32-bit game so it would need libvoglperf32.so to be injected there.
Yep, that seems to be the problem.
make:
cmake options:
-DCMAKE_BUILD_TYPE='Release': Build debug or release. (Debug|Release)
-DCMAKE_VERBOSE='': Spew cmake project options. (On|Off)
-DBUILD_X64='': Build 32 or 64-bit. (On|Off)
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
Building 64-bit voglperf...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/leinardi/temp/voglperf/build_x86_64
make[1]: ingresso nella directory "/home/leinardi/temp/voglperf/build_x86_64"
make[2]: ingresso nella directory "/home/leinardi/temp/voglperf/build_x86_64"
make[3]: ingresso nella directory "/home/leinardi/temp/voglperf/build_x86_64"
Scanning dependencies of target voglperf
make[3]: uscita dalla directory "/home/leinardi/temp/voglperf/build_x86_64"
make[3]: ingresso nella directory "/home/leinardi/temp/voglperf/build_x86_64"
[ 25%] Building C object CMakeFiles/voglperf.dir/voglperf.c.o
Linking C shared library /home/leinardi/temp/voglperf/bin/libvoglperf64.so
make[3]: uscita dalla directory "/home/leinardi/temp/voglperf/build_x86_64"
[ 25%] Built target voglperf
make[3]: ingresso nella directory "/home/leinardi/temp/voglperf/build_x86_64"
Scanning dependencies of target voglperfrun
make[3]: uscita dalla directory "/home/leinardi/temp/voglperf/build_x86_64"
make[3]: ingresso nella directory "/home/leinardi/temp/voglperf/build_x86_64"
[ 50%] Building CXX object CMakeFiles/voglperfrun.dir/voglperfrun.cpp.o
In file included from /home/leinardi/temp/voglperf/src/voglperfrun.cpp:40:0:
/home/leinardi/temp/voglperf/src/libedit-3.1/include/histedit.h:199:46: warning: ‘int history(History*, HistEvent*, int, ...)’ hides constructor for ‘struct history’ [-Wshadow]
int history(History *, HistEvent *, int, ...);
^
[ 75%] Building CXX object CMakeFiles/voglperfrun.dir/voglutils.cpp.o
[100%] Building C object CMakeFiles/voglperfrun.dir/webby/webby.c.o
Linking CXX executable /home/leinardi/temp/voglperf/bin/voglperfrun64
make[3]: uscita dalla directory "/home/leinardi/temp/voglperf/build_x86_64"
[100%] Built target voglperfrun
make[2]: uscita dalla directory "/home/leinardi/temp/voglperf/build_x86_64"
make[1]: uscita dalla directory "/home/leinardi/temp/voglperf/build_x86_64"
make voglperf32:
cmake options:
-DCMAKE_BUILD_TYPE='Release': Build debug or release. (Debug|Release)
-DCMAKE_VERBOSE='': Spew cmake project options. (On|Off)
-DBUILD_X64='False': Build 32 or 64-bit. (On|Off)
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
Building 32-bit voglperf...
CMake Error at CMakeLists.txt:40 (message):
Find_package failed to locate i386-linux-gnu libGL.so.
-- Configuring incomplete, errors occurred!
See also "/home/leinardi/temp/voglperf/build32/CMakeFiles/CMakeOutput.log".
See also "/home/leinardi/temp/voglperf/build32/CMakeFiles/CMakeError.log".
make[1]: ingresso nella directory "/home/leinardi/temp/voglperf/build32"
make[1]: *** Nessun obiettivo specificato e nessun makefile trovato. Arresto.
make[1]: uscita dalla directory "/home/leinardi/temp/voglperf/build32"
make: *** [voglperf32] Errore 2
I solved it by creating a symbolic link:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Thanks for the hint.
I managed to solve the libGL problem but I am also getting this error:
In file included from /usr/include/unistd.h:25:0,
from /home/michaela/Development/voglperf/src/voglperf.c:26:
/usr/include/features.h:374:25: fatal error: sys/cdefs.h: No such file or directory
# include <sys/cdefs.h>
Running a find lists the following:
/usr/include/x86_64-linux-gnu/sys/cdefs.h
Did you have this problem? Do I simply need to symlink this file to /usr/include? I'm hesitant about doing so in case it screws up any future files that rely on it. Plus I'm guessing it was placed in the x64 directory for a reason.
I'm on Mint 17 and to get the 32-bit version building I had to apt-get these libraries as well:
g++-multilib, gcc-multilib, and libc6-dev-i386
That seemed to do it thanks!
On Tue, Jun 3, 2014 at 6:31 PM, Michael Sartain notifications@github.com wrote:
I'm on Mint 17 and to get the 32-bit version building I had to apt-get these libraries as well:
g++-multilib, gcc-multilib, and libc6-dev-i386
— Reply to this email directly or view it on GitHub https://github.com/ValveSoftware/voglperf/issues/7#issuecomment-44995449 .
Michael Aquilina
Great. Thanks Michael.
Hey guys I wanted to warn everyone that copying libGL.so to /usr/lib/i386-linux-gnu will cause dota2 and other source games to segfault. Running rm /usr/lib/i386-linux-gnu/libGL.*
will solve the problem.
Why was this closed? This is still an issue with 32 bit games and voglperf. Even if I follow the advice to link libGL, this still does not work. Example below with Super Meat Boy:
desktop@steamos:~/voglperf$ sudo -u steam bin/voglperfrun64
Starting web server...
Started http://192.168.11.112:8081
game start 40800
> game start 40800
GameID: 40800 (gameid40800)
LD_PRELOAD=/home/desktop/voglperf/bin/libvoglperf32.so:/home/desktop/voglperf/bin/libvoglperf64.so:$LD_PRELOAD
VOGLPERF_CMD_LINE="--msqid=229380 "
Steam url string:
steam steam://run/40800//VOGLPERF_CMD_LINE="--msqid=229380 " LD_PRELOAD=/home/desktop/voglperf/bin/libvoglperf32.so:/home/desktop/voglperf/bin/libvoglperf64.so:$LD_PRELOAD %command%
Launch string:
steam steam://run/40800//VOGLPERF_CMD_LINE%3d%22--msqid%3d229380%20%22%20LD_PRELOAD%3d%2fhome%2fdesktop%2fvoglperf%2fbin%2flibvoglperf32.so%3a%2fhome%2fdesktop%2fvoglperf%2fbin%2flibvoglperf64.so%3a%24LD_PRELOAD%20%25command%25
Waiting for child process to start...
Running Steam on steamos 1.0 64-bit
The game attempts to start, then crashes back to Steam and wrecks gamepad input.
Voglperf seems to have trouble finding the PID of the started game:
System Info: https://gist.github.com/leinardi/4c1779f0f800850724d1