Re: [PATCH xf86-video-savage] Disable EXA acceleration for now
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" > To: "Kevin Brace" , xorg-devel@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 > >> To: xorg-devel@lists.x.org > >> Subject: Re: [PATCH xf86-video-savage] Disable EXA acceleration for > >>now > >> Message-ID: > >> 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 > >>> --- > >>> 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 :). > ___ 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
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 >> To: xorg-devel@lists.x.org >> Subject: Re: [PATCH xf86-video-savage] Disable EXA acceleration for >> now >> Message-ID: >> 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 >>> --- >>> 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 :). 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
[PATCH xf86-video-savage] Disable EXA acceleration for now
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. Regards, Kevin Brace Brace Computer Laboratory blog https://bracecomputerlab.com > Date: Wed, 13 Feb 2019 14:03:02 -0500 > From: Connor Behan > To: xorg-devel@lists.x.org > Subject: Re: [PATCH xf86-video-savage] Disable EXA acceleration for > now > Message-ID: > 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 > > --- > > 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> ___ 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
Re: [PATCH xf86-video-savage] Disable EXA acceleration for now
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 > --- > 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))) { 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
[PATCH xf86-video-savage] Disable EXA acceleration for now
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 --- src/savage_driver.c | 23 +++ 1 file changed, 19 insertions(+), 4 deletions(-) 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))) { -- 2.7.4 ___ 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