On 2019-02-13 03:36 PM, Kevin Brace wrote:
>> Date: Wed, 13 Feb 2019 14:03:02 -0500
>> From: Connor Behan <connor.be...@gmail.com>
>> To: xorg-devel@lists.x.org
>> Subject: Re: [PATCH xf86-video-savage] Disable EXA acceleration for
>>      now
>> Message-ID: <a805acf8-f8d8-2293-a796-c82683d29...@gmail.com>
>> Content-Type: text/plain; charset="utf-8"
>>
>>
>> On 2019-02-11 12:02 PM, Kevin Brace wrote:
>>> EXA acceleration architecture code is currently broken on X Server
>>> 1.19, so it should be disabled until it is fixed.
>>>
>>> Signed-off-by: Kevin Brace <kevinbr...@gmx.com>
>>> ---
>>>  src/savage_driver.c | 23 +++++++++++++++++++----
>>>  1 file changed, 19 insertions(+), 4 deletions(-)
>> Is this because the rendering is wrong? Or does the X server crash
>> before you can test?
>>> diff --git a/src/savage_driver.c b/src/savage_driver.c
>>> index 01fc0bc..e26b0f1 100644
>>> --- a/src/savage_driver.c
>>> +++ b/src/savage_driver.c
>>> @@ -1273,14 +1273,29 @@ static Bool SavagePreInit(ScrnInfoPtr pScrn, int 
>>> flags)
>>>             psav->useEXA = FALSE;
>>>         } else if(!xf86NameCmp(strptr,"EXA")) {
>>>            from = X_CONFIG;
>>> -          psav->useEXA = TRUE;
>>> +          psav->NoAccel = TRUE;
>>> +          psav->useEXA = FALSE;
>>> +          xf86DrvMsg(pScrn->scrnIndex, X_INFO,
>>> +                      "EXA acceleration architecture is "
>>> +                      "permanently disabled for this version.\n");
>>>         }
>>>          }
>>>  #else
>>> -   psav->useEXA = TRUE;
>>> +   psav->NoAccel = TRUE;
>>> +   psav->useEXA = FALSE;
>>> +   xf86DrvMsg(pScrn->scrnIndex, X_INFO,
>>> +               "EXA acceleration architecture is "
>>> +               "permanently disabled for this version.\n");
>>>  #endif
>>> -       xf86DrvMsg(pScrn->scrnIndex, from, "Using %s acceleration 
>>> architecture\n",
>>> -           psav->useEXA ? "EXA" : "XAA");
>>> +
>>> +   if (!psav->NoAccel) {
>>> +       xf86DrvMsg(pScrn->scrnIndex, from,
>>> +                   "Using %s acceleration architecture\n",
>>> +                   psav->useEXA ? "EXA" : "XAA");
>>> +   } else {
>>> +       xf86DrvMsg(pScrn->scrnIndex, X_INFO,
>>> +                   "Hardware acceleration is disabled.\n");
>>> +   }
>>>      }
>>>  
>>>      if ((s = xf86GetOptValString(psav->Options, OPTION_OVERLAY))) {
>> -------------- next part --------------
>> A non-text attachment was scrubbed...
>> Name: signature.asc
>> Type: application/pgp-signature
>> Size: 488 bytes
>> Desc: OpenPGP digital signature
>> URL: 
>> <https://lists.x.org/archives/xorg-devel/attachments/20190213/46e5c8ba/attachment-0001.sig>
> Hi Connor,
>
> The code is broken, and that's why I disabled EXA.
> I tested the code on Xubuntu 16.04.5 (X Server 1.19.6).
> It can draw the initial login screen, but as soon as it gets past that, the 
> screen will go black (not blank) and nothing happens.
> The result is consistent across several S3 Savage cards (Savage IX, several 
> Savage 4s, and Savage 2000) I tested.
> Only disabling acceleration works around the bug.
> Activating --disable-dri for the compilation script makes no difference, at 
> least for the stock Linux 4.15 kernel Canonical ships with (Savage DRM is 
> disabled).
> The code might have a hard DRI1 dependency for the proper functioning of EXA.
> I was thinking of releasing xf86-video-savage DDX Version 2.4 on Thursday.
> If you can figure out what's wrong with the code, the fix can go for the 
> hypothetical Version 2.5 sometime in the future.
The savage driver doesn't attempt to use EXA for composites so that
rules out most of what I had in mind. The only other thing I would try
is disabling the UploadToScreen hook. If that doesn't help, there's no
reason to delay a release :).

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to