vogl icon indicating copy to clipboard operation
vogl copied to clipboard

Planetary Annihilation Bugs

Open mikesart opened this issue 11 years ago • 3 comments

From Jorgen:

I tried running the latest vogl from github (built using the vogl_chroot) on our game, Planetary Annihilation, under Linux 64-bit.

It succeeded in capturing & playing back, but there's a lot of spew in the console, and there are some (very obvious) rendering artifacts.

Here're the commands I ran:

VOGL_CMD_LINE="--vogl_tracefile pa.bin" LD_PRELOAD=$HOME/Projects/vogl_chroot/vogl_build/libvogltrace64.so $HOME/Projects/pa/main/image/linux/PA/PA --hacks --username=jorgen --software-ui --devmode 2>&1 | tee /tmp/log

$HOME/Projects/vogl_chroot/vogl_build/vogl64 play pa.bin 2>&1 | tee /tmp/log-play

The contents of /tmp/log and /tmp/log-play are here:

https://gist.github.com/jorgenpt/a39261e107c157f98b2e

You should be able to reproduce this with the Steam version of PA. :-)

Oh, and in addition, the game uses CoherentUI (which spawns a number of subprocesses), but --software-ui should disable the OpenGL rendering for CoherentUI.


Lots of this spew in the logfile:

(vogltrace) Error: vogl_intercept.cpp(5561): vogl_glXSwapBuffersGLFuncProlog():Unable to determine which GL context is associated with the indicated drawable/display! Will not be able to take a screen capture, or record context related information to the trace!

mikesart avatar Jun 20 '14 17:06 mikesart

Redid my tests with latest vogl and latest PA:

VOGL_CMD_LINE="--vogl_tracefile pa.bin" LD_PRELOAD=$HOME/Projects/vogl_chroot/vogl_build/libvogltrace64.so $HOME/Projects/pa/main/image/linux/PA/PA --hacks --username=jorgen --devmode 2>&1 | tee /tmp/log

The game now renders fine (we fixed an issue in our renderer which was causing the rendering artifacts.) There's a lot of warning spew at startup about App has queried the address of non-whitelisted GL func.

The first error it encounters is:

(vogltrace) Error: vogl_intercept.cpp(5561): vogl_glXSwapBuffersGLFuncProlog():Unable to determine which GL context is associated with the indicated drawable/display! Will not be able to take a screen capture, or record context related information to the trace!
(vogltrace) Warning: No context is current, or the current context's display/drawable don't match the provided display/drawable. Will try to find the first context which matches the provided params, but this may not work reliably.

The vogl_glXSwapBuffersGLFuncProlog error reoccurs very frequently. There's also the following error:

(vogltrace) Error: vogl_intercept.cpp(953): vogl_entrypoint_prolog():Function "glXQueryServerString" not yet in function whitelist, this API will not be replayed and this trace will not be replayable!
(vogltrace) Error: vogl_intercept.cpp(953): vogl_entrypoint_prolog():Function "glXDestroyPbuffer" not yet in function whitelist, this API will not be replayed and this trace will not be replayable!

jorgenpt avatar Jul 16 '14 00:07 jorgenpt

I also reran the playback on this new (2GiB) replay, and there are a lot of warnings & errors. The playback itself renders correctly, but the window size is completely wrong (covers both monitors, capture was of a window smaller than my desktop.)

One frequent warning is this:

OGL Warning: While processing GL entrypoint packet func glDrawElements, frame 1746, swaps 1746, GL call counter 2394319, packet start trace context 0x2EE1F20, cur trace context 0x2EE1F20, trace thread 0x180C:
OGL Warning: count parameter is <= 0 (0)

As far as I know, sending 0 count to glDrawElements is valid. Is that not true?

jorgenpt avatar Jul 16 '14 00:07 jorgenpt

These test are all being executed on a 64-bit Mint 16 Linux machine with the proprietary NVIDIA drivers.

jorgenpt avatar Jul 16 '14 00:07 jorgenpt