Du kannst das Paket nvidia-libgl installieren. Du wirst gefragt werden ob mesa-libgl entfernt werden soll. Da machst du ja.
Als Weiteres noch pacman -S nvidia sollte noch reichen.
Beachte allerdings zusätzlich das Wiki nvidia und den Abschnitt Pure Video HD. Installiere dir die Pakete libvdpau und vdpauinfo.
Mit vainfo und vdpauinfo bekommst du alles notwendige angezeigt.
$ vainfo
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
va_openDriver() returns -1 ist bei nvidia normal, da nvidia kein vaapi sondern vdpau benutzt.
vdpauinfo
$ vdpauinfo
display: :0.0 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 378.13 Tue Feb 7 18:29:20 PST 2017
Video surface:
name width height types
-------------------------------------------
420 4096 4096 NV12 YV12
422 4096 4096 UYVY YUYV
Decoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 0 8192 2048 2048
.….
.....
HEVC_MAIN_444 --- not supported ---
Output surface:
name width height nat types
----------------------------------------------------
B8G8R8A8 16384 16384 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 16384 16384 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
Bitmap surface:
name width height
------------------------------
B8G8R8A8 16384 16384
R8G8B8A8 16384 16384
R10G10B10A2 16384 16384
B10G10R10A2 16384 16384
A8 16384 16384
Video mixer:
feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
...
...
LUMA_KEY_MAX_LUMA y