Il 15/11/20 15:35, Davide Prina ha scritto: > vdpau[¹] sono delle librerie che permettono l'uso della GPU della > propria scheda video per effettuare alcune operazioni (es: decoding > video, video post-processing, ...) altrimenti svolte dalla CPU e quindi > di alleggerire il lavoro della CPU con conseguenza aumento delle > prestazioni. > > Purtroppo mi sono accorto che, pur avendo le librerie libere installate > e avendo il supporto per vdpau con la mia scheda video[²], il sistema > non è configurato, in modo predefinito, per utilizzare vdpau.
Ciao Lista, Sono molto interessanti queste librerie, > > Ho installato vdpauinfo > # apt install vdpauinfo Ho installato il pacchetto. > > e l'ho eseguito: > $ vdpauinfo > display: :0 screen: 0 > Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared > object file: No such file or directory > Error creating VDPAU device: 1 > > In pratica mi segnala che manca la libreria libvdpau_nvidia.so, ma > questa libreria è presente nei driver nvidia proprietari, che io non > voglio usare, anche perché sul sito freekesktop[²] è indicato che i > driver liberi supportano vdpau. > > A questo punto ho iniziato a cercare, non trovando nulla in rete, fino a > quando ho trovato un primo indizio su: > $ man vdpauinfo > [...] > The following environment variables can influence the behavior of > vdpauinfo. > > VDPAU_DRIVER > Setting this variable will cause libvdpau to select a non-default > backend. For example, to run on an Intel IGPU via VA, set it to va_gl > [...] > > Cercando in rete ho trovato, in un forum, che per abilitare l'uso di > vdpau bisogna impostare tale variabile a readeonsi (per chi ha questa > scheda... vedere più avanti come poter determinare il valore corretto > per la propria scheda video) > $ export VDPAU_DRIVER=radeonsi A me sembra che funziona con la libreria va_gl, ma non del tutto. A questo comando vdpauinfo, risponde, ma ci sono alcuni errori, o messaggi strani. Cioè: display: :0 screen: 0 libva info: VA-API version 1.4.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null) API version: 1 Information string: OpenGL/VAAPI backend for VDPAU Sembra che non trova il nome del driver. Ho impostato la var: export VDPAU_DRIVER_PATH=/usr/lib/x86_64-linux-gnu/vdpau/ Nei Decoder capabilities, non nè supporta nessuno. Metto alcuni esempi, per non intasare troppo qui, name level macbs width height ---------------------------------------------------- MPEG1 --- not supported --- MPEG2_SIMPLE --- not supported --- MPEG2_MAIN --- not supported --- ..... .... Io nè ho contati una trentina. Poi non so se ci sono altre cose da configurare. > > a questo punto vengono rilevate correttamente. > > ho visto che esiste anche un'altra variabile > VDPAU_DRIVER_PATH Ho impostato la var: export VDPAU_DRIVER_PATH=/usr/lib/x86_64-linux-gnu/vdpau/ > che può essere impostata al path dove sono presenti le librerie vdpau, > nel caso in cui non le trovi in automatico. > > Attenzione che così facendo funziona solo da xterm dove avete eseguito > quel settaggio e fino al prossimo riavvio. > Per renderlo permanente si potrebbe mettere in > /etc/profile Qui ho inserito le due variabili : export VDPAU_DRIVER_PATH=/usr/lib/x86_64-linux-gnu/vdpau/ export VDPAU_DRIVER=va_gl > o meglio ancora crearsi un proprio file di script in > /etc/profile.d/ > > Ma ho visto che c'è il file di configurazione > /etc/vdpau_wrapper.cfg > ma non ho ancora capito come mettere questa configurazioni li dentro. > > Purtroppo però non ho trovato i valori da mettere per abilitare anche > altri tipi di schede, nel caso in cui non siano abilitati di default. > > Probabilmente i valori, per VDPAU_DRIVER, si possono ricavare dal > proprio sistema eseguendo questo comando (copiare entrambe le righe): > $ ls -la /usr/lib*/vdpau/libvdpau_* /usr/lib/*/vdpau/libvdpau_* \ > "$VDPAU_DRIVER_PATH"/libvdpau_* Qui ho eseguito, ed ho trovato diverse librerie, ma solo una sembra funzionare. Cioè : libvdpau_nouveau.so.1.0.0 libvdpau_r300.so.1.0.0 libvdpau_r600.so.1.0.0 libvdpau_radeonsi.so.1.0.0 libvdpau_trace.so.1.0.0 Queste danno tutte lo stesso errore: vdpauinfo display: :0 screen: 0 Error creating VDPAU device: 23 Ho la scheda Nvidia, ma con la libreria nouveau non funziona. L'unica che funziona è questa: libvdpau_va_gl.so.1 Questo risponde con circa 100 righe di informazioni. > > che dovrebbe elencare tutte le librerie libvdpau presenti sul proprio > sistema. > > E forse questo comando dovrebbe indicare quale usare: > grep -i vdpau /var/log/Xorg.0.log Questo non mi da nessuna risposta. > > E c'è anche questo pacchetto: "vainfo", che dovrebbe dare l'info cercata > sulla riga: > libva info: Trying to open /usr/lib[...] > Questo da sempre errore: vainfo libva info: VA-API version 1.4.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null) vaInitialize failed with error code -1 (unknown libva error),exit > Se qualcuno ne sa di più su questo argomento e può fornire maggiori > info, soprattutto su come configurare il file /etc/vdpau_wrapper.cfg A me qui risulta che ci sono solo due variabili: enable_flash_uv_swap=1 disable_flash_pq_bg_color=1 Forse se nè possono aggiungere delle altre. > > Trovo assurdo che questa configurazione non sia creata di default > dall'installazione dei pacchetti vdpau e volevo sapere se anche per voi > non c'è l'impostazione in automatico. > > Ciao > Davide > > [¹] > https://vdpau.pages.freedesktop.org/libvdpau/ Qui ho provato a leggere, ma non ne capisco un granché di cose troppo tecniche (anche se avevo studiato informatica alle superiori). > > [²] > a seconda della scheda video bisogna prendere la pagina appropriata, ad > esempio per le radeon: > https://x.org/wiki/RadeonFeature/ > Grazie Saluti