Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
adobe-flash 11.2.202.228 playing blues?[Solved-Rolling-Eyes]
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
aCOSwt
Moderator
Moderator


Joined: 19 Oct 2007
Posts: 2537
Location: Hilbert space

PostPosted: Mon Apr 16, 2012 1:53 pm    Post subject: Reply with quote

Well... at the end of the day, using flash 11.2.202.228 + libvdpau 0.4.1-r1 + nvidia-drivers-294.40 + Gusar's tips (EnableLinuxHWVideoDecode=1 + VDPAU_NVIDIA_NO_OVERLAY=1)

- Youtube videos play well fully accelerated & no crash & functional toggling full screen / window (taking care to halt the video before rewinding) under chromium and firefox.
- However, chromium segfaults immediately (trapping in libpthread) when loading the video on Dailymotion.

Things are worse than ever under Opera which traps 13 immediately when loading the youtube video. Whatever plugin is selected (32 or 64bits)
_________________
Back to top
View user's profile Send private message
painteru
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2007
Posts: 93

PostPosted: Fri May 25, 2012 3:44 pm    Post subject: Reply with quote

I've got the same problem for awhile till today when I decided to fix it.
Well, it was easier than I thought!
I had only to click right on the player then disable hardware acceleration. That's all!

32 bit box
www-plugins/adobe-flash-11.2.202.235 USE="kde sse2check (-32bit) (-64bit) (-multilib) -vdpau"
_________________
My art at www.danielchiriac.com
Back to top
View user's profile Send private message
ppurka
Advocate
Advocate


Joined: 26 Dec 2004
Posts: 3208

PostPosted: Fri May 25, 2012 4:39 pm    Post subject: Reply with quote

There are problems galore in 64bits. I simply retrieved an old ebuild and installed 11.1* again. 11.2* is too buggy to be of any use.
_________________
emerge --quiet redefined | E17 vids: I, II
Back to top
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2643
Location: Slovenia

PostPosted: Fri May 25, 2012 6:33 pm    Post subject: Reply with quote

Let me just say I find it fascinating how many people are willing to run known vulnerable software...
Back to top
View user's profile Send private message
popsUlfr
Tux's lil' helper
Tux's lil' helper


Joined: 27 Feb 2011
Posts: 80

PostPosted: Sat May 26, 2012 10:49 am    Post subject: Reply with quote

Applying this patch to a x11-libs/libvdpau live ebuild fixes the blue tint for me:
Code:


Signed-off-by: Stephen Warren <swarren at wwwdotorg.org>
---
 src/Makefile.am       |    4 +
 src/vdpau_wrapper.c   |  170 ++++++++++++++++++++++++++++++++++++++++++++++++-
 src/vdpau_wrapper.cfg |    2 +
 3 files changed, 174 insertions(+), 2 deletions(-)
 create mode 100644 src/vdpau_wrapper.cfg

diff --git a/src/Makefile.am b/src/Makefile.am
index 48e69a7..9162ffb 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,7 @@
 AM_CFLAGS = \
     -I$(top_srcdir)/include \
     -DVDPAU_MODULEDIR="\"$(moduledir)\"" \
+    -DVDPAU_SYSCONFDIR="\"$(sysconfdir)\"" \
     $(X11_CFLAGS) \
     $(XEXT_CFLAGS)
 
@@ -26,3 +27,6 @@ libvdpauincludedir = $(includedir)/vdpau
 libvdpauinclude_HEADERS = \
     $(top_srcdir)/include/vdpau/vdpau.h \
     $(top_srcdir)/include/vdpau/vdpau_x11.h
+
+libvdpausysconfdir=$(sysconfdir)
+libvdpausysconf_DATA = vdpau_wrapper.cfg
diff --git a/src/vdpau_wrapper.c b/src/vdpau_wrapper.c
index 23de3d4..c955745 100644
--- a/src/vdpau_wrapper.c
+++ b/src/vdpau_wrapper.c
@@ -210,6 +210,163 @@ static void _vdp_close_driver(void)
     _vdp_imp_device_create_x11_proc = NULL;
 }
 
