Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To capture a Linux desktop at 60 or 120 frames per second, first match the capture method to your display session: use FFmpeg’s x11grab on X11, or OBS Studio’s PipeWire screen source on Wayland. Set the frame rate before the input, choose a resolution and encoder your system can sustain, and verify dropped-frame counters while recording. A still-image extractor cannot create frames that were never captured.

What “high-FPS screenshots” means on Linux

A screenshot is normally one still image. When people ask for 60 or 120 FPS screenshots, they usually mean recording a desktop stream at that frame rate and then exporting individual frames. The workflow has two separate rates:

  • Capture rate: how many desktop frames the recorder obtains each second.
  • Extraction rate: how many images per second are written from the recording.

If you capture at 30 FPS, running an extractor with fps=120 only duplicates or interpolates timing; it cannot recover motion between the original frames. For genuine 120-FPS still sequences, the display capture, compositor, capture API, encoder, storage and extraction pipeline all need to sustain 120 frames per second.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the backend for your session

Check your session type before choosing a command:

echo "$XDG_SESSION_TYPE"

The result is normally x11 or wayland. The practical choices are:

#1 Best Overall
Sale
Philips 24 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 241V8LB
  • CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
  • WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
  • A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
Session and method Best use Selection Trade-offs
X11 with FFmpeg x11grab Scripted whole-display, region or window capture Display or region coordinates; optional window ID Simple and automatable; high resolution and FPS increase CPU/GPU and I/O load
X11 with OBS XSHM Interactive recording with preview and statistics Display or window source More setup than a command; useful monitoring and scene controls
Wayland with OBS PipeWire/portal Permission-aware desktop or window capture Choose a screen/window through the portal Requires compositor support and permission approval; settings depend on hardware and compositor
Wayland or X11 with FFmpeg kmsgrab Advanced low-level DRM/KMS capture Connector and device mapping Permission-sensitive and hardware-specific; not the default desktop workflow

Traditional X11 grabbing is not a general Wayland solution. Wayland intentionally controls cross-client capture, so use a PipeWire-based portal path unless you specifically understand your compositor’s KMS setup.

Capture 60 or 120 FPS on X11 with FFmpeg

Install and confirm FFmpeg

Install the FFmpeg package supplied by your Linux distribution, then check that the executable is available:

ffmpeg -version

On X11, DISPLAY identifies the display (for example, :0.0). The x11grab device captures a region of an X11 display. Put -framerate before the input specification so it applies to capture rather than only to an output filter.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Whole-display baseline

ffmpeg -f x11grab -framerate 60 -video_size 1920x1080 -i "$DISPLAY" -c:v libx264 -preset veryfast capture.mkv

Replace 1920x1080 with the actual region you intend to capture. Press q in the terminal to stop cleanly. For 120 FPS, change -framerate 60 to -framerate 120 only after confirming that your display, desktop and machine can sustain that rate.

Rank #2
Sale
GMKtec G3S Mini PC Intel N95 Processor (Up to 3.4GHz) 8GB RAM 256GB M.2 SSD
  • 12th Intel Alder Lake N95 Processor – The GMKtec G3 S Mini PC is powered by the 12th Gen Intel N95 processor with 4 cores, 4 threads, 6MB cache and a burst frequency up to 3.4GHz. Compared with N100/N5105/N5100/N5095, the N95 delivers up to 36% overall performance improvement. Perfect for routine tasks, office work, and home entertainment, this compact mini desktop is more convenient than traditional bulky PCs.
  • 8GB RAM & 256GB SSD Storage – Pre-installed with 8GB DDR4 memory and a fast 256GB M.2 2242 SSD, the G3 S mini desktop offers quicker startup, smoother multitasking, and faster file transfers. Enjoy seamless performance whether you’re working on multiple applications, browsing, or streaming content.
  • Rich Interfaces & Connectivity – The G3 S mini computer comes equipped with USB 3.2 (up to 10Gbps), dual HDMI 2.0 (4K@60Hz), and a 3.5mm audio jack. With support for WiFi 5, Bluetooth 5.0, and Gigabit Ethernet (RJ45 1000MbE), it connects easily with monitors, projectors, printers, office equipment, and other peripherals, making it versatile for both home and business use.
  • Dual 4K Display Support – Featuring upgraded Intel UHD Graphics (up to 1000MHz), the G3 S supports 4K video playback and AV1 decoding for a smooth viewing experience. With dual HDMI outputs, you can connect two 4K@60Hz displays simultaneously, enabling efficient multitasking for work and entertainment.
  • GMKTEC WARRANTY - GMKtec offers a 3-year limited warranty (1 year replacement + 2 years parts replacement) for each mini PC, starting from the date of the purchase effective on all sales starting Oct. 2026. All defects due to design and workmanship are covered. With a professional after sales team always ready to attend to your needs, you can simply relax and enjoy your mini PC

