intel / libva

Libva is an implementation for VA-API (Video Acceleration API)
http://intel.github.io/libva/
Other
664 stars 303 forks source link

x11: don't do DRI3 with Intel drivers #727

Open evelikov opened 1 year ago

evelikov commented 1 year ago

Unfortunately i965 and iHD drivers lack DRI3 support.

It's unknown when/if they will gain support, so explicitly disable DRI3 for them - it's not perfect, alas better than asking every affected user to manually set the environment override.

evelikov commented 1 year ago

If you can provide a concrete example, I am happy to adjust.

pbiering commented 1 year ago

If you can provide a concrete example, I am happy to adjust.

I would assume it's related to:

and they seem uninterested in adding one - le sigh.

Replace it by "as of 2023-07" and all is fine I would assume

dvrogozh commented 1 year ago

Yes, but not only. Basically the whole commit message is subject to the same. It can be formulated in much more neutral way, for example:

As of now i965 and iHD lacks <...describe which...> support. To handle
this on libva level we are adding <...something...>.

and non-neutral parts expressed elsewhere, for example in separate PR comments.

evelikov commented 1 year ago

Mellowed it down to include the facts... hope that's clean enough :-P

evelikov commented 1 year ago

@XinfengZhang struggling to understand that. Sorry to say this but the English in the above is quite poor.

XinfengZhang commented 1 year ago

to be clear,

  1. if there are only DRI3 support, the driver name retrieved from va_DRI3_GetDriverNames should be used. nothing was impacted.
  2. your previous change caused a problem , https://github.com/intel/libva/issues/677 then it was fixed by https://github.com/intel/libva/pull/679 but actually, these changes break backward compatibility, user have to set extra env variables to make older case works. these is why I have the patch #716 and why need you answer the concern of https://github.com/intel/libva/pull/716#issuecomment-1586193071
kongxa commented 1 year ago

Making a xcb-dri3.pc in /usr/lib/x86_64-linux-gnu/pkgconfig can be effective `root@JVSCompile:/usr/lib/x86_64-linux-gnu/pkgconfig# cat xcb-dri3.pc prefix=/usr exec_prefix=${prefix} libdir=${prefix}/lib/x86_64-linux-gnu includedir=${prefix}/include

Name: XCB DRI3 Description: XCB DRI3 Extension Version: 1.0 Requires.private: xcb Libs: -L${libdir} -lxcb-dri3 Cflags: -I${includedir} `

evelikov commented 1 year ago

@kongxa I don't see how the pkg-config file contents are relevant here.

kwizart commented 10 months ago

I'm not sure in which context the LIBVA_DRI3_DISABLE is needed ? Probably when Xwayland is used ?

I don't get why if no DRI3 aware backend are found, there is no attempt to use DRI2 automatically instead ?

Also having "yet another" mapping to disable DRI3 by default with some backend won't help when(/if) the said backend later gains DRI3 support.

So far, I expect the only supported DRI3 backend driver might be the mesa one, I don't expect any others ? (I don't expect nvidia-vaapi-backend to have DRI3)