Pagina 4 di 10

Re: flash in blu

Inviato: ven 19 ott 2012, 9:27
da Trotto@81
Naturale ci sia vdpau, ma solo le librerie, degli header per compilarsi programmi che ne facciano uso nemmeno l'ombra.

Codice: Seleziona tutto

usr/lib64/libvdpau.so.304.43
usr/lib64/vdpau/
usr/lib64/vdpau/libvdpau_trace.so.304.43
usr/lib64/vdpau/libvdpau_nvidia.so.304.43

Re: flash in blu

Inviato: ven 19 ott 2012, 10:19
da ZeroUno
tra l'altro mi sono appena accorto di un broken link sul pacchetto
lrwxrwxrwx 1 root root 20 Oct 10 11:52 /usr/lib64/vdpau/libvdpau_nvidia.so -> libvdpau_nvidia.so.1
libvdpau_nvidia.so.1 non esiste (mi deve essere sfuggito).

Ho cercato di vedere che versione di vdpau ci sono nel pacchettone. Non so se è una versione scritta da loro o se è patchata da loro.

Lo slackbuild di slacky per vdpau va bene o che sappiate ci sono modifiche da fare?


Comunque ho notato che nel .run scaricato da nvidia ci sono
gl.h glext.h glx.h glxext.h
che non ho riportato nel pacchetto in quanto collimano con quelli mesa e non so, in quanto solo header, quanto siano compatibili tra di loro.
Ho cercato di ridurre le collisioni al massimo, ma non so in caso di compilazioni se poi un pacchetto compilato con i driver nvidia sarà compatibile con quello di mesa.

glext.h di mesa:

Codice: Seleziona tutto

# grep vdpau /usr/include/GL/glext.h 
#ifndef GL_NV_vdpau_interop
#ifndef GL_NV_vdpau_interop
typedef GLintptr GLvdpauSurfaceNV;
#ifndef GL_NV_vdpau_interop
#define GL_NV_vdpau_interop 1
GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
GLAPI void APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface);
GLAPI void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface);
GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);
GLAPI void APIENTRY glVDPAUMapSurfacesNV (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
GLAPI void APIENTRY glVDPAUUnmapSurfacesNV (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
typedef void (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface);
typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);
typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);
typedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
typedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
glext.h di nvidia:

Codice: Seleziona tutto

# grep vdpau glext.h#ifndef GL_NV_vdpau_interop
#ifndef GL_NV_vdpau_interop
typedef GLintptr GLvdpauSurfaceNV;
#ifndef GL_NV_vdpau_interop
#define GL_NV_vdpau_interop 1
extern GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
extern GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
extern GLboolean APIENTRY glVDPAUIsSurface (GLvdpauSurfaceNV surface);
extern void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface);
extern void APIENTRY glVDPAUGetSurfaceiv (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
extern void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);
extern void APIENTRY glVDPAUMapSurfacesNV (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
extern void APIENTRY glVDPAUUnmapSurfacesNV (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
typedef GLboolean (APIENTRYP PFNGLVDPAUISSURFACEPROC) (GLvdpauSurfaceNV surface);
typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);
typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);
typedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
typedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
gli altri gl*.h presenti nel .run nvidia non hanno riferimenti a vdpau (gl.h glx.h glxext.h)

Re: flash in blu

Inviato: ven 19 ott 2012, 10:31
da ZeroUno
compilando libvdpau 0.5 noto che questa versione ha /etc/vdpau_wrapper.cfg che NON ha la versione 0.4

/etc/vdpau_wrapper.cfg :
enable_flash_uv_swap=1
disable_flash_pq_bg_color=1

Dal changelog del pacchetto:

Codice: Seleziona tutto

commit ca9e637c61e80145f0625a590c91429db67d0a40
Author: Stephen Warren <swarren@wwwdotorg.org>
Date:   Tue May 1 20:27:24 2012 -0700

    Implement workarounds for Adobe Flash bugs
    
    Implement two workarounds:
    
    1) Swap U and V planes to VdpVideoSurfacePutBitsYCbCr to fix blue-tinged
       videos.
    
    2) Disable VdpPresentationQueueSetBackgroundColor, so that Flash doesn't
       set the background to pure black or pure white, which would cause the
       VDPAU image to bleed through to other parts of the desktop with those
       very common colors.
    
    These workarounds are only enabled when running under Flash player, and
    may be individually controlled via /etc/vdpau_wrapper.cfg, should they
    ever need to be disabled.
    
    Note that this code stores the VDPAU backend function pointers as global
    variables, which is technically incorrect. However, the likelihood of
    any known VDPAU implementation ever returning different values for these
    pointers within a single process is zero. If this becomes a problem, a
    hash table of VdpDevice to the stored pointers should be implemented.
    
    Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    [aplattner@nvidia.com: fixed distcheck by changing it to dist_libvdpausysconf_DATA]