Capture a region

Add an +x,y offset to the display input. This example captures a 1280×720 rectangle beginning 320 pixels from the left and 180 pixels from the top:

ffmpeg -f x11grab -framerate 120 -video_size 1280x720 -i "$DISPLAY+320,180" -c:v libx264 -preset veryfast region-120.mkv

Use coordinates that fit the target monitor and desktop layout. A smaller region is often the most effective way to keep a high frame rate while preserving a lossless or visually clean workflow.

Capture one X11 window

If you know the X11 window ID, pass it with -window_id. You can obtain IDs with an X11 utility such as xwininfo, then select the window interactively:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
xwininfo
ffmpeg -f x11grab -framerate 60 -window_id 0x4600007 -i "$DISPLAY" -c:v libx264 -preset veryfast window.mkv

Window capture is an X11 capability; it does not provide a portable way to select arbitrary Wayland windows.

Rank #3
KYY Portable Monitor 15.6" 1080P Computer Monitor Screen Extender w/Cover
  • [ FHD 1080P PORTABLE MONITOR ]: KYY using a 15.6''(8.8"x14.2") advanced IPS screen with 178° wide viewing angle, Delivers 1920*1080 breathtaking viewing quality and HDR technology, KYY portable gaming monitor has excellent color rendering ability, provide you the clearer, smooth, excellent performance in gaming/multimedia. It can effectively reduce blue light radiation damage, no flickering, eye-care, and make it easier to watch for a long time
  • [ WIDE COMPATIBILITY ]: KYY portable monitor for laptop equipped with 2 Full Function Type-C ports and Mini-HDMI port, easy access to your favorite devices with 1 cable solution as long as your device support Thunderbolt 3 or 3.1 USB-Type-C, compatible with most laptop, smartphone, PC, PS4, XBOX and more.
  • [ ULTRA-SLIM PORTABLE DISPLAY ]: KYY USB C portable monitor features a 0.3inch ultra-slim profile(1.7lb), it is easy to slides into your bag, allows you to carry it everywhere, ideal for a simple on-the-go dual-monitor setup or extend your phone screen for movies or games. No driver needed and equipped with 3.5mm audio inputs and 2 built-in stereo speakers to enhance entertainment experience
  • [ DURABLE SMART COVER ]: Comes with a scratch-proof smart cover made of durable PU leather exterior, doubles as a stand, provides comprehensive protection and frameless magnetic design for this portable computer monitor. There are two grooves in the cover base to give at least some choice of viewing angle for your comfort for less cumbersome installation
  • [ LIGHTWEIGHT BUT POWERFUL ]: KYY portable external monitor can work in both landscape and portrait mode, can be used as a gaming monitor, screen extender for laptop or phone. It has a unique designed Premium gray metal appearance, 2 built-in speakers to play audio, a friendly menu control wheel for setting, and 24/7 professional support team

Encoder and pixel-format choices

libx264 with the veryfast preset is a reasonable baseline, not a guaranteed performance setting. If FFmpeg reports that the capture loop is falling behind, reduce resolution or frame rate, use a faster encoder available on your system, or choose a hardware encoder exposed by your FFmpeg build. Faster encoding generally trades compression efficiency for lower latency and CPU use. Keep the recording container timestamped; Matroska (.mkv) is a resilient choice while testing.

Extract high-FPS still images from a recording

After recording, create a directory and extract frames at the rate actually captured:

mkdir -p frames
ffmpeg -i capture.mkv -vf "fps=60" -vsync 0 frames/frame_%06d.png

For a 120-FPS recording, use -vf "fps=120". PNG preserves the decoded frame without JPEG compression, but it creates large files and can become the storage bottleneck. If exact timing matters, retain the original video and its timestamps in addition to exported images. A 120-FPS request against a 60-FPS source cannot produce 120 unique moments.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Capture high FPS on Wayland with OBS Studio

