mplayer + vdpau is not stable when switching fullscreen state

If you run the following bash code to reproduce the issue, you’ll see that after a couple of seconds, the desktop will freeze for a while, then mplayer become unresponsive and you have to kill it.


mkfifo /tmp/mpinput
mplayer "$h264file" -vo vdpau:denoise=1:deint=4:chroma-deint:pullup:hqscaling=1 -vc ffh264vdpau -input file=/tmp/mpinput -slave &

while true; do
    echo "vo_fullscreen" > /tmp/mpinput 
    sleep 0.5

I’ve “successfully” reproduced this on a 9500GT, a 9800GT and an ION first gen.
Note that i’ve intentionally filled mplayer with vdpau options to stress the engine, but the issue is present even without them; just harder to trig.

Please note that this is a long standing bug, 2 years old!

Nvidia bug report here:

Not able to reproduce with Fedora release 18 + G96 [GeForce 9400 GT] + gnome-shell/kde4 + dell t7500 system + MPlayer-1.1 + single/twinview

That’s too strange, could you try the same using smplayer and switching manually (i think with “f” or middle mouse button)
Thank you in advance

I’ve been running your script for 5 minutes - no crash, hang or anything unusual (there’s an error in it - it should be mplayer “$h264file”)

MPlayer 1.1
NVIDIA 313.18
8800 GT

Thanks, it is the forum that loses the format, i’ve corrected the missing $.

Anyway i’ll try again by changing settings.

I made more tests, it seems that enabling unredirect fullscreen windows under kwin (maybe compiz, didn’t test it), causes the problem.
No matter if compositing is made by xrender or opengl, i also tried to disable the effects leaving compositing active, and i get the same issue.

So, to reproduce,
-make sure that kwin suspend effects for fullscreen windows

And about the last one, the manual clearly states that “simply having the extension enabled is enough
to prevent overlay usage; running an actual compositing manager is not required.”
So why i’m getting the problem just when setting that variable to 0?

You would wonder why i don’t leave it to 1 and use the blit path; well depsite the claimings that the blit path will sync to vblank, i get tearing in the upper part of the screen (and i saw a lot of people with that problem).

I reproduce the issue, and I confirm VDPAU_NVIDIA_NO_OVERLAY=0 is required to reproduce the issue (And it is the default value).

I have this issue for months now.

More information: with mplayer + vaapi instead of vdpau there is no probleme anymore.

nvidia 319.17
kde 4.10.3
MPlayer SVN-r35107-4.8.0
linux 3.9.2 amd64.

Any progress?

I’ve left your script running for 5 minutes - everything’s OK.

NVIDIA 325.15/660GT/Kwin/No compositing

The key to reproduce seems to be opengl compositing + unredirect fullscreen windows.
I think the step to redirect/unredirect/redirect (and so on) trigs the problem.

However seems i’ve to stress the engine to make the issue appear more frequently, and with your card, probably it is harder to trig (9600GT or 9800GT or, worse, an ION 1st generation here) because it is faster or impossible because is a different chipset, who knows.

mplayer+vaapi doesn’t use the overlay path, so it is safer, but it has a bug when using the opengl surface, that leaves a little vertical black bar on the right of the screen when in fullscreen mode and anyway doesn’t support advanced deinterlacing methods that i need.

Thank you for confirming anyway!

I can confirm that this problem continues in Fedora 19 release with nvidia-319.32-2

When I play a video with mplayer using:

Write your default config options here!

aspect = “16:10”
ao = pulse,alsa,
ac = hwac3,hwdts,hwmpa,
cache-min = 10
nograbpointer = yes
nomouseinput = yes
ontop = yes

The files I’m plying have output like this:
creation_time : 2013-07-07 13:16:39
Duration: 00:42:57.60, start: 0.000000, bitrate: 2981 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 1280x720, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)

My GPU is:
VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1000M] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 21f6
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f2000000 (32-bit, non-prefetchable)
Memory at e0000000 (64-bit, prefetchable)
Memory at f0000000 (64-bit, prefetchable)
I/O ports at 5000
[virtual] Expansion ROM at f3080000 [disabled]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nvidia

If I play in none fullscreen mode it is NOT a problem, but when I play in fullscreen and use anything there have drop down suggestion or link I hover over it hangs the mplayer. The easy way to provoke it, open a gnome-terminal and right click in it 2 - 4 times and then mplayer hangs and you have to kill it and start over