VDPAU (Video Decode and Presentation API for Unix) lets Nvidia cards play video with hardware acceleration. It lets any Linux, Solaris, and FreeBSD system play files, including highly complex H.264 formats produced by the [[Hauppauge HD-PVR]], that would otherwise require a high-end multicore CPU.

+

VDPAU (Video Decode and Presentation API for Unix) lets Nvidia and [[AMD/ATI uvd]] cards play video with hardware acceleration. It lets any Linux, Solaris, and FreeBSD system play files, including highly complex H.264 formats produced by the [[Hauppauge HD-PVR]], that would otherwise require a high-end multicore CPU.

−

It in essence provides what PureVideo/DirectX Video Acceleration is on the Windows platform. In addition to [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 updated NVIDIA binary drivers]

+

It in essence provides what PureVideo/DirectX Video Acceleration is on the Windows platform. In addition to [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 updated NVIDIA binary drivers] or the open source ATI/AMD driver

that support the API, extensive [ftp://download.nvidia.com/XFree86/vdpau/doxygen/html/index.html documentation] is available.

that support the API, extensive [ftp://download.nvidia.com/XFree86/vdpau/doxygen/html/index.html documentation] is available.

Line 24:

Line 24:

==Supported Cards==

==Supported Cards==

+

===Nvidia===

VDPAU is currently supported on the following NVIDIA GPUs (driver version 180.44). An up-to-date list is available at the Nvidia link given below under 'External Links'. Feature Set, when known, is reflected in parenthesis (A/B/C). See more details regarding [http://en.wikipedia.org/wiki/Nvidia_PureVideo#Nvidia_VDPAU_Feature_Sets feature set capabilities here] and the nvidia driver readme [ftp://download.nvidia.com/XFree86/Linux-x86/270.18/README/supportedchips.html Appendix A. Supported NVIDIA GPU Products]

VDPAU is currently supported on the following NVIDIA GPUs (driver version 180.44). An up-to-date list is available at the Nvidia link given below under 'External Links'. Feature Set, when known, is reflected in parenthesis (A/B/C). See more details regarding [http://en.wikipedia.org/wiki/Nvidia_PureVideo#Nvidia_VDPAU_Feature_Sets feature set capabilities here] and the nvidia driver readme [ftp://download.nvidia.com/XFree86/Linux-x86/270.18/README/supportedchips.html Appendix A. Supported NVIDIA GPU Products]

Line 236:

Line 237:

*GeForce GTX 460M

*GeForce GTX 460M

*GeForce GTX 480M

*GeForce GTX 480M

+

*GeForce 610M

!

!

* Second Generation ION / GT218

* Second Generation ION / GT218

+

* GeForce 610M

!

!

*NVS 300

*NVS 300

Line 303:

Line 306:

Since video decoding is done in dedicated hardware, all supported cards have the same level of performance. Specifically, this means [http://en.wikipedia.org/wiki/H.264#Profiles H.264 High 4.1], [http://en.wikipedia.org/wiki/VC-1#Profiles VC-1 Advanced 3], or [http://en.wikipedia.org/wiki/Mpeg2#Video_profiles_and_levels MPEG-2 MP@HL] at up to 40Mbps. Deinterlacing is performed within the shader hardware, so a more powerful card will be capable of more advanced filters at higher resolutions and framerates. Increased memory bandwidth will also help. Detailed specs on shaders, memory bandwidth, etc. can be found at this [http://en.wikipedia.org/wiki/GeForce#Generations GeForce Chipsets] page. Just click on the link for the relevant chipset to see the details.(see User results table below for examples).

Since video decoding is done in dedicated hardware, all supported cards have the same level of performance. Specifically, this means [http://en.wikipedia.org/wiki/H.264#Profiles H.264 High 4.1], [http://en.wikipedia.org/wiki/VC-1#Profiles VC-1 Advanced 3], or [http://en.wikipedia.org/wiki/Mpeg2#Video_profiles_and_levels MPEG-2 MP@HL] at up to 40Mbps. Deinterlacing is performed within the shader hardware, so a more powerful card will be capable of more advanced filters at higher resolutions and framerates. Increased memory bandwidth will also help. Detailed specs on shaders, memory bandwidth, etc. can be found at this [http://en.wikipedia.org/wiki/GeForce#Generations GeForce Chipsets] page. Just click on the link for the relevant chipset to see the details.(see User results table below for examples).

+

===ATI/AMD===

+

====Supported Features====

+

* Bit stream Audio (including DTS-HD, TrueHD, LPCM 7.1)

+

* max resolution: 2048 x 1152

+

* mpeg2, mpeg4, h264, vc1 advanced acceleration

+

* Bob and Temporal deinterlacing via vdpau

+

+

+

====Video Cards====

+

+

+

{| border=1 cellpadding=5 cellspacing=1

+

|- style="background-color: lightgreen; color:Black;"

+

! Family

+

! Engineering Names

+

! Marketing Names

+

! UVD Version

+

! VDPAU Capable

+

|- align="left"

+

!

+

R100

+

!

+

*R100

+

*RV100

+

*RV200

+

*RS100

+

*RS200

+

!

+

*7xxx

+

*320-345

+

+

+

!

+

+

! style="background-color: red" | NO

+

|- align="left"

+

!

+

R200

+

!

+

*R200

+

*RV250

+

*RV280

+

*RS300

+

!

+

*8xxx - 9250

+

!

+

! style="background-color: red" | NO

+

|- align="left"

+

!

+

R300

+

!

+

*R300

+

*R350

+

*RV350

+

*RV380

+

*RS400

+

*RS480

+

!

+

*9500 - 9800

+

*X300 - X600

+

*X1050 - X1150

+

*200M

+

!

+

! style="background-color: red" | NO

+

|- align="left"

+

!

+

R400

+

!

+

*R420

+

*R423

+

*RV410

+

*RS600

+

*RS690

+

*RS740

+

!

+

*X700 - X850

+

*X12xx

+

*2100

+

*X700 - X850

+

*X12xx

+

*2100

+

!

+

! style="background-color: red" | NO

+

|- align="left"

+

!

+

R500

+

!

+

*RV515

+

*R520

+

*RV530

+

*RV560

+

*RV570

+

*R580

+

!

+

*X1300 - X2300

+

*HD2300

+

!

+

! style="background-color: red" | NO

+

|- align="left"

+

!

+

R600

+

!

+

*R600

+

*RV610

+

*RV630

+

*RV620

+

*RV635

+

*RV670

+

*RS780

+

*RS880

+

!

+

*HD2400 - HD4290

+

!

+

+

! style="background-color: lightgreen" | Yes

+

|- align="left"

+

!

+

R700

+

!

+

*RV770

+

*RV730

+

*RV710

+

*RV740

+

!

+

*HD4330 - HD5165

+

*HD5xxV

+

!

+

+

! style="background-color: lightgreen" | Yes

+

|- align="left"

+

!

+

Evergreen

+

!

+

*CEDAR

+

*REDWOOD

+

*JUNIPER

+

*CYPRESS

+

*PALM (Wrestler)

+

*SUMO

+

*SUMO2

+

!

+

*HD5430 - HD5970

+

*all HD6000 not listed under Northern Islands

+

*HD7350

+

!

+

UVD 2.2 (Cedar - cypress)

+

UVD 3 (Plam - Sumo)

+

! style="background-color: lightgreen" | Yes

+

|- align="left"

+

!

+

Northern Islands

+

!

+

*ARUBA

+

*BARTS

+

*TURKS

+

*CAICOS

+

*CAYMAN

+

!

+

*HD6450

+

*HD6570

+

*HD6670

+

*HD6790 - HD6990

+

*HD64xxM

+

*HD67xxM

+

*HD69xxM

+

*HD7450 - HD7670

+

!

+

UVD 3

+

! style="background-color: lightgreen" | Yes

+

|- align="left"

+

!

+

Southern Islands

+

!

+

*CAPE VERDE

+

*PITCAIRN

+

*TAHITI

+

*OLAND

+

*HAINAN

+

!

+

*HD7750 - HD7970

+

*R9 270

+

*R9-280

+

*R7 240

+

*R7 250

+

!

+

UVD 3

+

! style="background-color: lightgreen" | Yes

+

|- align="left"

+

!

+

Sea Islands

+

!

+

*BONAIRE

+

*KABINI

+

*KAVERI

+

*HAWAII

+

!

+

*HD7790

+

*R7 260

+

*R9 290

+

!

+

UVD 3

+

! style="background-color: lightgreen" | Yes

+

|}

+

====UVD 2====

+

The UVD saw a refresh with the release of the Radeon HD 4000 series products. The UVD 2 features full bitstream decoding of H.264/MPEG-4 AVC, VC-1, as well as iDCT level acceleration of MPEG2 video streams. Performance improvements allow dual video stream decoding and Picture-in-Picture mode. This makes UVD2 full BD-Live compliant.

+

====UVD 2.2====

+

The UVD 2.2 features a re-designed local memory interface and enhances the compatibility with MPEG2/H.264/VC-1 videos. However, it was marketed under the same alias as "UVD 2 Enhanced" as the "special core-logic, available in RV770 and RV730 series of GPUs, for hardware decoding of MPEG2, H.264 and VC-1 video with dual-stream decoding". The nature of UVD 2.2 being an incremental update to the UVD 2 can be accounted for this move.

+

====UVD 3====

+

UVD3 adds support for bitstream MPEG2 decoding, DivX and Xvid via MPEG-4 Part 2 decoding and Blu-ray 3D via MVC.[7] along with 120 Hz stereo 3D support,[8] and is optimized to utilize less CPU processing power.

VDPAU Playback Profiles are automatically created in current versions.

VDPAU Playback Profiles are automatically created in current versions.

Line 577:

Line 800:

=Troubleshooting=

=Troubleshooting=

−

+

==Nvidia==

The following configuration changes should be used to prevent issues with VDPAU when used with MythTV:

The following configuration changes should be used to prevent issues with VDPAU when used with MythTV:

Line 586:

Line 809:

Option "TripleBuffer" "True"

Option "TripleBuffer" "True"

−

=== Tearing/Stuttering ===

+

==== Tearing/Stuttering ====

−

==== Disabling the Composite Extension ====

+

===== Disabling the Composite Extension =====

Tearing of the OSD over a perfect video playback can be avoided by stopping playback, exiting playback, and re-starting playback of the stream. (No idea why this works..only that it does.)

Tearing of the OSD over a perfect video playback can be avoided by stopping playback, exiting playback, and re-starting playback of the stream. (No idea why this works..only that it does.)

Line 600:

Line 823:

This may also help eliminate sporadic single-frame ''stuttering'' glitches (e.g. slight jerks in long panning shots or scrolling backgrounds).

This may also help eliminate sporadic single-frame ''stuttering'' glitches (e.g. slight jerks in long panning shots or scrolling backgrounds).

−

==== GPU Power Management ====

+

===== GPU Power Management =====

Another common problem is the "adaptive clocking" PowerMizer capability of some NVidia cards: if this is active, frames will occasionally be dropped as the clock rate is adjusted. To switch to performance mode temporarily, use the nvidia-settings application in interactive mode to set "Preferred Mode" to "Prefer Maximum Performance" under each GPU's "PowerMizer" page.

Another common problem is the "adaptive clocking" PowerMizer capability of some NVidia cards: if this is active, frames will occasionally be dropped as the clock rate is adjusted. To switch to performance mode temporarily, use the nvidia-settings application in interactive mode to set "Preferred Mode" to "Prefer Maximum Performance" under each GPU's "PowerMizer" page.

Line 612:

Line 835:

after the following reboot.

after the following reboot.

−

=== Artifacts ===

+

==== Artifacts ====

Adding "vdpaubuffersize=32" ''(or higher: eg. 42 works well for the Zotac HD-ID11 box)'' in the list of filters in Playback Settings may help with artifacts during playback. '''Remove this filter if running on 0.25 or later'''.

Adding "vdpaubuffersize=32" ''(or higher: eg. 42 works well for the Zotac HD-ID11 box)'' in the list of filters in Playback Settings may help with artifacts during playback. '''Remove this filter if running on 0.25 or later'''.

−

=== CPU Frequency Scaling ===

+

==== CPU Frequency Scaling ====

If you are using CPU frequency scaling and are having problems playing HD video with VDPAU (stuttering video or audio) then it maybe that your processor is causing a bottleneck. Two known issues exist:

If you are using CPU frequency scaling and are having problems playing HD video with VDPAU (stuttering video or audio) then it maybe that your processor is causing a bottleneck. Two known issues exist:

Line 626:

Line 849:

* If frequency scaling is still causing problems then it may be due to too high a threshold being set for frequency changes. Ubuntu for example uses a ridiculous threshold of 95% utilisation per core which is beyond what many userspace applications are even allowed to achieve at their priority level. So an application like MythTV would be choking and the ondemand governor would never increase the CPU frequency to cope. You should first check that your distribution has a reasonable value configured for the 'up threshold', what's reasonable will vary but 50% is a good place to start.

* If frequency scaling is still causing problems then it may be due to too high a threshold being set for frequency changes. Ubuntu for example uses a ridiculous threshold of 95% utilisation per core which is beyond what many userspace applications are even allowed to achieve at their priority level. So an application like MythTV would be choking and the ondemand governor would never increase the CPU frequency to cope. You should first check that your distribution has a reasonable value configured for the 'up threshold', what's reasonable will vary but 50% is a good place to start.

−

=== intel_idle Power Management ===

+

==== intel_idle Power Management ====

You may be seeing a problem with intel_idle if you are using an Atom- or i3/5/7-based system (e.g., the Zotac MAG): this driver causes occasional stuttering when power management is enabled. You can disable this by adding

You may be seeing a problem with intel_idle if you are using an Atom- or i3/5/7-based system (e.g., the Zotac MAG): this driver causes occasional stuttering when power management is enabled. You can disable this by adding

Line 638:

Line 861:

Disabling intel_idle power management actually results in power management falling back to ACPI, which does not appear to have the same stuttering issue.

Disabling intel_idle power management actually results in power management falling back to ACPI, which does not appear to have the same stuttering issue.

+

+

==AMD/ATI==

+

===Kernel Version ===

+

UVD support is only possible on linux kenerl 3.10 and greater

+

===Ubuntu Graphic Drviers===

+

The current version of ubuntu as of this writing (13.10) is shipped with a version of mesa that needs to update to get the full performance out of the UVD decoder. This is simply be done by adding the Updated and Optimized Open Graphics Drivers PPA. It is possible to do this by running the following commands

+

sudo apt-add-repository ppa:oibaf/graphics-drivers

+

+

sudo apt-get update

+

+

sudo apt-get upgrade

+

+

sudo apt-get install libg3dvl-mesa

+

+

===HDMI Audio===

+

To enable the audio pass through on the HDMI port, a kernel parameters may need to set

+

+

On ubuntu edit the file '''/etc/default/grub''' and look for the line starting with GRUB_CMDLINE_LINUX_DEFAULT and update it read like this

! Works with Yadifx2 <720p, but not for SD or HD: audio & video stuttering. Tried: , no filtering or deinterlacers at all, scaling_min_freq 1800000, vdpaubuffercount=42, PowerMizer max performance

+

! VDPAU works with <720p, but not for SD or HD: audio & video stuttering. Tried: no filtering or deinterlacers at all, scaling_min_freq 1800000, vdpaubuffercount=42, PowerMizer max performance. Workaround: use xv-blit with Yadifx2 for >=720.

! Using vdpauhqscaling. Perfect for recorded streams. Standard Myth/VDPAU occasional stuttering on LiveTV/EPG (appears to be a Myth bug in feeding the decode buffer -- trailing the LiveTV stream by a few seconds works around the bug, ex. hit pause and then resume after starting LiveTV)

General

What is it

VDPAU (Video Decode and Presentation API for Unix) lets Nvidia and AMD/ATI uvd cards play video with hardware acceleration. It lets any Linux, Solaris, and FreeBSD system play files, including highly complex H.264 formats produced by the Hauppauge HD-PVR, that would otherwise require a high-end multicore CPU.

It in essence provides what PureVideo/DirectX Video Acceleration is on the Windows platform. In addition to updated NVIDIA binary drivers or the open source ATI/AMD driver
that support the API, extensive documentation is available.

Defines an API for post-processing of decoded video, including temporal and spatial deinterlacing, inverse telecine, and noise reduction.

Defines an API for timestamp-based presentation of final video frames.

Defines an API for compositing sub-picture, on-screen display, and other UI elements.

Note that VDPAU does not address content protection issues.

Some highlights/limitations of NVIDIA's current implementation:

Supported on NVIDIA GPUs with the NVIDIA second generation video processors (see list further below)

Currently, only one video stream can be decoded at a time; NVIDIA hopes to lift this restriction eventually.

Supported Cards

Nvidia

VDPAU is currently supported on the following NVIDIA GPUs (driver version 180.44). An up-to-date list is available at the Nvidia link given below under 'External Links'. Feature Set, when known, is reflected in parenthesis (A/B/C). See more details regarding feature set capabilities here and the nvidia driver readme Appendix A. Supported NVIDIA GPU Products

Rules of thumb: anything from before the 8xxx series is unsupported ; anything with the original G80 GPU (8800 GTX, 8800 Ultra, Quadro FX5600, the first 8800 GTS) is unsupported ; everything newer in the 8xxx, 9xxx and 2xx series should work if the driver supports the card.

Since video decoding is done in dedicated hardware, all supported cards have the same level of performance. Specifically, this means H.264 High 4.1, VC-1 Advanced 3, or MPEG-2 MP@HL at up to 40Mbps. Deinterlacing is performed within the shader hardware, so a more powerful card will be capable of more advanced filters at higher resolutions and framerates. Increased memory bandwidth will also help. Detailed specs on shaders, memory bandwidth, etc. can be found at this GeForce Chipsets page. Just click on the link for the relevant chipset to see the details.(see User results table below for examples).

ATI/AMD

Supported Features

Bit stream Audio (including DTS-HD, TrueHD, LPCM 7.1)

max resolution: 2048 x 1152

mpeg2, mpeg4, h264, vc1 advanced acceleration

Bob and Temporal deinterlacing via vdpau

Video Cards

Family

Engineering Names

Marketing Names

UVD Version

VDPAU Capable

R100

R100

RV100

RV200

RS100

RS200

7xxx

320-345

NO

R200

R200

RV250

RV280

RS300

8xxx - 9250

NO

R300

R300

R350

RV350

RV380

RS400

RS480

9500 - 9800

X300 - X600

X1050 - X1150

200M

NO

R400

R420

R423

RV410

RS600

RS690

RS740

X700 - X850

X12xx

2100

X700 - X850

X12xx

2100

NO

R500

RV515

R520

RV530

RV560

RV570

R580

X1300 - X2300

HD2300

NO

R600

R600

RV610

RV630

RV620

RV635

RV670

RS780

RS880

HD2400 - HD4290

Yes

R700

RV770

RV730

RV710

RV740

HD4330 - HD5165

HD5xxV

Yes

Evergreen

CEDAR

REDWOOD

JUNIPER

CYPRESS

PALM (Wrestler)

SUMO

SUMO2

HD5430 - HD5970

all HD6000 not listed under Northern Islands

HD7350

UVD 2.2 (Cedar - cypress)
UVD 3 (Plam - Sumo)

Yes

Northern Islands

ARUBA

BARTS

TURKS

CAICOS

CAYMAN

HD6450

HD6570

HD6670

HD6790 - HD6990

HD64xxM

HD67xxM

HD69xxM

HD7450 - HD7670

UVD 3

Yes

Southern Islands

CAPE VERDE

PITCAIRN

TAHITI

OLAND

HAINAN

HD7750 - HD7970

R9 270

R9-280

R7 240

R7 250

UVD 3

Yes

Sea Islands

BONAIRE

KABINI

KAVERI

HAWAII

HD7790

R7 260

R9 290

UVD 3

Yes

UVD 2

The UVD saw a refresh with the release of the Radeon HD 4000 series products. The UVD 2 features full bitstream decoding of H.264/MPEG-4 AVC, VC-1, as well as iDCT level acceleration of MPEG2 video streams. Performance improvements allow dual video stream decoding and Picture-in-Picture mode. This makes UVD2 full BD-Live compliant.

UVD 2.2

The UVD 2.2 features a re-designed local memory interface and enhances the compatibility with MPEG2/H.264/VC-1 videos. However, it was marketed under the same alias as "UVD 2 Enhanced" as the "special core-logic, available in RV770 and RV730 series of GPUs, for hardware decoding of MPEG2, H.264 and VC-1 video with dual-stream decoding". The nature of UVD 2.2 being an incremental update to the UVD 2 can be accounted for this move.

UVD 3

UVD3 adds support for bitstream MPEG2 decoding, DivX and Xvid via MPEG-4 Part 2 decoding and Blu-ray 3D via MVC.[7] along with 120 Hz stereo 3D support,[8] and is optimized to utilize less CPU processing power.

Card status

High Def 1080i De-interlacing capabilities On Each Card

GPU

None

One Field (1x)

Bob (2x)

Temporal (1x)

Temporal (2x)

Advanced (1x)

Advanced (2x)

Example

X

X

X

X

X

X

X

8200

X

X

X

(>= 512Mb)

(SD only)

(>= 512Mb)

(SD only)

8400 PCI

X

X

X

?

(SD only)

(SD only)

(SD only)

8400 PCI-e (G86)

X

X

X

X (tearing at 1080i)

X (choppy at 1080i)

(SD only)

(SD only)

8400 PCI-e (G98)

X

X

X

X

X

(SD only)

(SD only)

8500 GT

X

X

X

X

X

X

-

8600 GT

X

X

X

X

X

X

X

9300

X

X

X

X

X

X

(SD only)

9400

X

X

X

X

X

X

(SD only)

9500 GT

X

X

X

X

X

X

X (occasional stutter, skip_chroma helps)

9600 GT

X

X

X

X

X

X

X

GT 210

X

X

X

X

X

X

(SD only)

GT 220

X

X

X

X

X

X

X

GT 240

X

X

X

X

X

X

X

GT 430

X

X

X

X

X

X

X

GT 520

X

X

X

X

X

X

(SD only, maybe HD at PAL frame-rates)

610M

X

X

X

X

X

X

X

Should do all of the rest but I have not tried them.

Supported Drivers

Support started with version 180.06. Latest version available at NVIDIA's website. Bugs are fixed with every new release.

MythTV Support

Fully supported in MythTV 0.22 and above

What works?

Any codec support by VDPAU can be offloaded with the MythTV video player.

If you wish to try an nvidia video board instead of your other video/graphic chipset, be careful. Make a mythconverg database backup, and note the revision of your present working version. In addition, it would be wise to extract the NVidia pkg.run file (NVIDIA-LINUX....pkg.run -x) and make backups of the original files for which copies exist in the ../include/GL, ../lib and ../X11R6 folders. The package help states that the option '--no-opengl-headers' will skip installing the Nvidia OpenGL headers, however it appears that the other libraries will be replaced anyway. It also does not appear to be the case that the '--uninstall' option actually reverses the install, as the orginal files do not appear to be retained. This is a real time-killer ( and WAF killer) and may require a complete re-installation of the system if you wish to revert to a different family of GPU chip.

In MythTV, it is not possible to configure video playback profiles to filter based on video format (only by resolution). So it is not currently possible to use VDPAU for H.264/HD-PVR and Xv for Mpeg2.

Off-loading to the GPU may increase its heat out-put. It may seem obvious, but check your GPU temperature and cooling arrangements.

Many playback issues can be resolved by making sure enough memory has been allocated to the video card, 256MB is a bare minimum requirement and 512MB is strongly recommended. For on-board video this is usually configured via the "GPU Window" BIOS option.

Troubleshooting

Nvidia

The following configuration changes should be used to prevent issues with VDPAU when used with MythTV:

Enable Extra Audio Buffering (same page)

Disable Real-Time Priority (same page) (or limits.conf) if you have intermittent playback freezes (playback stops for about 30 seconds,the computer is COMPLETELY unresponsive during this period and then playback resumes as is nothing had happened)

Adding 'Option "TripleBuffer" "true"' to the Device section of xorg.conf (following the 'Driver nvidia' line) will allocate more memory buffers to 2D playback (and less to 3D).

Option "TripleBuffer" "True"

Tearing/Stuttering

Disabling the Composite Extension

Tearing of the OSD over a perfect video playback can be avoided by stopping playback, exiting playback, and re-starting playback of the stream. (No idea why this works..only that it does.)

To prevent vertical and horizontal tearing of the image when viewing live tv or recordings, run the following to disable X Composite Extension (may also cure the all white/gray OSD):

sudo nvidia-xconfig --no-composite

or with the following lines in /etc/X11/xorg.conf:

Section "Extensions"
Option "Composite" "Disable"
EndSection

This may also help eliminate sporadic single-frame stuttering glitches (e.g. slight jerks in long panning shots or scrolling backgrounds).

GPU Power Management

Another common problem is the "adaptive clocking" PowerMizer capability of some NVidia cards: if this is active, frames will occasionally be dropped as the clock rate is adjusted. To switch to performance mode temporarily, use the nvidia-settings application in interactive mode to set "Preferred Mode" to "Prefer Maximum Performance" under each GPU's "PowerMizer" page.

NOTE: YOU MUST REBOOT YOUR SYSTEM AND HAVE POWERMIZER DISABLED, AS DESCRIBED BELOW, TO CORRECT ANY PROBLEMS CREATED BY RUNNING POWERMIZER.

Unfortunately, due to a bug in recent versions of nvidia-settings, this setting may not be preserved across reboots: in order to switch to performance mode automatically, you may need to create a script that executes:

nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=1'

for each GPU (in this case, for GPU 0). Note that this must be done after X starts: if you use GDM to manage your console logins, /etc/gdm/Init/Default may be a good place to put this. Confirm the setting by running:

nvidia-settings -q '[gpu:0]/GPUPowerMizerMode'

after the following reboot.

Artifacts

Adding "vdpaubuffersize=32" (or higher: eg. 42 works well for the Zotac HD-ID11 box) in the list of filters in Playback Settings may help with artifacts during playback. Remove this filter if running on 0.25 or later.

CPU Frequency Scaling

If you are using CPU frequency scaling and are having problems playing HD video with VDPAU (stuttering video or audio) then it maybe that your processor is causing a bottleneck. Two known issues exist:

Some AMD processors reduce the bus speed along with the CPU clock, at the lowest scaling level this may be enough to cause VDPAU problems in transferring data fast enough across the bus. One solution is to increase the minimum speed by changing the value in /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq, see sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies for a list of valid values. e.g. On for a CPU with a min speed of 1000Mhz you may need to bump the min speed to 1800Mhz.

As root:

echo 1800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

If frequency scaling is still causing problems then it may be due to too high a threshold being set for frequency changes. Ubuntu for example uses a ridiculous threshold of 95% utilisation per core which is beyond what many userspace applications are even allowed to achieve at their priority level. So an application like MythTV would be choking and the ondemand governor would never increase the CPU frequency to cope. You should first check that your distribution has a reasonable value configured for the 'up threshold', what's reasonable will vary but 50% is a good place to start.

intel_idle Power Management

You may be seeing a problem with intel_idle if you are using an Atom- or i3/5/7-based system (e.g., the Zotac MAG): this driver causes occasional stuttering when power management is enabled. You can disable this by adding

intel_idle.max_cstate=0

to your boot options (e.g., to GRUB_CMDLINE_LINUX in /etc/default/grub, followed by executing update-grub). After rebooting, confirm that power management has been disabled:

$ cat /proc/acpi/processor/CPU0/info | grep power
power management: no

Disabling intel_idle power management actually results in power management falling back to ACPI, which does not appear to have the same stuttering issue.

AMD/ATI

Kernel Version

UVD support is only possible on linux kenerl 3.10 and greater

Ubuntu Graphic Drviers

The current version of ubuntu as of this writing (13.10) is shipped with a version of mesa that needs to update to get the full performance out of the UVD decoder. This is simply be done by adding the Updated and Optimized Open Graphics Drivers PPA. It is possible to do this by running the following commands

sudo apt-add-repository ppa:oibaf/graphics-drivers

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install libg3dvl-mesa

HDMI Audio

To enable the audio pass through on the HDMI port, a kernel parameters may need to set

On ubuntu edit the file /etc/default/grub and look for the line starting with GRUB_CMDLINE_LINUX_DEFAULT and update it read like this

User results

Note: Reports on 1080i content are of greatest interest for deinterlacers. Do not list a deinterlacer if testing on progressive content like 720p. If reports for 720p and 1080i differ (as they will if using a deinterlacer) consider making two entries or indicating the difference in your success/fail results.

Chipset

Onboard / Allocated Memory

Driver

De-interlacer

Version

Source

OSD

Theme

Window Manager

Display res

Working

CPU Usage when playing

Comments

8200 IGP

512mb

180.29

Temporal 2x

r20038 trunk

BBC HD H.264 1080i 21Mb/s

Metallurgy

Terra

KWin

1440x900

Yes

Athlon 4850e 2.5Ghz 10-15%

Some amount of tearing. Visual artifacts for the first 20 seconds.

8200 IGP

512mb

180.29

Temporal 2x

r20038 trunk

HD-DVD VC-1 1080p 35Mb/s

Metallurgy

Terra

KWin

1440x900

Yes

Athlon 4850e 2.5Ghz 35%

8200 IGP - Asus M3N78-VM

512mb

256.35

Temporal 1x

0.23-fixes 25260

HD-PVR h.264 1080i 14Mb/s

BlackCurves

Mythbuntu

Gnome

1152x720

Yes

Athlon 64 X2 4800+ 7%

vdpaubuffersize=64,vdpauskipchroma

Sparkle SFPC84GS512U2LP GeForce 8400 GS PCI

512mb

180.35

Temporal 1x HW

0.21-fixes w/patch

OTA 720p and 1080i

Retro

Retro

fluxbox

VGA (analog) 1280x1024

Yes

AMD Geode NX1750 (1.4 Ghz), ~30%

Looks super, OSD set to non-fade. Bob 2x is *almost* useable as is Temporal 2x HW. One field also works well.

Asus EN8400GS Silent PCIe (G98 chipset, 567 MHz Core Clock)

512mb

180.29

Temporal 1x HW

0.21-fixes w/VDPAU patch

OTA HDTV (1080i & 720p)

Retro

Retro

Fluxbox

1080p

Yes

AMD BE-2350 (2.1 GHz) 2% - 5%

Temporal 1x HW and One Field are the only deinterlacers that don't cause jerky picture and out of sync audio. All h264 test files from HD Playback Reports are nice and smooth.

Asus EN8400GS Silent PCIe (G98 chipset, 500MHz Core/333Mhz Mem)

256mb

180.53

Temporal 1x HW

0.22

OTA HDTV (1080i & 720p)

default

default

mwm

1080p

Yes

Pentium-D (3.4 GHz) 2% - 5%

Temporal 1x HW and Bob deinterlacers work ok. Temporal 1x HW is a little jerky on some stations. H.264 1080p files play perfect

VDPAU works with <720p, but not for SD or HD: audio & video stuttering. Tried: no filtering or deinterlacers at all, scaling_min_freq 1800000, vdpaubuffercount=42, PowerMizer max performance. Workaround: use xv-blit with Yadifx2 for >=720.

Using vdpauhqscaling. Perfect for recorded streams. Standard Myth/VDPAU occasional stuttering on LiveTV/EPG (appears to be a Myth bug in feeding the decode buffer -- trailing the LiveTV stream by a few seconds works around the bug, ex. hit pause and then resume after starting LiveTV)

AMD HD6320 (westler)

320mb

MESA 10.1~git1401201930.d6b6ab+curaga~gd~s

Bob 2x HW

0.27

HDHomeRun (1080i+720p ATSC), HDPVR (1080i+720p H264)

Mythbuntu Default

Mythbuntu Default

Xfce

720p

Yes

AMD E-450 APU (1.65GHz, dual core) 30-40% load

Works Great for 1080i/p, 720p (both MPEG-2 and H.264)

External Links

Note: This list is dependent on the driver version. This currently points to the version 260.19.36 README file appendix. Newer versions of the driver may add other GPUs to the list and other capabilities.