QMPlay2 hardware decoding delegates the work of decoding video to the graphics card. It lowers processor load, reduces power consumption on laptops and assists with 4K and high-frame-rate files.
QMPlay2 leaves it disabled by default, so it must be enabled once.
Supported decoders
- Vulkan Video – cross-platform, operating with recent drivers
- CUVID – NVIDIA cards only
- D3D11VA and DXVA2 – Windows
- VA-API – Linux and BSD, common on Intel and AMD
- VideoToolbox – macOS
Enabling it
- Open Settings → Playback settings.
- Locate the list of video decoders.
- Move the hardware decoder you intend to use to the top of the list.
- Apply the settings and restart playback.
Should the chosen decoder prove unable to handle a file, QMPlay2 falls back to the next entry, so software decoding remains available as a safeguard.
What GPU decoding changes
Each decoder is tied to a particular video output. CUVID, DXVA2 and VA-API can use OpenGL; Vulkan Video, CUVID, D3D11VA and VA-API can use Vulkan.
Processor-based video filters do not operate on hardware-decoded frames. This includes software deinterlacing such as Yadif 2x.
VA-API, CUVID and DXVA2 provide their own deinterlacing options, which may be found under Settings → Video filters.
Known limitations
- DXVA2 requires the
WGL_NV_DX_interopextension and does not operate with Vulkan. - VideoToolbox offers no deinterlacing.
- H.264 lossless files (CRF 0 or QP 0) may not decode correctly through VA-API.
- VA-API on Vulkan applies its own deinterlacer only with Intel drivers.
VA-API with OpenGL on Linux
This path relies on EGL. On X11 the player attempts to detect EGL support, though the detection can fail. You may test it manually:
export QT_XCB_GL_INTEGRATION=xcb_glx
On systems with more than one GPU, VA-API must use the same device as OpenGL. If automatic detection selects the wrong card, specify it yourself:
export QMPLAY2_EGL_CARD_FILE_PATH=/dev/dri/card1
Run QMPlay2 from the same terminal to test. Once it works, add the variable to your session profile.
Verifying the result
Play a demanding file and observe processor usage in your system monitor. A marked reduction indicates that the GPU is performing the decoding.
Start with a repeatable comparison
QMPlay2 hardware decoding is easiest to evaluate with a repeatable test rather than a quick glance at processor usage. Choose a local video that your computer can already open with software decoding. Note its resolution, frame rate and codec if those details are available. Play the same passage for each test, and avoid comparing a quiet scene in one run with a demanding action scene in another.
Close unrelated tasks that could distort the comparison. A browser downloading files, a background update or another video application can change processor and graphics activity independently of QMPlay2. Record whether playback is smooth, whether sound stays aligned with the picture and whether seeking works normally. These observations matter as much as the percentage shown by a system monitor. A configuration that lowers processor usage but introduces visible corruption is not a successful result for that file.
Decoding and drawing are separate tasks
The graphics hardware may be involved in drawing the player window even when the video is being decoded by the processor. Therefore, seeing some GPU activity does not by itself prove that hardware video decoding is active. Use the information available from the player and the operating system alongside a controlled playback comparison. Look for a change in decoding workload rather than assuming every graphics graph describes the same activity.
Likewise, enabling a hardware decoder does not mean the graphics card can decode every file. Codec family, profile, bit depth and resolution can all affect compatibility. A computer may decode one video format efficiently and fall back to software for another. Test representative files from your own library. Keeping a supported software decoder available is useful because it provides a fallback when a particular file exceeds the hardware decoder's capabilities or exposes a driver problem.
Choose settings for the actual graphics device
Identify the graphics hardware and the driver in use before choosing a decoder. A decoder intended for another operating system or graphics family will not become suitable simply by being moved higher in the priority list. On laptops with integrated and discrete graphics, the available device can also depend on power mode and how the application is launched. Check which device your desktop session is actually using.
Begin with one suitable hardware option and keep the working software path below it. Apply the change, reopen the test file if necessary, and compare playback. If the result is worse, return to the previous order before trying a different option. This keeps each experiment understandable. Avoid changing the renderer, decoder, driver settings and video filters all at once, because an improvement or failure would then have several possible causes instead of one.
Use representative files from your library
A single successful test is useful but does not cover every type of media you own. Try a normal high-definition file, a higher-resolution file if you use one, and a file with the codec that previously caused high processor load. Include an interlaced source only if that is part of your actual viewing routine. The purpose is to check meaningful cases, not to enable every available setting.
Pay attention to the beginning of playback, scene changes and seeking. Some problems appear only after jumping through a file or returning from full screen. Check subtitles and audio synchronisation during the same test, because a smooth picture alone does not describe the whole experience. If one unusual file fails while several ordinary files work, keep that distinction in your notes. It may point to a format limitation rather than an application-wide configuration problem.
Understand why filters may behave differently
A decoder produces video frames, and a filter changes those frames before they are displayed. Hardware decoding can use a different frame path from software decoding. As a result, a filter that worked in the software path may not be available or may operate differently after a hardware decoder is selected. Do not interpret every unavailable filter as a failed installation.
If a particular filter is essential, compare the complete result with software decoding. For example, the best choice for an interlaced recording may be the configuration that delivers the most readable motion rather than the lowest processor percentage. Keep the source material and viewing conditions the same while comparing. Write down which filter you need, which decoder is active and which video output is selected. Those details make it possible to return to a combination that gave an acceptable picture.
Investigate black frames and corrupted video
If hardware decoding produces a black picture or visible corruption, first replay the same file with software decoding. A normal result there narrows the investigation to the hardware path without proving exactly which component is responsible. Check whether the symptom affects every file or only one format. If it appears after a driver change, include that change in your comparison notes.
Return to a known working decoder and output combination while investigating. A graphics driver update may help in some cases, but the driver should come from the appropriate source for your hardware and operating system. Do not install unrelated codec bundles to repair a renderer compatibility problem. If a particular hardware setting consistently fails, leaving software decoding enabled is a reasonable working configuration. Reliable playback matters more than forcing a setting that your current system handles poorly.
Laptop power use and everyday stability
Lower processor usage can help a laptop, but battery life depends on more than the decoder alone. Display brightness, wireless activity and whether a discrete GPU is kept awake also affect power consumption. Compare similar sessions under the same power mode before deciding that one setting saves energy. A short processor spike when opening a file is less informative than steady behaviour during playback.
Test the setup with the display arrangement you normally use. An external monitor, docking station or change between battery and mains power can alter the graphics path. After a working configuration is found, verify it across a normal viewing session and after reopening the player. Keep a short note of the decoder and output selected. If a later system update changes behaviour, those details give you a clear starting point instead of relying on memory.
FAQs
Does selecting a GPU decoder guarantee support for every video? No. The graphics device and driver support particular decoding capabilities. A different codec, profile or bit depth can require software decoding even when another file plays through hardware successfully. Compare several representative files and preserve a software fallback rather than judging support from a single sample.
Why is processor usage still visible? The processor still handles application work, audio, input, demuxing and other tasks. Hardware decoding does not remove all processing from the computer. Compare the same file under similar conditions and assess smoothness as well as workload. A lower number is useful only when picture, sound and seeking remain reliable.
Why did a video filter stop working? Hardware-decoded frames can follow a path that does not support the same processor-based filtering as software-decoded frames. Check the requirements of the filter you need and compare the complete playback result with software decoding. A missing filter in one configuration does not necessarily mean that the application package is incomplete.
Should I enable every hardware decoder? Use a decoder appropriate for your operating system and graphics hardware. Moving unrelated options above a working one makes testing harder and does not add capabilities to the device. Change one relevant setting, test the same passage and retain a known working fallback so that unsupported files remain playable.
Is software decoding always a problem? No. It can be the most reliable choice for an unsupported format, a troublesome driver combination or a workflow that depends on software filters. If playback is smooth and resource use is acceptable, software decoding is a valid configuration. Hardware acceleration is a tool for suitable cases rather than a requirement for all playback.
What should I record when reporting a problem? Note the operating system, graphics device, driver, decoder, video output and media characteristics. Describe whether software decoding works and whether multiple files reproduce the symptom. Include the action that triggers it, such as seeking or switching displays. A repeatable description is more useful than simply saying the GPU is not working.
Conclusion
QMPlay2 hardware acceleration should be configured through controlled comparisons with files you actually watch. Start from working software playback, choose a compatible decoder and test picture quality, sound alignment and seeking before judging processor use. Keep renderer and filter compatibility in mind, especially with interlaced media or multiple graphics devices. When a file or driver does not behave well, return to a known working path and preserve the details of the failed test. A stable configuration that suits your library is more useful than enabling options without checking the result.