• Stars
    star
    1,417
  • Rank 33,205 (Top 0.7 %)
  • Language
    C++
  • License
    MIT License
  • Created over 10 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenGL capture / playback debugger.

vogl

NOTE

April 16, 2014: Vogl history has been completely and utterly trounced. The original repository had an entire chroot build system that most folks weren't interested in. A few contributors (thanks Carl & Sir Anthony) took the time to build a much smaller source only vogl repository which we've replaced the original one with.

A separate chroot repository (which will build this source repository) is now here:

https://bitbucket.org/raddebugger/vogl_chroot

Warning

This project is alpha^2. If you are up for suffering through a bit of pain with early releases, please jump in - we'd love to have your help...

Dependencies

The chroot configuration script should be a good reference for vogl dependencies. It is located here:

https://bitbucket.org/raddebugger/vogl_chroot/src/master/bin/chroot_configure.sh?at=master

The build dependencies for ubuntu (14.04) can be installed using the following:

sudo apt-get install build-essential pkg-config cmake libx11-dev \
                     zip wget libtinyxml-dev liblzma-dev libunwind8-dev \
                     libturbojpeg libdwarf-dev mesa-common-dev qt5-qmake\
                     freeglut3-dev qt5-default libqt5x11extras5-dev git \
                     libsdl2-gfx-dev libsdl2-image-dev libsdl2-ttf-dev libjpeg-turbo8-dev

Get Source and Build

Linux

git clone https://github.com/ValveSoftware/vogl.git  
mkdir -p vogl/vogl_build/release64 && cd $_  
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_X64=On ../..
make -j 10

The binaries are placed in the vogl/vogl_build directory.

For debug builds, use "-DCMAKE_BUILD_TYPE=Debug"
For 32-bit builds, use "-DBUILD_X64=Off"

Windows

git clone https://github.com/ValveSoftware/vogl.git
mkdir -p vogl\vogl_build\x64
cd vogl\vogl_build\x64
cmake -DQt5_DIR="C:\Qt\5.3\msvc2013_64_opengl\lib\cmake\Qt5" -G "Visual Studio 12 2013 Win64" ..\..
cd ..\..\..\
mkdir -p vogl\vogl_build\win32
cd vogl\vogl_build\win32
cmake -DQt5_DIR="C:\Qt\5.3\msvc2013_opengl\lib\cmake\Qt5" -G "Visual Studio 12 2013" ..\..

Note: The path to Qt5 might need to be adjusted depending on your install location. After compiling with Visual Studio, the binaries are placed in the vogl\vogl_build\Release (or Debug) directory.

Mac OS X

Install the required build dependencies using Homebrew:

brew install pkg-config cmake sdl2 qt5 xz jpeg-turbo tinyxml

Then build with:

git clone https://github.com/ValveSoftware/vogl.git

mkdir -p vogl/vogl_build/mac
cd       vogl/vogl_build/mac

cmake ../.. -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.3.2/
make

Note: the Mac port is not yet functional.

Capturing

cd vogl_build
VOGL_CMD_LINE="--vogl_tracefile vogltrace.glxspheres64.bin" LD_PRELOAD=$(readlink -f libvogltrace64.so) ./glxspheres64  

For capturing Steam games, please see the vogl_trace.sh script in the chroot repository:

https://bitbucket.org/raddebugger/vogl_chroot/src/master/bin/src/sl.cpp?at=master

We are currently working on making it much easier to launch and profile Steam apps.

Replay

./voglreplay64 play vogltrace.glxspheres64.bin

or launch vogleditor64 and open trace file.

QtCreator tagging and building

See qtcreator/qtcreator.md file: qtcreator.md

Vogl Dev List

http://lists.voglproj.com/listinfo.cgi/dev-voglproj.com

Useful Links

Vogl Wiki

OpenGL documentation/references

Specifications

License and Credits

Vogl code is MIT licensed.

Copyright 2013-2014 RAD Game Tools and Valve Software

All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

libbacktrace is BSD licensed. Libbacktrace license.

apitrace is MIT licensed: Apitrace license.

Loki is MIT licensed: Loki license.

Valgrind header files are BSD-style licensed: Valgrind header files.

GL header files are MIT licensed: GL header files.

glxspheres (from VirtualGL) is wxWindows Library licensed: wxWindows Library License.

SDL is zlib licensed: zlib license.

