-
Notifications
You must be signed in to change notification settings - Fork 300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
x11: allow disabling DRI3 via LIBVA_DRI3_DISABLE env var #679
Conversation
yes, of course, if we merge it, we could cherry pick it to 2.17 branch , to have a hotfix release. but I am wondering whether it is a real fix. customer still need to manually set the env ... |
This not a fix but a workaround that we want now. Mesa had an equivalent for years. It serves people who want to (or need to) disable the DRI3 code path for testing or debugging purposes. Imagine a really weird bug gets reported tomorrow and fixing that requires months until it's actually hits a libva release. In the interim people can use the override to have working systems. |
83c3a1f
to
0010b16
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
There are some corner cases where DRI3 does not work correctly. While bug reports are appreciated, this enables users to get back to their machines in meaningful way - aka w/o having to rebuild libva. Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
0010b16
to
ce35b7b
Compare
Hi, could we consider adding similar changes to diff --git a/va/x11/va_x11.c b/va/x11/va_x11.c
index a612c20..81cc972 100644
--- a/va/x11/va_x11.c
+++ b/va/x11/va_x11.c
@@ -195,9 +195,10 @@ static VAStatus va_DisplayContextGetNumCandidates(
int *num_candidates
)
{
- VAStatus vaStatus;
+ VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
- vaStatus = va_DRI3_GetNumCandidates(pDisplayContext, num_candidates);
+ if (!getenv("LIBVA_DRI3_DISABLE"))
+ vaStatus = va_DRI3_GetNumCandidates(pDisplayContext, num_candidates);
if (vaStatus != VA_STATUS_SUCCESS)
vaStatus = va_DRI2_GetNumCandidates(pDisplayContext, num_candidates);
|
Indeed good point - opened #689 with details. Thanks o/ |
There are some corner cases where DRI3 does not work correctly. While bug reports are appreciated, this enables users to get back to their machines in meaningful way - aka w/o having to rebuild libva.
@dvrogozh @XinfengZhang can we roll a 2.17.1 release with this fix? There is a PR incoming, which will be quiet large and evasive for a bugfix release.
Thanks o/