Toon posts:

Hardware-acceleration in Linux

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ondanks dat ik bij de browser (Firefox en Waterfox) instel dat ik hardware-acceleratie wil worden de video's met de CPU gerendered, en dit met een oude Intel-CPU zonder geïntegreerde graphics.
VLC rendert ook enkel video's met de CPU. Deze opties worden gegeven voor hardware-acceleration:
Automatic
VA-API decoder
VDPAU
VA-API decoder via DRM
Bij zowel VA-API als VDPAU loopt VLC vast. In een van de twee gevallen krijg je ruis te zien (gekleurde strepen) terwijl je het geluid hoort en verdwijnt het beeld voor heel het systeem. Ik heb ook geprobeerd om met ctrl-alt-F4 een andere TTY te openen, je krijgt dan niet de output die je normaal zou zien. Enkel automatic werkt en dan wordt alles via de CPU gerenderd.

Dit lijkt technische problemen te geven: 1440p video's op Youtube die regelmatig worden onderbroken (47 MBpS download, dat zou genoeg moeten zijn) en MKV-bestanden met een relatief hoge kwaliteit (2 GB voor 40-45 minuten, 10-35 GB voor een film) die wat stroperiger lijken te draaien. Alle Chromium-based browsers (Chromium, Vivaldi, Opera) zijn om een andere reden een minder geschikte optie omdat het 20-25 seconden duurt voordat die starten terwijl FF en Waterfox in 2-4 seconden starten. Dit meldt de terminal wanneer ik het vanuit de terminal start en dit geldt voor alle Chromium-based browses die ik via Octopi of PaMac installeer uit de officiële repositories (niet de AUR),
[5008:5008:0831/194945.266248:ERROR:sandbox_linux.cc(378)] InitializeSandbox() called with multiple threads in process gpu-process.
[4977:5051:0831/195010.135714:ERROR:object_proxy.cc(616)] Failed to call method: org.freedesktop.Notifications.GetCapabilities: object_path= /org/freedesktop/Notifications: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
[4977:4977:0831/195010.262822:ERROR:gpu_process_transport_factory.cc(1016)] Lost UI shared context.
[4:12:0831/195010.429073:ERROR:command_buffer_proxy_impl.cc(113)] ContextResult::kFatalFailure: Shared memory handle is not valid
Naast de technische problemen is het ook onpraktisch om video's door de CPU te laten renderen aangezien de CPU-koeler (stock Intel koeler :')) al snel veel meer lawaai maakt dan de grafische kaart voor deze taak en er volgens mij ook het stroomverbruik hoger ligt dan wanneer je het aan de grafische kaart overlaat.
[small]Nogmaals, het gaat om een oude Intel-CPU zonder geïntegreerde graphics[small]

Systeem: Manjaro
CPU: i5-750 (problematisch voor video's met een hogere kwaliteit en resolutie)
GPU: HD 7850
Een goede SSD via SATA-300

Gaming is geen probleem, dan gebruikt de software netjes mijn grafische kaart en lijk ik geen verminderde performance te hebben. Zo heb ik Borderlands2 hiermee gespeeld op Linux.

Weet iemand hoe je hardware-acceleratie kan forceren bij de FF-browsers en VLC?

Tot slot, idem voor de desktop, het zou fijn zijn als die ook gewoon de GPU gebruikt voor graphics in plaats van de CPU.

Acties:
  • 0 Henk 'm!

  • Sandor_Clegane
  • Registratie: Januari 2012
  • Niet online

Sandor_Clegane

Fancy plans and pants to match

Same here :)

Browsers lopen beduidend trager op Linux. Vivaldi laat het beeld zelfs schokken......

Als iemand een gouden tip heeft! Graag. :)

OS KUbuntu 18.04 , kernel 4.17.2
GPU 1080GTX TI Nividia driver 396.

