Registered Member
|
Hi,
Is there a possibility to unredirect only some windows especially in fullscreen ? Compiz offer this feature (Unredirect match) and it's very useful. For exemple, I just want to unredirect MPV in fullscreen but no other softs. If I unredirect all fullscreen windows it can give problem like tearing with videos in Firefox. Thank you.
Last edited by paviluf on Sat Feb 21, 2015 12:35 pm, edited 3 times in total.
|
KDE Developer
|
we have a feature to disable compositing for specific windows. It's not like unredirect, but a full disable. You can find it in the window specific settings and is called "Block Compositing"
|
Registered Member
|
Ok I didn't know that. For info, is it disable compositing even in windowed mode ?
Can you explain what's the difference between unredirect and full disable ? Thank you very much. |
KDE Developer
|
yes the option also works for all windows, not restricted to fullscreen (e.g. you don't want compositing while your CAD application needs the GPU).
The difference between unredirect and full disable is the OpenGL context. With unredirect the compositor is still up and running and requiring resources (e.g. GPU memory) and overhead. With a full disable the OpenGL context is destroyed and the resources are freed. Comparable to starting an openbox to get less resource hungry system. |
Registered Member
|
Ok so for video playback it's even better to use "Block Compositing" ?
|
KDE Developer
|
For video playback Compositing should not matter. The option matters if you really only want one application to have the GPU (e.g. CAD, games).
|
Registered Member
|
I always read that for video playback it's better to have compositing disabled.
http://www.mythtv.org/wiki/VDPAU#Disabl ... _Extension I also had bad experiences with Compiz and compositing when I used Ubuntu like stuttering and audio / video desync @23.976hz. Even with Unredirect I had audio / video desync @23.976hz... I will test with KWin compositing. |
|
The nvidia blob doesn't perform a static memory split since ages and actually you loose one framebuffer size to triple buffering (but that's hardly a problem in times of > 512MB VRAM - triple buffering is in general a very good idea)
You should neither get tearing, as long as you a) use OpenGL compositing b) did not set tearing prevention to "none" in the kwin compositor config dialog Things have been different, but the information behind that link is meanwhile dated. |
Registered Member
|
- I tried to play a 23.976fps movie on my TV at 23.976hz with KWin compositing enabled and I had a lot of stutter, I stop it after few seconds.
- I tried with "unredirect fullscreen windows" like I used to do and playblack was perfect. - I also tried with "Block Compositing" for MPV window and again playblack was perfect. - I tried to play a 23.976fps movie on my computer screen at 60hz with compositing enabled and playback was OK. I rembember when I made some tests with other desktop environment. In Gnome and Cinnamon with Mutter and Muffin I had exactly the same results. The worst was with Compiz which have a lot of stutter with compositing and even with "unredirect fullscreen windows" have audio / video desync. With Openbox, Xfce and Lxde playback was OK because they don't use compositing. So, if there is no bug in KWin and others compositors, I still think it's mandatory to disable compositing to play movies at 23.976hz. |
|
Can you elaborate on that setup? Is the TV the only attached screen? What's the output of "xrandr -q" (w/ the TV attached and in Movie mode) |
Registered Member
|
I have a PC monitor and a TV connected to my Nvidia GT430. When I watch a movie I switch off my monitor and enable the TV with Nvidia drivers settings. I have set a ModeLine in xorg.conf to be as close as possible to 23.976hz.
This is the output of "xrandr -q" with only the TV enabled. Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384 DVI-I-0 disconnected (normal left inverted right x axis y axis) VGA-0 disconnected (normal left inverted right x axis y axis) DVI-I-1 connected (normal left inverted right x axis y axis) 1920x1080 60.0 + 1680x1050 60.0 1440x900 75.0 59.9 1280x1024 75.0 1280x960 60.0 1280x800 59.8 1280x720 60.0 1152x864 75.0 1152x720 60.0 1024x768 75.0 70.1 60.0 800x600 75.0 72.2 60.3 56.2 640x480 75.0 72.8 59.9 HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm 1920x1080 60.0 + 24.0 24.0 24.0* 59.9 50.0 30.0 25.0 24.0 60.1 60.0 50.0 1280x720 60.0 59.9 50.0 720x576 50.0 720x480 59.9 640x480 59.9 |
Registered Member
|
Now you have the infos, what do you think ? |
|
Sorry for the delay, I'm running behind my inbox
"In theory™" that should be no problem, but I wonder why you need to add a modeline for the 24Hz - the hdmi screen should hint the GPU all supported modes and if 24Hz is not among them, it's perhaps not supported. Are you dead sure that the Tv supports (and switches to) 24Hz playback (does it report that?) If the screen actually runs ar 60Hz (its default), but the driver blocks to 24Hz, you'd get the typical 3:2 pulldown judder (being very visible because of the sync) |
Registered Member
|
No problem
I have good knowledge with video playback. When I used Windows I made a lot of research to have perfect playback and improve video quality. It worked so well that I made a big tutorial about that (How to setup a HTPC). So I'm dead sure that my TV support 23.976 and 24hz and my graphics card too in the drivers. I use a modeline simply to be as close as possible to 23.976hz to avoid any stutter. Without compositing the playback is really perfect but with it there is a lot of stutter. Maybe there is a bug somewhere or a limitation ? |
|
No limitation i could think of.
Does the stutter only affect video playback (vdpau, I assume?) or also eg. - scrolling in kwrite (browsers, as long as they don't render opengl) - glxgears (latter should also print that it repaints at 24Hz) |
Registered users: bartoloni, Bing [Bot], Evergrowing, Google [Bot], ourcraft