io oltre al primo bug ho riscontrato anche il secondo.
voi?

Re: flash in blu

Inviato: ven 19 ott 2012, 10:34
da Trotto@81
In definitiva che si fa? :D

Re: flash in blu

Inviato: ven 19 ott 2012, 10:51
da ZeroUno
esperimenti, fino a trovare la soluzione migliore.

edit: libvdpau l'ho pacchettizzato ed in effetti risolve il bug. Non lo carico ancora perchè devo ancora eliminare vdpau dal pacchetto nvidia.

Re: flash in blu

Inviato: ven 19 ott 2012, 11:41
da tornadomig
gia' che ci siamo, colgo l'occasione...
su slackbuilds.org come hanno risolto? li' si deve installare proprio libvdpau ma i driver proprietari non sono mai gli ultimi pubblicati, infatti hanno ora i 302

Re: flash in blu

Inviato: ven 19 ott 2012, 11:44
da Trotto@81
Ho sempre usato il pacchetto di Alien e non ho mai seguito di pari passo entrambi.

Re: flash in blu

Inviato: ven 19 ott 2012, 12:42
da tornadomig
son pure usciti i nuovi nvidia, 304.60!

Re: flash in blu

Inviato: ven 19 ott 2012, 12:54
da ZeroUno
Chissà se includono il nuovo libvdpau :D

pensa, stavo per caricare il pacchetto.
Ora lo sto rifacendo, ma per verificarlo devo riavviare, ed ora non posso proprio. Forse fra qualche ora.

Re: flash in blu

Inviato: ven 19 ott 2012, 13:41
da ZeroUno
ZeroUno ha scritto:Chissà se includono il nuovo libvdpau :D
http://www.nvidia.it/object/linux-displ ... er-it.html
Risolto un problema che provocava la sospensione di VDPAU durante l'espansione del lettore Flash di YouTube.
E mo'?
:D

edit:
aspé, no, quello era il changelog della 304.43 (che comunque non risolveva a quanto pare)
della 304.60 è
http://www.nvidia.it/object/linux-displ ... er-it.html
e non ce né cenno

Re: flash in blu

Inviato: ven 19 ott 2012, 13:46
da Trotto@81
E se l'avessero risolto in questa? :p
La vera accelerazione hw è strepitosa!

Re: flash in blu

Inviato: ven 19 ott 2012, 13:56
da tornadomig
@Trotto

per curiosita' cosa ti sei installato? proprio quelli appena usciti? nvidia parliamo ;)

Re: flash in blu

Inviato: ven 19 ott 2012, 14:03
da ZeroUno
Trotto@81 ha scritto:E se l'avessero risolto in questa? :p
La vera accelerazione hw è strepitosa!
Perchè, i vpau di nvidia e quelli esterni differiscono in performance? (ma di cosa poi?)

comunque dai changelog sembra la .60 non tocca vdpau, mentre la correzione di cui parla il changelog del .43 non mi sembra risolva l'effetto blue visto che rimane.

Comunque farò qualche prova (test funzionali. quelli di performance non ho tempo per farli)

Re: flash in blu

Inviato: ven 19 ott 2012, 14:42
da tornadomig
infatti, a meno che non si usino giochi come su W...a che pro fare test di prestazioni sui driver proprietari?

spero tanto che steam si sbrighi a fare il portale giochi per GNU/Linux \:D/

Re: flash in blu

Inviato: ven 19 ott 2012, 15:13
da Trotto@81
ZeroUno ha scritto:
Trotto@81 ha scritto:E se l'avessero risolto in questa? :p
La vera accelerazione hw è strepitosa!
Perchè, i vpau di nvidia e quelli esterni differiscono in performance? (ma di cosa poi?)

comunque dai changelog sembra la .60 non tocca vdpau, mentre la correzione di cui parla il changelog del .43 non mi sembra risolva l'effetto blue visto che rimane.

Comunque farò qualche prova (test funzionali. quelli di performance non ho tempo per farli)
Mi riferivo all'accelerazione hw che porta a crash di flash in modalità full screen.
Se la abilito tramite cfg la cpu lavora poco e nulla, ma ha il problema dei crash.