Use the PipeWire screen or window source

  1. Start OBS Studio in your Wayland session.
  2. Open Settings → Video.
  3. Set Common FPS Values to the target supported by your compositor and hardware, such as 60 or 120.
  4. In the Sources dock, click + and choose Screen Capture (PipeWire) (the exact label can vary with the OBS package).
  5. Choose the display or window in the desktop portal dialog and approve the share request.
  6. Set the output resolution to the region you need, then choose a recording format that preserves frame timestamps.
  7. Start recording and watch the OBS statistics panel for dropped frames, rendering lag and encoding lag.

OBS documents PipeWire screen capture as a Linux source that requires Wayland. On X11, OBS also provides Screen Capture (XSHM) and window-capture sources; select those instead of PipeWire when the session is X11.

Rank #4
Acer 23.8in FHD 1920x1080 IPS 120Hz Office Monitor KB242Y G0bi
  • Incredible Images: The Acer KB242Y G0bi 23.8" monitor with 1920 x 1080 Full HD resolution in a 16:9 aspect ratio presents stunning, high-quality images with excellent detail. The zero-frame design provides maximum visibility of the screen from edge-to-edge.
  • Adaptive-Sync Support: Get fast refresh rates thanks to the Adaptive-Sync Support (FreeSync Compatible) product that matches the refresh rate of your monitor with your graphics card. The result is a smooth, tear-free experience in gaming and video playback applications.
  • Responsive!!: Fast response time of 1ms enhances the experience. No matter the fast-moving action or any dramatic transitions will be all rendered smoothly without the annoying effects of smearing or ghosting. With up to 120Hz refresh rate speeds up the frames per second to deliver smooth 2D motion scenes.
  • 23.8" Full HD (1920 x 1080) Widescreen IPS Monitor | Adaptive-Sync Support (FreeSync Compatible)
  • Refresh Rate: Up to 120Hz | Response Time: 1ms VRB | Brightness: 250 nits | Pixel Pitch: 0.275mm

When KMS capture is appropriate

FFmpeg’s kmsgrab can capture from the Linux DRM/KMS interface when the compositor and hardware expose a usable path. It may require device permissions, connector selection and hardware-aware format mapping. Treat it as an advanced option for controlled systems, not as the first choice for an ordinary desktop or laptop. A misconfigured KMS command can fail before producing any frames, even when OBS can capture successfully.

Make 60/120 FPS sustainable

Match the display and region

  • Confirm that the monitor and compositor are actually running at the target refresh rate; a 60-Hz output cannot provide 120 distinct display updates.
  • Capture only the monitor, window or rectangle needed. Full 4K at 120 FPS is far more demanding than 1080p at 60 FPS.
  • Keep width and height aligned with the encoder’s requirements. Odd dimensions can force conversions or fail with some hardware encoders.

Control processing and storage

  • Choose a pixel format and encoder that your CPU or GPU can process in real time.
  • Write to a fast local disk while recording; exporting thousands of PNGs can saturate storage even after capture succeeds.
  • Close unnecessary GPU-heavy applications and avoid running a preview at a larger size than the recording.
  • For long captures, monitor disk space. High-FPS lossless images consume space rapidly.

Verify rather than assume

Watch FFmpeg’s reported frame and drop counters during capture. In OBS, open the statistics view and check for dropped frames, rendering lag and encoding lag. These are operational checks, not a promise that a particular machine will achieve a particular rate. Test the exact resolution, desktop effects, application and encoder you plan to use.

Common failures and fixes

Symptom Likely cause Fix
Cannot open display or an empty X11 capture DISPLAY is unset, points to another display, or the process lacks X11 access Run echo "$DISPLAY" in the graphical session, use the correct display such as :0.0, and run the command as the logged-in desktop user.
FFmpeg says the input cannot be initialized on Wayland x11grab is being used against a Wayland session Use OBS PipeWire/portal capture, or investigate KMS only if you control the DRM setup.
Frames are dropped during recording Capture, encoding or disk throughput is insufficient Lower resolution or FPS, reduce the region, select a faster encoder, or record to faster local storage.
Output has fewer unique frames than requested The source or capture loop delivered fewer frames Inspect counters and timestamps; extraction cannot invent missing frames.
OBS portal shows no screen or window Portal/compositor integration or permission selection failed Retry the source, approve the portal dialog, update the desktop/portal packages, and test a different source type supported by the session.
Recording stops or the file is unusable after a crash The container was not finalized Stop with OBS’s Stop Recording button or FFmpeg’s q where possible; use Matroska while testing and keep temporary files until verified.
PNG extraction is too slow Image encoding or disk writes are the bottleneck Extract a smaller region, use a faster intermediate format, write to a fast disk, or export only the frame range you need.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Plan for timing, cursors and windows

