Skip to main content
Home
GrN.dk

Main navigation

  • Articles
  • Cases
  • Services
  • Your Digital Project Manager
  • About Greg Nowak
  • Image Gallery
  • Contact
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

glxgears Without VSync: A Practical Linux Graphics Check

Illustrated infographic summarizing: Glxgears No Vertical Synchronization

By Greg Nowak. Last updated 2026-09-05.

glxgears is a quick way to confirm that a Linux desktop can create a GLX context, render a simple OpenGL scene and present frames. Run it without vertical synchronization and it can also reveal whether frame presentation is being capped by the display.

That makes it a useful five-minute smoke test after changing a graphics driver, updating a workstation image or investigating a creative application that suddenly feels slow. It is not, however, a meaningful GPU benchmark. Treat the output as diagnostic evidence—not a performance ranking.

What can glxgears actually tell you?

If the gears appear and move correctly, the basic OpenGL and GLX path is working. If the reported rate sits close to 60, 120 or 144 FPS, synchronization is probably following the monitor refresh rate. If the rate rises substantially when synchronization is disabled, you have confirmed that the earlier result was display-limited.

The number alone does not tell you whether one driver, GPU or workstation is faster. The scene is tiny, and its result is affected by the CPU, compositor, window size, software stack and frame-presentation path. Comparing an old 9,000 FPS result with 3,000 FPS on another machine is therefore misleading.

Start by identifying the session and renderer

Before changing anything, record the environment. These commands show the desktop session, detected graphics devices, kernel drivers and OpenGL renderer:

printf 'session: %s\n' "$XDG_SESSION_TYPE"
lspci -nnk | grep -A3 -E 'VGA|3D|Display'
glxinfo -B

In the glxinfo -B output, pay particular attention to OpenGL renderer string. A named Intel, AMD or NVIDIA GPU is normally expected. llvmpipe or softpipe means Mesa is rendering in software on the CPU. Also note that the server and client GLX vendor strings describe GLX components; they are not as useful for identifying the GPU doing the work.

If the commands are missing, install the package containing glxinfo and glxgears. It is commonly called mesa-utils on Debian, Ubuntu and Arch-based systems, and glx-utils on Fedora.

Run glxgears without vertical synchronization

Recent upstream versions provide a direct swap-interval option:

glxgears -swapinterval 0

Keep the window at a fixed size and let it run through several reporting intervals. To compare the synchronized and unsynchronized paths on the same machine, run:

glxgears -swapinterval 1
glxgears -swapinterval 0

If your packaged version does not recognize -swapinterval, use the driver-specific fallback. For Mesa-based OpenGL drivers, including the usual Intel, AMD and Nouveau paths:

vblank_mode=0 glxgears

For NVIDIA’s proprietary OpenGL implementation:

__GL_SYNC_TO_VBLANK=0 glxgears

These variables apply only to the launched process. That is preferable to exporting them globally: disabling synchronization desktop-wide can introduce tearing, unnecessary GPU or CPU activity, and confusing application behavior.

What you see Likely meaning Next move
FPS close to monitor refresh VSync or compositor pacing is active Use swap interval 0 and retest
FPS rises above refresh rate The simple render loop is no longer display-capped Do not treat the number as a GPU score
llvmpipe or softpipe CPU software rendering is active Check packages, device access and driver loading
Unexpected integrated GPU The application is using a different device Check hybrid-GPU or render-offload configuration
GLX or display error The graphical session, remote connection or container may not expose GLX Inspect the session and logs before replacing drivers
A glxgears result is most useful when it points to the next diagnostic step.

Remember the Wayland boundary

glxgears is a GLX application, which means it speaks the X11 graphics interface. In a Wayland session it will normally run through Xwayland, an X server operating as a Wayland client. A successful result therefore validates that compatibility path; it does not prove that a native Wayland/EGL application or a Vulkan workload is healthy.

This distinction also makes the old habit of searching only /var/log/Xorg.0.log incomplete. Xorg sessions may still write that file, but Xwayland does not load the traditional xf86-video-* display drivers. For a wider view of the current boot, start with:

journalctl -b --no-pager | grep -Ei 'Xorg|Xwayland|drm|nvidia|nouveau|amdgpu|i915'
sudo dmesg | grep -Ei 'drm|nvidia|nouveau|amdgpu|i915'

Turn the test into useful incident evidence

For a support ticket or deployment decision, capture the kernel version, session type, GPU, kernel driver, OpenGL renderer, exact command and several consecutive frame reports. Also state whether the problem affects every graphical application or only one product.

If you need a real performance comparison, test the actual application or a representative workload at the same resolution, settings, driver version, power profile and session type. That produces evidence tied to the business problem—rendering delays, unstable workstations or an unreliable production tool—instead of optimizing an animated set of gears.

If a Linux graphics issue is blocking a rollout or consuming agency delivery time, talk to Greg about turning the scattered command output into a clear diagnosis and next-step plan.

