[PATCH xf86-video-savage] Disable EXA acceleration for now

Kevin Brace kevinbrace at gmx.com
Sat Feb 16 03:16:26 UTC 2019


Hi Connor,

I was originally thinking of releasing xf86-video-savage Version 2.4 on Thursday, but you intervened just a day before the release.
If you can figure the issue out in a few business days, that will be nice, but otherwise, I think there should be a new release with EXA disabled.
I can wait for a few more business days if you think you can figure out what is going wrong.
    If I were to clarify the bug, it is not a total crash, but it is a combination of rendering issues and super slow OS behavior.

Regards,

Kevin Brace
Brace Computer Laboratory blog
https://bracecomputerlab.com


> Sent: Saturday, February 16, 2019 at 3:35 AM
> From: "Connor Behan" <connor.behan at gmail.com>
> To: "Kevin Brace" <kevinbrace at gmx.com>, xorg-devel at lists.x.org
> Subject: Re: [PATCH xf86-video-savage] Disable EXA acceleration for now
>
> On 2019-02-13 03:36 PM, Kevin Brace wrote:
> >> Date: Wed, 13 Feb 2019 14:03:02 -0500
> >> From: Connor Behan <connor.behan at gmail.com>
> >> To: xorg-devel at lists.x.org
> >> Subject: Re: [PATCH xf86-video-savage] Disable EXA acceleration for
> >> 	now
> >> Message-ID: <a805acf8-f8d8-2293-a796-c82683d2940e at 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 <kevinbrace at 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 :).
>


More information about the xorg-devel mailing list