Less alienation, more cooperation.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Jij hebt in ieder geval nog de luxe dat jij via passthrough Windows kan gebruiken zonder te herstarten. Ik moet herstarten wanneer ik video's afspeel buiten Youtube (voor youtube vind ik het minder erg dat het beeld wat shockt). De CPU-load is ongeveer 50% bij het afspelen van 1080p video's in Youtube en VLC. De desktop-omgeving zit op 5-10% met pieken ver daarboven (windows slepen/openen).

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Manjaro is gebaseerd op Arch. Heb je dit al eens doorgenomen? https://wiki.archlinux.or...rdware_video_acceleration

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb andere probleempjes (verbergen titelbalk KDE, blacklisten PC-speaker kernel) via de Archwiki opgelost en ik had de passthrough-afdeling van ArchWiki ontdekt dus ik had hieraan moeten denken maar nee, ik ga er nu naar kijken. Hopelijk biedt het een oplossing.

Edit
Installing VA-API

Open source drivers:

ATI/AMDGPU Radeon 9500 and newer GPUs are supported by either libva-mesa-driver with mesa or libva-vdpau-driver (see #Installing VDPAU).
Intel GMA 4500 series and newer GPUs are supported by libva-intel-driver with mesa.
To get better support on GMA 4500 consider using libva-intel-driver-g45-h264AUR instead, see Intel#Hardware accelerated H.264 decoding on GMA 4500 for instructions and caveats.
A new usermode driver being developed by Intel is available for Broadwell, Skylake, Kabylake, Apollolake and Canonlake: intel-media-driverAUR
NVIDIA GeForce 8 series and newer GPUs are supported by libva-vdpau-driver (see #Installing VDPAU).

Proprietary drivers:

AMD cards depend on the driver:
AMD Catalyst uses xvba.
AMDGPU PRO uses libva-vdpau-driver + amdgpu-pro-vdpauAUR (see AMDGPU#AMDGPU PRO).
NVIDIA GeForce 8 series and newer GPUs are supported by libva-vdpau-driver (see #Installing VDPAU).

Installing VDPAU

Open source drivers:

ATI/AMDGPU Radeon 9500 and newer GPUs are supported by mesa-vdpau.
Intel GMA 4500 series and newer GPUs are supported by libvdpau-va-gl (see #Installing VA-API).
NVIDIA GeForce 8 series and newer GPUs are supported by mesa-vdpau. It requires nouveau-fwAUR, which contains the required firmware to operate that is presently extracted from the NVIDIA binary driver.

Proprietary drivers:

AMD cards depend on the driver:
AMD Catalyst uses libvdpau-va-gl (see #Installing VA-API).
AMDGPU PRO uses amdgpu-pro-vdpauAUR (see AMDGPU#AMDGPU PRO).
NVIDIA GeForce 600 series and newer GPUs are supported by nvidia-utils.
GeForce 400/500 series are supported by nvidia-390xx-utils.
GeForce 8/9 and GeForce 100-300 series are supported by nvidia-340xx-utils.
Ik heb alle drivers. Ik ben nog aan het kijken naar de verificatie-stappen.

Momenteel heb ik de open source drivers, zou ik beter de proprietary drivers gebruiken? Ik had eerder op de website van AMD gekeken, daar werd voor de oudere series geen proprietary drivers aangeboden. Ik heb Catalyst geïnstalleerd maar die kan ik niet opstarten omdat de open drivers actief zijn.

[ Voor 83% gewijzigd door Verwijderd op 31-08-2018 20:55 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:21

Hero of Time

Moderator LNX

There is only one Legend

Lees die quote nog eens goed door. Er staat dit:
ATI/AMDGPU Radeon 9500 and newer GPUs are supported by either libva-mesa-driver with mesa or libva-vdpau-driver (see #Installing VDPAU).
En welke kaart heb jij? Een HD7850. Dat is lager dan de 9500 waar over wordt gesproken. Je videokaart zit dus niet in het rijtje voor hardware acceleratie ondersteuning. Spijtig, maar je zal toch iets moeten upgraden aan je systeem. Nu scheelt het dat je voor een paar tientjes al een veel betere videokaart kan krijgen dan wat je nu hebt.

@Sandor_Clegane, ik raad je aan om een apart topic te openen als je er serieus verder mee wilt. Je hardware is dermate anders dan de TS dat je anders poogt dit topic te kapen en dat is natuurlijk niet de bedoeling. ;) Wel geef ik je de tip mee om te kijken naar of je wel alle packages hebt voor VDPAU support. Denk hierbij ook aan gstreamer1.0 plugins, als Chrome en derivaten hier gebruik van maken. Er zijn genoeg manieren om het te testen, snelste die ik kan bedenken is met mplayer -vo vdpau of smplayer. VLC kan natuurlijk ook, maar mplayer op CLI geeft direct informatie over zaken. Oh, en vdpauinfo uiteraard.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Sandor_Clegane
  • Registratie: Januari 2012
  • Niet online

Sandor_Clegane

Fancy plans and pants to match

@Hero of Time De TS vroeg me ook mee te posten in dit topic aangezien hij mij op de frontpage vroeg om advies en ik dit hem schuldig moest blijven.

Ik zal je advies een proberen. Thanks.

Less alienation, more cooperation.


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Ik heb een nVidia kaart, maar had het zelfde probleem.
Ja, ik gebruik ook Fedora, dus compleet wat anders.

Echter, het probleem zat hem in ffmpeg en gstreamer (de video libraries) dat deze standaard geen hardware acceleratie aan boord hadden.
Vervolgens moest ik een andere repo gebruiken Negativo17

Misschien dat je het in die hoek nog kan zoeken bij Manjaro/Arch?

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • phpn3rd
  • Registratie: April 2008
  • Laatst online: 22:42
Hero of Time schreef op vrijdag 31 augustus 2018 @ 22:49:
Lees die quote nog eens goed door. Er staat dit:

[...]

En welke kaart heb jij? Een HD7850. Dat is lager dan de 9500 waar over wordt gesproken. Je videokaart zit dus niet in het rijtje voor hardware acceleratie ondersteuning. Spijtig, maar je zal toch iets moeten upgraden aan je systeem. Nu scheelt het dat je voor een paar tientjes al een veel betere videokaart kan krijgen dan wat je nu hebt.
Volgens mij is de HD7850 een stuk nieuwer dan de Radeon 9500, dus dat zou geen probleem moeten zijn. ;)

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:21

Hero of Time

Moderator LNX

There is only one Legend

phpn3rd schreef op zaterdag 1 september 2018 @ 08:26:
[...]

Volgens mij is de HD7850 een stuk nieuwer dan de Radeon 9500, dus dat zou geen probleem moeten zijn. ;)
Hmm, tijd gaat harder dan ik dacht. Zat te vergelijken met een nVidia generatie die ik had welke net geen support kreeg ervoor en die is blijkbaar nog ouder.

Wat wel een van de vereisten is voor hardware decoding is de firmware voor de kaart.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Sandor_Clegane
  • Registratie: Januari 2012
  • Niet online

Sandor_Clegane

Fancy plans and pants to match

Wat is een goede manier om dit te testen? Ik kan prima 4K youtube afspelen, maar heb wel last van tearing.

Heb net __GL_YIELD = USLEEP aangezet en drm_modeset = 1 op de kernel.

Ik heb net deze gedownload op 4K http://bbb3d.renderfarming.net/download.html

Big Buck Bunny en onder VLC een cpu load van nada en geen tearing! yay :)

Mplayer werkt niet, deze slurpt een aantal cores lijkt het.

Kan ook placebo zijn, maar het lijkt beter.

[ Voor 43% gewijzigd door Sandor_Clegane op 01-09-2018 11:16 ]

Less alienation, more cooperation.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:21

Hero of Time

Moderator LNX

There is only one Legend

Grappig. Net even de 1080p@60fps getest in twee browsers hier (Otter en Firefox). Beide doen niet aan hardware decoding voor de video. Dan mplayer met vdpau output zie ik ook dat m'n CPU gebruikt wordt. Pak ik vervolgens smplayer (met video output vdpau), wat effectief ook mplayer op de achtergrond gebruikt, en die pakt wel volledig de hardware opties en blijft m'n CPU laag.

Het is dus blijkbaar nogal kieskeurig wat nou wel fatsoenlijk HW decoding toepast en wat niet. Nu aan de TS om zijn resultaten te posten.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Hero of Time schreef op zaterdag 1 september 2018 @ 14:10:
Grappig. Net even de 1080p@60fps getest in twee browsers hier (Otter en Firefox). Beide doen niet aan hardware decoding voor de video.
Ook even getest:
- Chromium ook niet (zelfs geen geluid).
- Dragon player ook niet
- VLC inderdaad wel

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:21

Hero of Time

Moderator LNX

There is only one Legend

@DJMaze, maar jij zit op Fedora. Die is nog strakker met open source en weigeren van non-free zaken dan Debian dat is. Nu heb ik wel debian-multimedia repo toegevoegd en haal daar mplayer en de codecs uit. Daar zijn wel gewoon non-free zaken tijdens het compileren aan.

Commandline FTW | Tweakt met mate


Acties:
  • +7 Henk 'm!

  • teatree
  • Registratie: Oktober 2014
  • Laatst online: 16-02 17:53
Als je HW acceleration wilt gebruiken in je browser dan is op dit moment een op Chromium gebaseerde browser je enige hoop. Bij Linux is het standaard gedeactiveerd omdat het niet altijd goed werkt, je kunt het handmatig aanzetten door naar chrome://flags te gaan en Override software rendering list te activeren. Vervolgens kun je bij chrome://gpu zien wat precies is geaccelereerd en wat niet. Dit zal puur HW acceleratie gebruiken om webpaginas te renderen, voor het geaccelereerd renderen van videos moet je va-api werkend hebben met je gfx kaart en moet je een gepatchde versie van chromium gebruiken. Er is een aanwezig in de AUR genaamd chromium-vaapi, dan moet je weer de flag aanzetten bij chrome://flags.

Als je wilt controleren of je graphics goed zijn ingesteld moet je de output van vainfo (package libva-utils) en vdpauinfo (package vdpauinfo) controleren. Zo ziet mijn output eruit:
vainfo: https://i.imgur.com/NCofAWK.png, vdpauinfo: https://i.imgur.com/hClvoEw.png

Als je gpu driver standaard va-api gebruikt, bijvoorbeeld als je intel integrated graphics gebruikt, moet je eerst va-api werkend krijgen (drivers installeren, testen met vainfo) vervolgens vdpau opzetten met va-api als back-end. Naast het installeren van libvdpau en libvdpau-va-gl moet je ook een environment variable instellen, namelijk VDPAU_DRIVER=va_gl.

De reden dat je va-api en vdpau moet instellen is omdat volgens mij intel en nvidia aparte APIs hebben gemaakt voor video acceleratie en applicaties meestal niet beide ondersteuenen, dus is het handig om beide werkend te hebben.

Chromium heeft meerdere opties om te controleren of gpu acceleratie werkt, als je de gepatchde versie hebt met va-api ondersteuning is er bij chrome://gpu een kopje Video Acceleration Information waar je kunt zien of het goed werkt. Bovendien kun je live volgen welke codec en decoder wordt gebruikt bij een video bij chrome://media-internals en dan op de url klikken. Als de decoder GpuVideoDecoder is dan werkt het.

Voor de OP adviseer ik om de output van vainfo te controleren, indien er een error wordt gegeven betekent het dat het niet goed is geconfigureerd en dus daarom werkt het niet met VLC. Games kunnen werken zelfs al heb je va-api en vdpau niet geconfigureerd, dat zijn namelijk video acceleratie APIs en games gebruiken OpenGL/Vulkan voor het renderen van graphics.

Kun je de output van 'pacman -Q | grep libva' ook posten? Dan weten we of je alle libva packages hebt geinstalleerd.

[ Voor 12% gewijzigd door teatree op 01-09-2018 17:22 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:21

Hero of Time

Moderator LNX

There is only one Legend

@hedenclod _O_ voor je eerste post hier en dan ook nog eens zo enorm informatief en behulpzaam. d:)b

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • deepbass909
  • Registratie: April 2001
  • Laatst online: 00:53

deepbass909

[☼☼] [:::][:::] [☼☼]

@hedenclod Wat een super post! _/-\o_

Ik ga daar ook eens mee aan de slag, want ik kamp ook met prestatie-problemen onder Kaos (wel minder dan met Mint of Ubuntu).

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier

Pagina: 1