Decide whether you need the cursor, a whole display or a single application before recording. X11 tools expose region offsets and window IDs; OBS lets you choose a display or window through its source and portal flow. Cursor behavior and exact timestamp fidelity vary by backend and compositor, so preserve the original recording when frame timing is part of an analysis, benchmark or animation workflow. If you need reproducible captures, record the session type, display size, target FPS, encoder, pixel format and capture region alongside the files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Or skip the browser setup

For a web page rather than a live Linux desktop, ScreenshotNeo provides a single HTTP request for a PNG, JPEG, WebP or PDF. It is not a replacement for capturing a game or desktop animation at 120 FPS, but it avoids maintaining a browser, display server and compositor when you need repeatable website images.

Best Value
Sale
Acer 21.5in FHD 1920x1080 100Hz Office Monitor KB220Q H2bi
  • Vibrant Images: Crisp, true-to-life colors come alive in Full HD 1080p resolution. Movies and games appear more real and dramatic, and small details and text are clear with 1920x1080 resolution in a 16:9 aspect ratio.
  • Adaptive-Sync Support: Get fast refresh rates thanks to the Adaptive-Sync Support (FreeSync Compatible) product that matches the refresh rate of your monitor with your graphics card. The result is a smooth, tear-free experience in gaming and video playback applications.
  • Up 100Hz Refresh Rate: The 100Hz refresh rate speeds up the frames per second to deliver an ultra-smooth 2D motion scene. With a rapid refresh rate of up to 100Hz, Acer Monitors shorten the time it takes for frame rendering, lower input lag and provide gamers an excellent in-game experience.
  • Responsive!!: Fast response time of 1ms enhances the experience. Fast-moving action or any dramatic transitions will be rendered smoothly without the annoying effects of smearing or ghosting.
  • ZeroFrame Design: With a KB220Q monitor, you’ll want to see as much of the display as possible. Get more real estate with the near bezel-less design, allowing you to see more and do more. The ZeroFrame design lets you place multiple monitors next to each other for a seamless, almost uninterrupted view.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the complete parameters and response details in the ScreenshotNeo documentation. The same request from Python is:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

And in Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
  • Cookie banners, newsletter popups and chat widgets are removed before the shot; each cleanup step can be disabled.
  • Bot checks, blank pages, timeouts, failed loads and cache hits are not billed. Response headers identify the page verdict and whether the request was billed.
  • An MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.
  • The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 screenshots. Yearly billing gives two months free, and every feature is available on every plan.

Sign up for the free ScreenshotNeo plan to try those 1,000 monthly screenshots without adding a card.

High-FPS capture checklist

  1. Run echo "$XDG_SESSION_TYPE" and identify X11 or Wayland.
  2. Select x11grab/OBS XSHM for X11, or OBS PipeWire for Wayland.
  3. Set capture FPS before the FFmpeg input, or set OBS’s video FPS before recording.
  4. Choose the smallest practical region and a sustainable encoder.
  5. Monitor dropped-frame, rendering and encoding counters.
  6. Keep the original timestamped recording, then extract PNGs or another suitable still format.

Frequently Asked Questions

Can I capture 120 FPS if my monitor is set to 60 Hz?

No. The capture path cannot obtain 120 distinct display updates from a 60-Hz output. You can request 120 in software, but the resulting sequence will not contain 120 unique screen moments per second.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Is FFmpeg x11grab usable inside a Wayland session?

Not as a general desktop method. Wayland controls cross-client capture; use OBS’s PipeWire/portal source or a deliberately configured KMS workflow.

Should I save every frame as PNG while recording?

Usually no. Record a timestamped video first, then extract the required frame range. Simultaneous lossless image writes can become the storage bottleneck.

How do I preserve exact frame timing for analysis?

Keep the original recording and its timestamps, document the capture settings, and avoid relying only on a numbered image sequence.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.