saiarcot895 / chromium-ubuntu-build

Packaging files for building Chromium on Ubuntu
138 stars 32 forks source link

VA_API not properly used / poor playback quality #15

Open gilbahat opened 7 years ago

gilbahat commented 7 years ago

Hi,

I've installed the package, but I am unable to properly play a youtube video with it. video is jerky and has some visual refresh artifacts. chromium reports errors in its log, documented here: https://pastebin.com/bvEfWvNr

playback on this system with other vdpau apps (kodi) plays without problems. using the provided vdpau-vaapi bridge, ubuntu 16.04, nvidia ion ASROCK 330.

dagraver commented 7 years ago

From what I can see, the errors you're having seems to be related to nouveau and OpenGL (the opensource drivers for nvidia cards; which are crap, imho). Have you tried this with the proprietary nvidia drivers?

Also, you'll most likely need something like the following in /etc/chromium-browser/default :

CHROMIUM_FLAGS="--allow-no-sandbox-job --disable-gpu-sandbox"

saiarcot895 commented 7 years ago

The VDPAU-VAAPI bridge hasn't been updated in 2 years or so, I believe, and there's a function that isn't implemented by the bridge that is necessary by Chromium.

However, you shouldn't need to disable anything related to the sandbox. Do those errors appear only when you start to play a video, or are they there even when you just use the browser?

dagraver commented 7 years ago

@saiarcot895 I just checked and it needs '--disable-gpu-sandbox' for now, otherwise 'Failed to create dedicated X11 display!' happens; though this message seems informational and doesn't seem to affect the actual hardware decoding...

and in the case if @gilbahat I don't think va-api is used, because of OpenGL errors; we found in the past that va gets disabled by Chromium when (opengl) errors occur in setting up stuff related to it.

To elaborate on the gpu sandbox issue:

libva info: VA-API version 0.39.2
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_39
Failed to create dedicated X11 display!
libva info: va_openDriver() returns 0

In case something obvious pops up

ldd /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
    linux-vdso.so.1 =>  (0x00007ffc8c1bc000)
    libGL.so.1 => /usr/lib/nvidia-381/libGL.so.1 (0x00007f96753a7000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f96751a3000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f9674e6a000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9674c62000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9674a44000)
    libvdpau.so.1 => /usr/lib/x86_64-linux-gnu/libvdpau.so.1 (0x00007f967483e000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9674477000)
    libGLX.so.0 => /usr/lib/nvidia-381/libGLX.so.0 (0x00007f9674247000)
    libGLdispatch.so.0 => /usr/lib/nvidia-381/libGLdispatch.so.0 (0x00007f9673f79000)
    /lib64/ld-linux-x86-64.so.2 (0x000055caa5fda000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f9673d57000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f9673b45000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f967393f000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f9673739000)