+static VdpGetProcAddress * _imp_get_proc_address;
+static VdpVideoSurfacePutBitsYCbCr * _imp_vid_put_bits_y_cb_cr;
+static VdpPresentationQueueSetBackgroundColor * _imp_pq_set_bg_color;
+static int _inited_fixes;
+static int _running_under_flash;
+static int _enable_flash_uv_swap = 1;
+static int _disable_flash_pq_bg_color = 1;
+
+static VdpStatus vid_put_bits_y_cb_cr_swapped(
+    VdpVideoSurface      surface,
+    VdpYCbCrFormat       source_ycbcr_format,
+    void const * const * source_data,
+    uint32_t const *     source_pitches
+)
+{
+    void const * data_reordered[3];
+    void const * const * data;
+
+    if (source_ycbcr_format == VDP_YCBCR_FORMAT_YV12) {
+        data_reordered[0] = source_data[0];
+        data_reordered[1] = source_data[2];
+        data_reordered[2] = source_data[1];
+        /*
+         * source_pitches[1] and source_pitches[2] should be equal,
+         * so no need to re-order.
+         */
+        data = data_reordered;
+    }
+    else {
+        data = source_data;
+    }
+   
+    return _imp_vid_put_bits_y_cb_cr(
+        surface,
+        source_ycbcr_format,
+        data,
+        source_pitches
+    );
+}
+
+static VdpStatus pq_set_bg_color_noop(
+    VdpPresentationQueue presentation_queue,
+    VdpColor * const     background_color
+)
+{
+    return VDP_STATUS_OK;
+}
+
+static VdpStatus vdp_wrapper_get_proc_address(
+    VdpDevice device,
+    VdpFuncId function_id,
+    /* output parameters follow */
+    void * *  function_pointer
+)
+{
+    VdpStatus status;
+
+    status = _imp_get_proc_address(device, function_id, function_pointer);
+    if (status != VDP_STATUS_OK) {
+        return status;
+    }
+
+    if (_running_under_flash) {
+        switch (function_id) {
+        case VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR:
+            if (_enable_flash_uv_swap) {
+                _imp_vid_put_bits_y_cb_cr = *function_pointer;
+                *function_pointer = vid_put_bits_y_cb_cr_swapped;
+            }
+            break;
+        case VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR:
+            if (_disable_flash_pq_bg_color) {
+                _imp_pq_set_bg_color = *function_pointer;
+                *function_pointer = pq_set_bg_color_noop;
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+    return VDP_STATUS_OK;
+}
+
+static void init_running_under_flash(void)
+{
+    FILE *fp;
+    char buffer[1024];
+    int ret, i;
+
+    fp = fopen("/proc/self/cmdline", "r");
+    if (!fp) {
+        return;
+    }
+    ret = fread(buffer, 1, sizeof(buffer) - 1, fp);
+    fclose(fp);
+    if (ret < 0) {
+        return;
+    }
+    /*
+     * Sometimes the file contains null between arguments. Wipe these out so
+     * strstr doesn't stop early.
+     */
+    for (i = 0; i < ret; i++) {
+        if (buffer[i] == '\0') {
+            buffer[i] = 'x';
+        }
+    }
+    buffer[ret] = '\0';
+
+    if (strstr(buffer, "libflashplayer") != NULL) {
+        _running_under_flash = 1;
+    }
+}
+
+void init_config(void)
+{
+    FILE *fp;
+    char buffer[1024];
+    int ret;
+
+    fp = fopen(VDPAU_SYSCONFDIR "/vdpau_wrapper.cfg", "r");
+    if (!fp) {
+        return;
+    }
+
+    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
+        char * equals = strchr(buffer, '=');
+        char * param;
+
+        if (equals == NULL) {
+            continue;
+        }
+
+        *equals = '\0';
+        param = equals + 1;
+
+        if (!strcmp(buffer, "enable_flash_uv_swap")) {
+            _enable_flash_uv_swap = atoi(param);
+        }
+        else if (!strcmp(buffer, "disable_flash_pq_bg_color")) {
+            _disable_flash_pq_bg_color = atoi(param);
+        }
+    }
+}
+
+void init_fixes(void)
+{
+    if (_inited_fixes) {
+        return;
+    }
+    _inited_fixes = 1;
+
+    init_running_under_flash();
+    init_config();
+}
+
 VdpStatus vdp_device_create_x11(
     Display *             display,
     int                   screen,
@@ -220,6 +377,8 @@ VdpStatus vdp_device_create_x11(
 {
     VdpStatus status;
 
+    init_fixes();
+
     if (!_vdp_imp_device_create_x11_proc) {
         status = _vdp_open_driver(display, screen);
         if (status != VDP_STATUS_OK) {
@@ -228,10 +387,17 @@ VdpStatus vdp_device_create_x11(
         }
     }
 
-    return _vdp_imp_device_create_x11_proc(
+    status = _vdp_imp_device_create_x11_proc(
         display,
         screen,
         device,
-        get_proc_address
+        &_imp_get_proc_address
     );
+    if (status != VDP_STATUS_OK) {
+        return status;
+    }
+
+    *get_proc_address = vdp_wrapper_get_proc_address;
+
+    return VDP_STATUS_OK;
 }
diff --git a/src/vdpau_wrapper.cfg b/src/vdpau_wrapper.cfg
new file mode 100644
index 0000000..21d5b8c
--- /dev/null
+++ b/src/vdpau_wrapper.cfg
@@ -0,0 +1,2 @@
+enable_flash_uv_swap=1
+disable_flash_pq_bg_color=1
--
1.7.5.4


Here's the live ebuild:
Code:


# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/libvdpau/libvdpau-0.4.1-r1.ebuild,v 1.3 2012/05/05 03:52:28 jdhore Exp $

EAPI=4
inherit multilib git-2 eutils

DESCRIPTION="VDPAU wrapper and trace libraries"
HOMEPAGE="http://www.freedesktop.org/wiki/Software/VDPAU"
SRC_URI=""

LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~x86 ~x86-fbsd"
IUSE="doc"

EGIT_REPO_URI="git://people.freedesktop.org/~aplattner/libvdpau"

#unfortunately, there's driver versions in between that this works with
RDEPEND="x11-libs/libX11
   x11-libs/libXext
   !=x11-drivers/nvidia-drivers-180*
   !=x11-drivers/nvidia-drivers-185*
   !=x11-drivers/nvidia-drivers-190.18
   !=x11-drivers/nvidia-drivers-190.25
   !=x11-drivers/nvidia-drivers-190.32
   !=x11-drivers/nvidia-drivers-190.36
   !=x11-drivers/nvidia-drivers-190.40"
DEPEND="${RDEPEND}
   virtual/pkgconfig
   >=x11-proto/dri2proto-2.2
   doc? (
      app-doc/doxygen
      media-gfx/graphviz
      virtual/latex-base
   )"

DOCS="AUTHORS ChangeLog"

src_prepare() {
   epatch "${FILESDIR}/flash_patch.patch"
   touch ChangeLog
   ./autogen.sh
}

src_configure() {
   econf \
      --docdir="${EPREFIX}/usr/share/doc/${PF}" \
      --disable-dependency-tracking \
      $(use_enable doc documentation) \
      --with-module-dir="${EPREFIX}/usr/$(get_libdir)/vdpau"
}

src_install() {
   default
   find "${ED}" -name '*.la' -exec rm -f '{}' +
}
Back to top
View user's profile Send private message
ExecutorElassus
l33t
l33t


Joined: 11 Mar 2004
Posts: 765
Location: Stuttgart, Germany

PostPosted: Thu Jun 07, 2012 12:13 pm    Post subject: Reply with quote

Gusar wrote:
Let me just say I find it fascinating how many people are willing to run known vulnerable software...


I would absolutely love it if there were a stand-in replacement for flash that could run all the content of Youtube, vimeo, thedailyshow.com, dailymotion, etc etc. But every open-source alternative I've ever tried has been atrocious. Until you can point to another ebuild in the tree that can run flash content even on the crappy level of adobe's player, people are still going to use the crappy adobe player. Maybe Pepper will fix that?

Would it warrant another thread to ask if anybody else is lately completely unable to run flash content on some sites, and others freeze loading while waiting for the embedded player? I have no more blue people, but I also have a bunch of sites that just refuse to load :(

Cheers,

EE
Back to top
View user's profile Send private message
PhaytalError
n00b
n00b


Joined: 17 May 2012
Posts: 46

PostPosted: Thu Jun 07, 2012 12:35 pm    Post subject: Reply with quote

The ultimate solution is for Flash to just go the way of the Do-Do Bird and become extinct across all platforms. It's always a been a POS since day one, so why the masses ever embraced it as much as they did and have just blows my mind. Web developers really need to embrace HTML5 more and just kick Flash to the curb permanately. :twisted:
_________________
Linux. Freedom. Power.
Back to top
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2643
Location: Slovenia

PostPosted: Thu Jun 07, 2012 5:46 pm    Post subject: Reply with quote

ExecutorElassus wrote:
Until you can point to another ebuild in the tree that can run flash content even on the crappy level of adobe's player, people are still going to use the crappy adobe player. Maybe Pepper will fix that?

There's nothing wrong in using Flash. It's evil, but it's a necessary evil, considering how much flash content is still out there. What I don't get is using known vulnerable versions, when the safe versions can be made to work well by using workarounds and/or disabling some non-essential functions (like hardware decoding). popsUlfr provided the patch and ebuild for the least hacky workaround to fix the blue people. So there's no reason whatsoever to run vulnerable versions.
Back to top
View user's profile Send private message
ExecutorElassus
l33t
l33t


Joined: 11 Mar 2004
Posts: 765
Location: Stuttgart, Germany

PostPosted: Thu Jun 07, 2012 5:52 pm    Post subject: Reply with quote

Ah, I seem to have misunderstood what you were saying (maybe "known vulnerable versions" would have been clearer, since "software" might be taken to mean the whole program). Can we be clear about another point? Does the flag "EnableLinuxHWVideoDecode=1" enable or disable HW rendering? Because the flag itself seems to suggest that it enables HW acceleration, but everyone here is talking about setting it to disable HW rendering support. Also, the "VDPAU_NVIDIA_NO_OVERLAY=1" flag: where can I set that?

Cheers,

EE
Back to top
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2643
Location: Slovenia

PostPosted: Thu Jun 07, 2012 6:33 pm    Post subject: Reply with quote

ExecutorElassus wrote:
Does the flag "EnableLinuxHWVideoDecode=1" enable or disable HW rendering? Because the flag itself seems to suggest that it enables HW acceleration, but everyone here is talking about setting it to disable HW rendering support.

It does what it says, it enables hardware decoding. The reason everyone is talking about disabling it is because hardware decoding makes flash crash like crazy. Disabling overlay helps, but doesn't get rid of the crashes completely. Version 10.3.183.20 has non-crashing hardware decoding, but I had other issues with that.

ExecutorElassus wrote:
Also, the "VDPAU_NVIDIA_NO_OVERLAY=1" flag: where can I set that?

Somewhere in the environment. Either globally in one of the places for that, or in the script that launches firefox (or other browser) to keep it local to only the browser.


Last edited by Gusar on Sat Jul 14, 2012 5:08 pm; edited 1 time in total
Back to top
View user's profile Send private message
ahgblopes
Tux's lil' helper
Tux's lil' helper


Joined: 16 Oct 2011
Posts: 102
Location: Brazil :(

PostPosted: Wed Jun 27, 2012 2:02 am    Post subject: Reply with quote

popsUlfr wrote:
Applying this patch to a x11-libs/libvdpau live ebuild fixes the blue tint for me:
Code:


Signed-off-by: Stephen Warren <swarren at wwwdotorg.org>
---
 src/Makefile.am       |    4 +
 src/vdpau_wrapper.c   |  170 ++++++++++++++++++++++++++++++++++++++++++++++++-
 src/vdpau_wrapper.cfg |    2 +
 3 files changed, 174 insertions(+), 2 deletions(-)
 create mode 100644 src/vdpau_wrapper.cfg

diff --git a/src/Makefile.am b/src/Makefile.am
index 48e69a7..9162ffb 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,7 @@
 AM_CFLAGS = \
     -I$(top_srcdir)/include \
     -DVDPAU_MODULEDIR="\"$(moduledir)\"" \
+    -DVDPAU_SYSCONFDIR="\"$(sysconfdir)\"" \
     $(X11_CFLAGS) \
     $(XEXT_CFLAGS)
 
@@ -26,3 +27,6 @@ libvdpauincludedir = $(includedir)/vdpau
 libvdpauinclude_HEADERS = \
     $(top_srcdir)/include/vdpau/vdpau.h \
     $(top_srcdir)/include/vdpau/vdpau_x11.h
+
+libvdpausysconfdir=$(sysconfdir)
+libvdpausysconf_DATA = vdpau_wrapper.cfg
diff --git a/src/vdpau_wrapper.c b/src/vdpau_wrapper.c
index 23de3d4..c955745 100644
--- a/src/vdpau_wrapper.c
+++ b/src/vdpau_wrapper.c
@@ -210,6 +210,163 @@ static void _vdp_close_driver(void)
     _vdp_imp_device_create_x11_proc = NULL;
 }
 
+static VdpGetProcAddress * _imp_get_proc_address;
+static VdpVideoSurfacePutBitsYCbCr * _imp_vid_put_bits_y_cb_cr;
+static VdpPresentationQueueSetBackgroundColor * _imp_pq_set_bg_color;
+static int _inited_fixes;
+static int _running_under_flash;
+static int _enable_flash_uv_swap = 1;
+static int _disable_flash_pq_bg_color = 1;
+
+static VdpStatus vid_put_bits_y_cb_cr_swapped(
+    VdpVideoSurface      surface,
+    VdpYCbCrFormat       source_ycbcr_format,
+    void const * const * source_data,
+    uint32_t const *     source_pitches
+)
+{
+    void const * data_reordered[3];
+    void const * const * data;
+
+    if (source_ycbcr_format == VDP_YCBCR_FORMAT_YV12) {
+        data_reordered[0] = source_data[0];
+        data_reordered[1] = source_data[2];
+        data_reordered[2] = source_data[1];
+        /*
+         * source_pitches[1] and source_pitches[2] should be equal,
+         * so no need to re-order.
+         */
+        data = data_reordered;
+    }
+    else {
+        data = source_data;
+    }
+   
+    return _imp_vid_put_bits_y_cb_cr(
+        surface,
+        source_ycbcr_format,
+        data,
+        source_pitches
+    );
+}
+
+static VdpStatus pq_set_bg_color_noop(
+    VdpPresentationQueue presentation_queue,
+    VdpColor * const     background_color
+)
+{
+    return VDP_STATUS_OK;
+}
+
+static VdpStatus vdp_wrapper_get_proc_address(
+    VdpDevice device,
+    VdpFuncId function_id,
+    /* output parameters follow */
+    void * *  function_pointer
+)
+{
+    VdpStatus status;
+
+    status = _imp_get_proc_address(device, function_id, function_pointer);
+    if (status != VDP_STATUS_OK) {
+        return status;
+    }
+
+    if (_running_under_flash) {
+        switch (function_id) {
+        case VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR:
+            if (_enable_flash_uv_swap) {
+                _imp_vid_put_bits_y_cb_cr = *function_pointer;
+                *function_pointer = vid_put_bits_y_cb_cr_swapped;
+            }
+            break;
+        case VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR:
+            if (_disable_flash_pq_bg_color) {
+                _imp_pq_set_bg_color = *function_pointer;
+                *function_pointer = pq_set_bg_color_noop;
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+    return VDP_STATUS_OK;
+}
+
+static void init_running_under_flash(void)
+{
+    FILE *fp;
+    char buffer[1024];
+    int ret, i;
+
+    fp = fopen("/proc/self/cmdline", "r");
+    if (!fp) {
+        return;
+    }
+    ret = fread(buffer, 1, sizeof(buffer) - 1, fp);
+    fclose(fp);
+    if (ret < 0) {
+        return;
+    }
+    /*
+     * Sometimes the file contains null between arguments. Wipe these out so
+     * strstr doesn't stop early.
+     */
+    for (i = 0; i < ret; i++) {
+        if (buffer[i] == '\0') {
+            buffer[i] = 'x';
+        }
+    }
+    buffer[ret] = '\0';
+
+    if (strstr(buffer, "libflashplayer") != NULL) {
+        _running_under_flash = 1;
+    }
+}
+
+void init_config(void)
+{
+    FILE *fp;
+    char buffer[1024];
+    int ret;
+
+    fp = fopen(VDPAU_SYSCONFDIR "/vdpau_wrapper.cfg", "r");
+    if (!fp) {
+        return;
+    }
+
+    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
+        char * equals = strchr(buffer, '=');
+        char * param;
+
+        if (equals == NULL) {
+            continue;
+        }
+
+        *equals = '\0';
+        param = equals + 1;
+
+        if (!strcmp(buffer, "enable_flash_uv_swap")) {
+            _enable_flash_uv_swap = atoi(param);
+        }
+        else if (!strcmp(buffer, "disable_flash_pq_bg_color")) {
+            _disable_flash_pq_bg_color = atoi(param);
+        }
+    }
+}
+
+void init_fixes(void)
+{
+    if (_inited_fixes) {
+        return;
+    }
+    _inited_fixes = 1;
+
+    init_running_under_flash();
+    init_config();
+}
+
 VdpStatus vdp_device_create_x11(
     Display *             display,
     int                   screen,
@@ -220,6 +377,8 @@ VdpStatus vdp_device_create_x11(
 {
     VdpStatus status;
 
+    init_fixes();
+
     if (!_vdp_imp_device_create_x11_proc) {
         status = _vdp_open_driver(display, screen);
         if (status != VDP_STATUS_OK) {
@@ -228,10 +387,17 @@ VdpStatus vdp_device_create_x11(
         }
     }
 
-    return _vdp_imp_device_create_x11_proc(
+    status = _vdp_imp_device_create_x11_proc(
         display,
         screen,
         device,
-        get_proc_address
+        &_imp_get_proc_address
     );
+    if (status != VDP_STATUS_OK) {
+        return status;
+    }
+
+    *get_proc_address = vdp_wrapper_get_proc_address;
+
+    return VDP_STATUS_OK;
 }
diff --git a/src/vdpau_wrapper.cfg b/src/vdpau_wrapper.cfg
new file mode 100644
index 0000000..21d5b8c
--- /dev/null
+++ b/src/vdpau_wrapper.cfg
@@ -0,0 +1,2 @@
+enable_flash_uv_swap=1
+disable_flash_pq_bg_color=1
--
1.7.5.4


Here's the live ebuild:
Code:


# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/libvdpau/libvdpau-0.4.1-r1.ebuild,v 1.3 2012/05/05 03:52:28 jdhore Exp $

EAPI=4
inherit multilib git-2 eutils

DESCRIPTION="VDPAU wrapper and trace libraries"
HOMEPAGE="http://www.freedesktop.org/wiki/Software/VDPAU"
SRC_URI=""

LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~x86 ~x86-fbsd"
IUSE="doc"

EGIT_REPO_URI="git://people.freedesktop.org/~aplattner/libvdpau"

#unfortunately, there's driver versions in between that this works with
RDEPEND="x11-libs/libX11
   x11-libs/libXext
   !=x11-drivers/nvidia-drivers-180*
   !=x11-drivers/nvidia-drivers-185*
   !=x11-drivers/nvidia-drivers-190.18
   !=x11-drivers/nvidia-drivers-190.25
   !=x11-drivers/nvidia-drivers-190.32
   !=x11-drivers/nvidia-drivers-190.36
   !=x11-drivers/nvidia-drivers-190.40"
DEPEND="${RDEPEND}
   virtual/pkgconfig
   >=x11-proto/dri2proto-2.2
   doc? (
      app-doc/doxygen
      media-gfx/graphviz
      virtual/latex-base
   )"

DOCS="AUTHORS ChangeLog"

src_prepare() {
   epatch "${FILESDIR}/flash_patch.patch"
   touch ChangeLog
   ./autogen.sh
}

src_configure() {
   econf \
      --docdir="${EPREFIX}/usr/share/doc/${PF}" \
      --disable-dependency-tracking \
      $(use_enable doc documentation) \
      --with-module-dir="${EPREFIX}/usr/$(get_libdir)/vdpau"
}

src_install() {
   default
   find "${ED}" -name '*.la' -exec rm -f '{}' +
}



I have some questions (sorry for my english):

1) How do i apply this patch and how do i install this ebuild?


2) Doing this, will i disable hardware accel. ?

3) Does someone already used this patch ? Please tell me if the result was satisfatory...
Back to top
View user's profile Send private message
philip
Guru
Guru


Joined: 10 Jun 2003
Posts: 465
Location: Sweden

PostPosted: Sun Jul 08, 2012 4:14 pm    Post subject: Reply with quote

I have the same problem and wanted to downgrade libvdpau. But I found no other ebuild than libvdpau 0.4.1-r1, which I have currently installed. What to do? I have an updated portage tree.
_________________
/Phil
Back to top
View user's profile Send private message
ahgblopes
Tux's lil' helper
Tux's lil' helper


Joined: 16 Oct 2011
Posts: 102
Location: Brazil :(

PostPosted: Mon Jul 09, 2012 1:56 am    Post subject: Reply with quote

EnableLinuxHWVideoDecode=1 worked for me, but sometimes my firefox crashes ... Also, if i watch a no decoded video, for example, a video in 240p, i see it with blue tint ...

I also have a problem with the nvidia driver (i will talk about this in a new thread), only the 295.53 works, my pc hangs with the more recent driver (295.59...).
Back to top
View user's profile Send private message
ExecutorElassus
l33t
l33t


Joined: 11 Mar 2004
Posts: 765
Location: Stuttgart, Germany

PostPosted: Mon Jul 09, 2012 1:58 am    Post subject: Reply with quote

please link the new thread about the nvidia-drivers when you post it. I am having similar issues.

Cheers,

EE
Back to top
View user's profile Send private message
ahgblopes
Tux's lil' helper
Tux's lil' helper


Joined: 16 Oct 2011
Posts: 102
Location: Brazil :(

PostPosted: Mon Jul 09, 2012 4:17 am    Post subject: Reply with quote

(sorry to post it here...) very strange, but now i upgraded again the nvidia-drivers to the 259.95 and it is working very well... I guess it was about the kernel configuration, because i changed some things since the last time that i tried to compile the 259.95 driver... The problem with the blue tint is really Adobe's fault, i guess...
Back to top
View user's profile Send private message
sgarcia
Apprentice
Apprentice


Joined: 21 May 2003
Posts: 254
Location: Bakersfield, CA

PostPosted: Sat Jul 14, 2012 4:25 am    Post subject: Reply with quote

I had this problem a couple of months ago, but I never saw this thread. Blue videos, X11 freezing up randomly a couple of times a day. Turned out my computer was fine, I could SSH in, but X was *gone* until I rebooted. The logs kept telling me that the nVidia card was "falling off the bus."

So I switched to nouveau. Acceleration is good enough that Compiz still works, Youtube has normal colors, and I haven't had X freeze once since I did that.
_________________
Ignorance killed the cat. Curiosity was framed.
Back to top
View user's profile Send private message
ahgblopes
Tux's lil' helper
Tux's lil' helper


Joined: 16 Oct 2011
Posts: 102
Location: Brazil :(

PostPosted: Sat Jul 14, 2012 4:30 am    Post subject: Reply with quote

sgarcia wrote:
I had this problem a couple of months ago, but I never saw this thread. Blue videos, X11 freezing up randomly a couple of times a day. Turned out my computer was fine, I could SSH in, but X was *gone* until I rebooted. The logs kept telling me that the nVidia card was "falling off the bus."

So I switched to nouveau. Acceleration is good enough that Compiz still works, Youtube has normal colors, and I haven't had X freeze once since I did that.


But do you have any 3d acell. in flash with noveau's driver?
I really need it, because i'm using an atom 330 (1,6Ghz), and the only way that i can watch a full hd (1080p) video is with hardware acceleration...
Back to top
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2643
Location: Slovenia

PostPosted: Sat Jul 14, 2012 6:16 pm    Post subject: Reply with quote

ahgblopes wrote:
But do you have any 3d acell. in flash with noveau's driver?

No.

Though, if you compile mesa with the vdpau flag, you should get hardware presentation, but not hardware decoding (mesa vdpau can only decode mpeg1/2). But guess what, you'll get the same blue people as with nvidia-drivers, as the issue is not in any driver, it's in flash.
Back to top
View user's profile Send private message
Apheus
Apprentice
Apprentice


Joined: 12 Jul 2008
Posts: 235

PostPosted: Sat Jul 14, 2012 7:22 pm    Post subject: Reply with quote

Gusar wrote:
But guess what, you'll get the same blue people as with nvidia-drivers, as the issue is not in any driver, it's in flash.


Just curious, why do only people with nVidia gfx and x11-drivers/nvidia-drivers get this problem, and not with ATI and x11-drivers/ati-drivers?

I don't know if this problem is solved by now, but my solution was/is: Disable hardware acceleration in flash, and protecting the file which contains this setting with BetterPrivacy. This would be the file "~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/settings.sol".
Back to top
View user's profile Send private message
DaggyStyle
Advocate
Advocate


Joined: 22 Mar 2006
Posts: 4956

PostPosted: Sat Jul 14, 2012 7:31 pm    Post subject: Reply with quote

Apheus wrote:
Gusar wrote:
But guess what, you'll get the same blue people as with nvidia-drivers, as the issue is not in any driver, it's in flash.


Just curious, why do only people with nVidia gfx and x11-drivers/nvidia-drivers get this problem, and not with ATI and x11-drivers/ati-drivers?

I don't know if this problem is solved by now, but my solution was/is: Disable hardware acceleration in flash, and protecting the file which contains this setting with BetterPrivacy. This would be the file "~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/settings.sol".


happened to me on ati + oss driver, the ebuild + patch above fixed it.
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball
Back to top
View user's profile Send private message
Apheus
Apprentice
Apprentice


Joined: 12 Jul 2008
Posts: 235

PostPosted: Sat Jul 14, 2012 7:37 pm    Post subject: Reply with quote

Now I'm even more confused, the patch above is for libvdpau, I thought vdpau was an nVidia only thing?
Back to top
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2643
Location: Slovenia

PostPosted: Sat Jul 14, 2012 7:47 pm    Post subject: Reply with quote

Apheus wrote:
Just curious, why do only people with nVidia gfx and x11-drivers/nvidia-drivers get this problem, and not with ATI and x11-drivers/ati-drivers?

It's not only nvidia. It's everyone using VDPAU, in one specific case - hardware presentation, but software decoding.

ati-drivers don't have the problem because of a very simple reason: they don't support VDPAU, neither presentation nor decoding.

Apheus wrote:
but my solution was/is: Disable hardware acceleration in flash

That's not a solution. That's disabling hardware acceleration. With the patch you don't need to do that.

Apheus wrote:
Now I'm even more confused, the patch above is for libvdpau, I thought vdpau was an nVidia only thing?

VDPAU is the Video Decode and Presentation API for Unix. That, and exactly that. It was never Nvidia-only.
Back to top
View user's profile Send private message
ppurka
Advocate
Advocate


Joined: 26 Dec 2004
Posts: 3208

PostPosted: Sat Jul 14, 2012 11:39 pm    Post subject: Reply with quote

I thought of moving to a more "secure" flash installation (as if it could ever be secure). So, I updated libvdpau using the patch and updated flash to the latest available version in portage. Sure enough, it doesn't work properly. The blue tinge is still there and the VDPAU_NVIDIA_NO_OVERLAY=1 environment variable has no effect. Tested on opera and firefox.
_________________
emerge --quiet redefined | E17 vids: I, II
Back to top
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2643
Location: Slovenia

PostPosted: Sun Jul 15, 2012 12:00 am    Post subject: Reply with quote

The NO_OVERLAY option is not meant to have any effect on this. It just makes the nvidia driver use a different presentation method (blitter instead of overlay), which makes flash a bit more stable if you activate hardware decoding.

No idea why the patch doesn't work for you, that would be a first. You did use the git ebuild, and you have the /etc/vdpau_wrapper.cfg file with enable_flash_uv_swap=1 in it? Just checking.
Back to top
View user's profile Send private message
ppurka
Advocate
Advocate


Joined: 26 Dec 2004
Posts: 3208

PostPosted: Sun Jul 15, 2012 1:09 am    Post subject: Reply with quote

Gusar wrote:
The NO_OVERLAY option is not meant to have any effect on this. It just makes the nvidia driver use a different presentation method (blitter instead of overlay), which makes flash a bit more stable if you activate hardware decoding.

No idea why the patch doesn't work for you, that would be a first. You did use the git ebuild, and you have the /etc/vdpau_wrapper.cfg file with enable_flash_uv_swap=1 in it? Just checking.
Yeah. I have done that. Anyway.. 11.1 is working good for me. I don't see a compelling reason to upgrade to a broken flash. It also doesn't look like the flash devs are interested in fixing their bugs, otherwise we would have seen a fix already.
_________________
emerge --quiet redefined | E17 vids: I, II
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum