Debug, profile, and optimize OpenGL 4.x on Linux
Epic Games revealed the "Infiltrator" demo, running 100% in-engine in real time, at GDC 2013 to show off Unreal Engine 4's high-end rendering features
NVIDIA Linux Graphics Debugger is a 3D graphics development tool that allows developers to debug, profile, and optimize modern OpenGL applications on Linux. It enables professional graphics developers to get the most out of their NVIDIA Quadro and GeForce GPUs on a variety of Linux distributions.
Inheriting from the many man-years of investment in OpenGL development tools from the NVIDIA® Nsight™ Visual Studio Edition, the Linux Graphics Debugger can monitor key GPU software and hardware performance metrics with the Performance Dashboard, profile and find bottlenecks in your graphics application with the Range Profiler, and allow you to try debugging and optimizing your shaders with Dynamic Shader Editing.
The Linux Graphics Debugger Frame Debugger allows for:
- Real-time examination of draw calls and dispatches.
- Interactive examination of GPU pipeline state, including visualization of bound textures, geometry and other resources.
- Identifying performance bottlenecks and GPU utilization.
Join the NVIDIA Developer Program
Get access to the latest software releases and tools and receive notifications and invites to join special developer events, early access programs and educational webinars. The program is free-to-join and open to all developers.
Sign up now!
To run Linux Graphics Debugger, please obtain a compatible NVIDIA Driver for your hardware.
- 370.23 or newer drivers are required for Linux Graphics Debugger 2.0.
What’s new in Linux Graphics Debugger 2.0
Frame debugging and profiling can be done on the latest Pascal family of GPUs (Requires a Linux driver version >370.23).
The Range Profiler is a powerful new view for determining how your application utilizes the GPU.
- All new performance library for improved GPU instrumentation, as well as collection speed and accuracy.
- Improved data mining, allowing the user to construct ranges from sections of the scene based on predefined or user-defined criteria.
- Elapsed GPU time is reported for each range, as well as hardware statistics detailing how efficiently the GPU was used.
Added new Disable Depth Test and Disable Cull Face performance tests.
Better support for GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect, and other extensions.
Improved Resources View UI, including side by side selection and resource inspection.
Improved the Geometry View with powerful visualization capabilities and automated detection of vertex buffer data errors.
Added Issues column to the Events View to point out potential bugs and performance issues, correlated to the event stream.
Frame Debugger now has a Capture Next Frame feature to help track down intermittent issues.
Users can now retry capture if unsupported OpenGL operations are encountered.
Ubuntu v12.04, v14.04, v16.04
NVIDIA Quadro and Tesla K-Series/M-Series or better, and GeForce 600 series or better GPUs
Linux drivers R370.23 or newer
Supported OpenGL Functions
OpenGL 4.2, 4.3, 4.4, and 4.5
Key Features of Linux Graphics Debugger
Monitor key software and hardware performance metrics
- Use Linux Graphics Debugger to attach to your graphics application to monitor key software and hardware performance metrics, such as "frames per second" to gauge rendering performance and "GPU utilization" via the performance dashboard to ensure you're taking full advantage of the hardware.
Debug draw calls and related states and resources
- The frame debugger grabs a rendered frame from your application for further analysis and debugging. Powerful tools, such as the frame scrubber and the event list allow you to navigate the massive amounts of data generated by your application. Other views, such as the resource viewer, allow you to explore your application and examine assets, while the API inspector provides a view into the internals of your application.
Profile performance and live capture of a single rendering frame
- The frame profiler uses hardware performance monitors to measure unit utilization and bottlenecks, reporting the performance limiters for the rendered frame. The high level overview shows where compute cycles are spent and memory bandwidth utilization. Additional tools provide more granular details. For example, state buckets group similar rendering commands allowing for optimizations that provide the maximum bang for your buck.
Edit and recompile shaders live
- With Linux Graphics Debugger, you can edit and recompile graphics shader source code on the fly, allowing you to experiment with modifications to your shader source for both performance and debugging. These modifications can easily be toggled or updated to compare rendering or performance results in conjunction with directed tests.
Automatic GPU bottleneck analysis
- Directed tests provide a painless method for identifying application bottlenecks.
An install guide and how to use documentation for the Linux Graphics Debugger is available online.
Instructional Videos and Webinars can be found here.
Our forum community is where Developers can ask questions, share experiences and participate in discussions with NVIDIA and other experts in the field.
Check out available forums here.