stb files (from Sean Barrett) are public domain.

TinyXML-2 is zlib licensed: zlib license.

More Repositories

1

Proton

Compatibility tool for Steam Play based on Wine and additional components
C++
23,893
star
2

GameNetworkingSockets

Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.
C++
7,851
star
3

openvr

OpenVR SDK
C++
6,085
star
4

steam-for-linux

Issue tracking for the Steam for Linux beta client
4,120
star
5

source-sdk-2013

The 2013 edition of the Source SDK
C++
3,657
star
6

halflife

Half-Life 1 engine based games
C++
3,016
star
7

steam-audio

Steam Audio
C++
2,140
star
8

ToGL

Direct3D to OpenGL abstraction layer
C++
2,021
star
9

SteamOS

SteamOS community tracker
1,582
star
10

Dota2-Gameplay

Public Bug Tracker for Dota2
1,475
star
11

wine

Wine with a bit of extra spice
C
1,227
star
12

steam-runtime

A runtime environment for Steam applications
Shell
1,153
star
13

steamvr_unity_plugin

SteamVR Unity Plugin - Documentation at: https://valvesoftware.github.io/steamvr_unity_plugin/
C#
1,033
star
14

SteamVR-for-Linux

Issue tracker for the Linux port of SteamVR
924
star
15

csgo-osx-linux

Counter-Strike: Global Offensive
755
star
16

Source-1-Games

Source 1 based games such as TF2 and Counter-Strike: Source
612
star
17

Fossilize

A serialization format for various persistent Vulkan object types.
C++
542
star
18

counter-strike

CS:GO
JavaScript
495
star
19

IndexHardware

486
star
20

csgo-demoinfo

CS:GO demo parsing tool
C++
474
star
21

steamlink-sdk

460
star
22

Dota-2

Tracker for issues specific to Linux and Mac in the Reborn client. If you have a general issue or non-system-specific feature request please go to dev.dota2.com
454
star
23

steamos_kernel

SteamOS kernel branches
C
395
star
24

dxvk

dxvk tree containing branches used by Proton
C++
368
star
25

unity-xr-plugin

OpenVR plugin for Unity's XR API
C#
309
star
26

ArtifactDeckCode

Reference code and documentation for Artifact deck codes
PHP
276
star
27

the_lab_renderer

Valveโ€™s VR renderer used in The Lab (Valveโ€™s VR launch title for the HTC Vive).
C#
274
star
28

voglperf

Benchmarking tool for Linux OpenGL games. Spews frame information, logs frametimes.
C
199
star
29

steamvr_unreal_plugin

SteamVR Input Unreal Plugin - Documentation at: https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki Sample project (UE4.15-4.23): https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin.zip Sample Project (UE.424+): https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin_UEIntegrated.7z
C++
168
star
30

Moondust

C#
160
star
31

steamos_mesa

Patched branches of Mesa used in SteamOS
C
155
star
32

vkd3d

C
144
star
33

portal2

Issues for the Linux port of Portal 2
138
star
34

steamworks-vr-api

Source for the Steamworks VR API
135
star
35

steam-devices

List of devices Steam and SteamVR will want read/write permissions on, to help downstream distributions create udev rules/etc
133
star
36

steamos-compositor

SteamOS session compositing window manager
C
120
star
37

driver_hydra

OpenVR Driver for Razer Hydra using Sixense SDK
C++
100
star
38

Dota-2-Vulkan

Tracker for issues specific to the Vulkan version of Dota 2 on Windows, Linux, and macOS
95
star
39

virtual_display

An example OpenVR driver for demonstrating the IVRVirtualDisplay interface.
C++
82
star
40

openxr_engine_plugins

Contains Valve-provided plugins for using OpenXR extensions with various game engines
Mathematica
47
star
41

linux

SteamOS fork of the Debian kernel packaging repository at https://anonscm.debian.org/git/kernel/linux.git/
45
star
42

eigen

Fork of Eigen release version 3.4. Adds ability to use alternate threading systems from Open MP.
C++
23
star
43

Dota-Underlords

Tracker for issues specific to the Linux and macOS client of Dota Underlords
22
star
44

OpenXR-Canonical-Pose-Tool

A tool to help OpenXR runtime developers match their poses to other runtimes' poses.
C
10
star
45

VR-Community-Bugs

Repository for VR Bugs reported through tickets and community outreach
9
star