media-video/mpv: add support for EGL video output via GBM
authorIlya Tumaykin <itumaykin@gmail.com>
Tue, 22 Dec 2015 20:36:31 +0000 (23:36 +0300)
committerIlya Tumaykin <itumaykin@gmail.com>
Mon, 28 Dec 2015 12:47:28 +0000 (15:47 +0300)
This allows to use EGL on top of a DRM device bypassing window
server/compositor.

Package-Manager: portage-2.2.24

media-video/mpv/metadata.xml
media-video/mpv/mpv-9999.ebuild

index 949632ef96afa655a86b840f41b819636439eeae..d4ea40d4d1d7eb083b39cb7eea44a379fb7d6650 100644 (file)
@@ -28,6 +28,7 @@
                <flag name="drm">Enable Kernel Mode Setting / Direct Rendering Manager based video output</flag>
                <flag name="egl">Enable support for various EGL-based video outputs</flag>
                <flag name="enca">Enable subtitles charset discovery via <pkg>app-i18n/enca</pkg></flag>
+               <flag name="gbm">Enable Graphics Buffer Manager based EGL video output</flag>
                <flag name="jpeg">Enable support for saving screenshots in JPEG format</flag>
                <flag name="libguess">Enable subtitles charset discovery via <pkg>app-i18n/libguess</pkg></flag>
                <flag name="libmpv">Build mpv shared library</flag>
index 8b850751d9548d1a05a7316340c8e4639ccbab99..760d76013f4c96a5ac992bc211181a79c1d4b330 100644 (file)
@@ -29,15 +29,17 @@ DOCS+=( README.md etc/example.conf etc/input.conf )
 LICENSE="GPL-2+ BSD ISC"
 SLOT="0"
 # Here 'opengl' stands for GLX, 'egl' stands for any EGL-based output
-IUSE="+alsa archive bluray cdda +cli doc drm dvb +dvd egl +enca encode +iconv
-       jack jpeg lcms +libass libav libcaca libguess libmpv lua luajit openal
-       +opengl oss pulseaudio raspberry-pi rubberband samba sdl selinux test
-       uchardet v4l vaapi vdpau vf-dlopen wayland +X xinerama +xscreensaver xv"
+IUSE="+alsa archive bluray cdda +cli doc drm dvb +dvd egl +enca encode gbm
+       +iconv jack jpeg lcms +libass libav libcaca libguess libmpv lua luajit
+       openal +opengl oss pulseaudio raspberry-pi rubberband samba sdl selinux
+       test uchardet v4l vaapi vdpau vf-dlopen wayland +X xinerama +xscreensaver
+       xv"
 
 REQUIRED_USE="
        || ( cli libmpv )
-       egl? ( || ( X wayland ) )
+       egl? ( || ( gbm X wayland ) )
        enca? ( iconv )
+       gbm? ( drm egl )
        lcms? ( || ( opengl egl ) )
        libguess? ( iconv )
        luajit? ( lua )
@@ -66,7 +68,7 @@ COMMON_DEPEND="
                >=media-libs/libdvdnav-4.2.0
                >=media-libs/libdvdread-4.1.0
        )
-       egl? ( media-libs/mesa[egl,wayland(-)?] )
+       egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] )
        iconv? (
                virtual/libiconv
                enca? ( app-i18n/enca )
@@ -218,6 +220,8 @@ src_configure() {
 
                # Video outputs
                --disable-cocoa
+               $(use_enable drm)
+               $(use_enable gbm)
                $(use_enable wayland)
                $(use_enable X x11)
                $(use_enable xscreensaver xss)
@@ -227,6 +231,7 @@ src_configure() {
                $(use_enable X xrandr)
                $(use_enable opengl gl-x11)
                $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11')
+               $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm')
                $(use_enable wayland gl-wayland)
                $(use_enable vdpau)
                $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11')
@@ -235,7 +240,6 @@ src_configure() {
                $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland')
                $(usex vaapi "$(use_enable opengl vaapi-glx)" '--disable-vaapi-glx')
                $(use_enable libcaca caca)
-               $(use_enable drm)
                $(use_enable jpeg)
                $(use_enable raspberry-pi rpi)