Related on GrN.dk

  • Nginx 1.30 Changed the Upstream Defaults—Test Before You Upgrade
  • NGINX 1.30 changed upstream connection reuse: what to check before you upgrade
  • Before Your Support Bot Learns the Help Center, Test Whether It Can Forget

Need help with this kind of work?

Discuss your Linux graphics issue Get in touch with Greg.

Sources

  • Mesa Demos: current glxgears source
  • Mesa DRI3 loader source
  • Mesa environment variables
  • NVIDIA Linux driver: OpenGL environment variables
  • Wayland: X11 application support
Last modified
2026-09-05

Tags

  • Linux
  • OpenGL
  • glxgears
  • GPU diagnostics
  • Log in to post comments

Review Greg on Google

Greg Nowak Google Reviews

 

Written recommendations from Trafik og Veje, Aarhus Municipality (2011) and AgroTech (2010) — read them on LinkedIn.

Illustrated infographic summarizing: From Supplier PDFs to Product Data: Where AI Needs a Second Check
From Supplier PDFs to Product Data: Where AI Needs a Second Check
2026-09-07

Supplier files need more than extraction. Here’s how to check coverage, match SKUs, resolve unclear units and prices, and test product data before a catalogue import.

Illustrated infographic summarizing: Shorter TLS Certificates: Will Your Renewal Setup Keep Up?
Shorter TLS Certificates: Will Your Renewal Setup Keep Up?
2026-09-06

Shorter TLS certificates leave less room for renewal problems. Check domain validation, scheduling, deployment and the certificate your customers actually receive.

Illustrated infographic summarizing: Your AI Image Has Content Credentials. Will Your Website Keep Them?
Your AI Image Has Content Credentials. Will Your Website Keep Them?
2026-09-05

AI image credentials can disappear during routine website processing. Learn how to test your CMS, optimizer, CDN, and publishing workflow end to end.

Illustrated infographic summarizing: What Are Customers Asking? Let AI Find the Patterns in Support Tickets
What Are Customers Asking? Let AI Find the Patterns in Support Tickets
2026-09-04

AI-based ticket analysis can uncover recurring complaints, product defects and gaps in documentation—without the company needing yet another chatbot.

Illustrated infographic summarizing: OpenAI Has Machine Identity Now. Which Jobs Should Lose API Keys?
OpenAI Has Machine Identity Now. Which Jobs Should Lose API Keys?
2026-09-03

OpenAI’s X.509 workload identity can replace API keys for the right workloads. This practical framework helps teams decide where to start safely.

Illustrated infographic summarizing: WordPress 7.1 Exposes AI-Ready Actions. Who Gets to Run Them?
WordPress 7.1 Exposes AI-Ready Actions. Who Gets to Run Them?
2026-09-02

WordPress 7.1 helps AI agents discover and invoke site abilities. Here is how to keep exposure, authentication and permission firmly separate.

Illustrated infographic summarizing: From Sales Meeting to CRM: Automate Follow-Up Without Compromising Data Quality
From Sales Meeting to CRM: Automate Follow-Up Without Compromising Data Quality
2026-09-01

How to use AI for meeting notes and follow-up while fixed rules protect CRM data, customer matching and the sales pipeline from errors and premature changes.

Illustrated infographic summarizing: Your AI Gateway Can Name the User. Decide What That Log Is For
Your AI Gateway Can Name the User. Decide What That Log Is For
2026-08-31

Identity-aware AI Gateway logs can sharpen security and cost control, but only when attribution, access, retention, guardrails, and response are clearly defined.

Illustrated infographic summarizing: Zero Data Retention Is a Workflow Audit, Not a Checkbox
Zero Data Retention Is a Workflow Audit, Not a Checkbox
2026-08-30

Zero Data Retention covers the provider, not every copy in your stack. See how to audit endpoints, logs, storage, deletion and project-level controls.

Illustrated infographic summarizing: MCP 2026-07-28 Is an Auth Migration, Not a Version Bump
MCP 2026-07-28 Is an Auth Migration, Not a Version Bump
2026-08-29

MCP’s July 2026 release removes protocol sessions and tightens OAuth. Here’s a practical plan for migrating clients, servers and enterprise access safely.

More articles

Built by AI — available for your business. The daily articles on this site are researched, written and illustrated by an autonomous AI pipeline. At nowa.dk I install the same kind of AI automation in businesses at fixed prices — site in Danish, English version here, and web/marketing agencies have a dedicated page.

RSS feed

Footer

  • All articles
  • Contact

GrN.dk — AI automation, web platforms, web optimization, data handling and logistics.

© 2026 GrN.dk · LinkedIn · Contact · AI automation in Danish: nowa.dk

Behind GrN.dk: Individual Entrepreneur Codecrafter · Tax ID 305669096 · Bakhtrioni St. 22, 0194 Tbilisi, Georgia · official business register