From Fedora Project Wiki
(dependencies)
No edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 2: Line 2:


== Summary ==
== Summary ==
This change is about upgrading {{package|libva}} and others to version 2.0. This change affects several multimedia players as there are both API and ABI changes.
This change is about upgrading {{package|libva}} and others to version 2.x. This change affects several multimedia players as there are both API and ABI changes.
This will allow some VA-API backends to be updated, improving support for recent hardware.
This will allow some VA-API backends to be updated, improving support for recent hardware.


Line 8: Line 8:
* Name: [[User:kwizart| Nicolas Chauvet]]
* Name: [[User:kwizart| Nicolas Chauvet]]
* Email: kwizart - at - fedoraproject.org
* Email: kwizart - at - fedoraproject.org
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes ticket: [https://pagure.io/fedora-docs/release-notes/issue/113 #113]
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
Line 26: Line 26:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1547062 #1547062]


== Detailed Description ==
== Detailed Description ==
Line 32: Line 32:
Updating to VA-API 1.0.0 will allow to fix and clean-up issues with the API as sum-up in this upstream topic [https://github.com/intel/libva/issues/72 VA-API 1.0.0]:
Updating to VA-API 1.0.0 will allow to fix and clean-up issues with the API as sum-up in this upstream topic [https://github.com/intel/libva/issues/72 VA-API 1.0.0]:


*  fix errors in API/data structure definition, e.g. 01org#32
*  fix errors in API/data structure definition, e.g. [https://github.com/intel/libva/issues/32 01org#32]
*  add new features, e.g. 01org#69,
*  add new features, e.g. [https://github.com/intel/libva/issues/69 01org#69],
*  deprecate some useless API/data structures, e.g. libva-tpi, libva-egl.
*  deprecate some useless API/data structures, e.g. libva-tpi, libva-egl.
*  provide other improvement, e.g. use portable type to define data structure.
*  provide other improvement, e.g. use portable type to define data structure.
Line 52: Line 52:


Verify that everything is working as appropriate or report issue upstream. TESTING IN PROGRESS.
Verify that everything is working as appropriate or report issue upstream. TESTING IN PROGRESS.
* Other developers: N/A
* Release engineering: [https://pagure.io/releng/issue/7285 #7285]
* List of deliverables: N/A
* Policies and guidelines: N/A
* Trademark approval: N/A


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
Line 57: Line 67:


== How To Test ==
== How To Test ==
<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.
Remember that you are writing this how to for interested testers to use to check out your change implementation - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your change.
A good "how to test" should answer these four questions:
0. What special hardware / data / etc. is needed (if any)?
1. How do I prepare my system to test this change? What packages
need to be installed, config files edited, etc.?
2. What specific actions do I perform to check that the change is
working like it's supposed to?
3. What are the expected results of those actions?
-->
* Hardware that are fully supported in Fedora:
* Hardware that are fully supported in Fedora:
AMD with {{package|mesa-dri-drivers}} installed
AMD with {{package|mesa-dri-drivers}} installed
Line 77: Line 74:
Intel HD graphics hardwares require a separate libva-intel-driver package that need to be installed. This VA-API backend can be downloaded from a single purpose f28-free-drivers repository provided by the RPM Fusion project.
Intel HD graphics hardwares require a separate libva-intel-driver package that need to be installed. This VA-API backend can be downloaded from a single purpose f28-free-drivers repository provided by the RPM Fusion project.


1. vainfo should output the VA-API backend capabilities
* vainfo should output the VA-API backend capabilities for your hardware


2. totem with {{package|gstreamer1-vaapi}} installed should play the video with less CPU usage than when VAAPI backend is disabled.
* totem with {{package|gstreamer1-vaapi}} installed should play the video with less CPU usage than when VAAPI backend is disabled.


== User Experience ==
== User Experience ==
Line 104: Line 101:
-->
-->


[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF28]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 110: Line 107:
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->


<!-- Select proper category, default is Self Contained Change -->
[[Category:SelfContainedChange]]
[[Category:SelfContainedChange]]
<!-- [[Category:SystemWideChange]] -->

Latest revision as of 15:08, 2 March 2018

VA-API 1.0.0

Summary

This change is about upgrading libva and others to version 2.x. This change affects several multimedia players as there are both API and ABI changes. This will allow some VA-API backends to be updated, improving support for recent hardware.

Owner

  • Name: Nicolas Chauvet
  • Email: kwizart - at - fedoraproject.org
  • Release notes ticket: #113
  • Product: Spins / Workstation
  • Responsible WG: Desktop

Current status

Detailed Description

Updating to VA-API 1.0.0 will allow to fix and clean-up issues with the API as sum-up in this upstream topic VA-API 1.0.0:

  • fix errors in API/data structure definition, e.g. 01org#32
  • add new features, e.g. 01org#69,
  • deprecate some useless API/data structures, e.g. libva-tpi, libva-egl.
  • provide other improvement, e.g. use portable type to define data structure.

All packages using libva will be rebuilt to take into account the new API/ABI. Futhermore, the intel backend will be updated along (not provided by Fedora). Others VA-API backend such the AMD and NVIDIA backend provided by Fedora within mesa-dri-drivers will work as appropriate. Bridges between VA-API and VDPAU will continue to be supported , this is:

  • libva-vdpau-driver which allows to use the VA-API enabled players with VDPAU backend (such as NVIDIA binary driver).
  • libvdpau-va-gl which allows to use the VDPAU API enabled players with VA-API backends (such as intel driver).

Benefit to Fedora

Fedora will provide a better multimedia experience on recent hardware.

Scope

  • Proposal owners:

Update and rebuild packages that depend on libva. DONE

Verify that everything is working as appropriate or report issue upstream. TESTING IN PROGRESS.

  • Other developers: N/A
  • Release engineering: #7285
  • List of deliverables: N/A
  • Policies and guidelines: N/A
  • Trademark approval: N/A

Upgrade/compatibility impact

Users should update to the more recent version provided in repositories.

How To Test

  • Hardware that are fully supported in Fedora:

AMD with mesa-dri-drivers installed

  • Hardware that are fully supported in Fedora, but requires additional firmware

NVIDIA with mesa-dri-drivers installed and nouveau video firmware extracted from the NVIDIA binary driver.

  • Hardware that requires package provided by third party repository.

Intel HD graphics hardwares require a separate libva-intel-driver package that need to be installed. This VA-API backend can be downloaded from a single purpose f28-free-drivers repository provided by the RPM Fusion project.

  • vainfo should output the VA-API backend capabilities for your hardware
  • totem with gstreamer1-vaapi installed should play the video with less CPU usage than when VAAPI backend is disabled.

User Experience

Users use less CPU resources when playing certain videos with VA-API enabled players.

Dependencies

N/A

Contingency Plan

  • If a Fedora application trigger any un-acceptable regression with VA-API, this application will be built with VA-API support disabled until the VA-API support can be restored.
  • Contingency mechanism:
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A
  • Blocks product? None

Documentation

Release Notes