https://bugs.kde.org/show_bug.cgi?id=406180

--- Comment #72 from Jeffery Patton <roundduckm...@gmail.com> ---
(In reply to John A from comment #71)
> (In reply to Drake from comment #69)
> > (In reply to Jeffery Patton from comment #68)
> > > (In reply to John A from comment #67)
> > > > (In reply to hugues31100 from comment #66)
> > > > > (In reply to Luca Carlon from comment #65)
> > > > > > What distro?
> > > > > 
> > > > > I use Manjaro
> > > > 
> > > > Download the KWin sources from
> > > > https://download.kde.org/stable/plasma/$pkgver/$pkgname-$pkgver.tar.xz, 
> > > > edit
> > > > the file main_x11.cpp (apply the patch
> > > > https://phabricator.kde.org/file/data/telix5fjwmcuir3v5yxs/PHID-FILE-
> > > > dldsuycendhh6yyimgsp/Masterwork_From_Distant_Lands) and compress the 
> > > > sources
> > > > to a tar.xz.
> > > > Edit the PKGBUILD from
> > > > https://git.archlinux.org/svntogit/packages.git/tree/trunk/
> > > > PKGBUILD?h=packages/kwin with your own source tar.xz (compute the 
> > > > sha256sum
> > > > for it and replace the field sha256sums in your PKGBUILD).
> > > > Then, use the edited PKGBUILD to build and install the package.
> > > > You have to repeat the process for qtbase , look at
> > > > https://git.archlinux.org/svntogit/packages.git/tree/trunk/
> > > > PKGBUILD?h=packages/qt5-base.
> > > > The patch for qtbase is:
> > > > diff --git
> > > > a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
> > > > b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
> > > > index 4adf662152..434ea60bfb 100644
> > > > --- 
> > > > a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
> > > > +++ 
> > > > b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
> > > > @@ -601,6 +601,7 @@ void QGLXContext::doneCurrent()
> > > >      else
> > > >          glXMakeCurrent(m_display, 0, 0);
> > > >      m_isPBufferCurrent = false;
> > > > +    m_swapInterval = -1;
> > > >  }
> > > >  
> > > >  void QGLXContext::swapBuffers(QPlatformSurface *surface)
> > > > 
> > > > If for whatever reason you cannot apply the patches, just edit theses 
> > > > two
> > > > files since the patches are pretty small in size.
> > > 
> > > How about for Debian/Ubuntu/KDE Neon?
> > > 
> > > I use KDE Neon (well, not as of late partly due to this bug) and I guess
> > > many of the steps are similar, except for the fact I'm dealing with Debian
> > > packages. Do I like, build KWin, then use checkinstall to create a package
> > > and install the package, or what? :/
> > 
> > 
> > I suggest to wait for an official fix, else you have to repeat the build
> > process with each kwin update.
> > 
> > If you still want to apply the patch, you need to know at least some basic
> > stuff how to build a package from source. Because this is different to every
> > distro, i cant cover every distro here, but usually every distro has a good
> > documentation how to build a package from source. I will show you today how
> > to do that in Kubuntu.
> > 
> > Lets assume you have Kubuntu Disco Dingo, in that case you need to obtain
> > the sources for kwin Disco Dingo first.
> > 
> > You can fetch them via web:
> > https://packages.ubuntu.com/disco/kde/kwin-x11
> > 
> > Or via apt-get(recommended)
> > apt-get source kwin-x11
> > 
> > 
> > After you downloaded the sources you can apply the patch to main_x11.cpp. If
> > you aren't able to apply the patch for whatever reason, you can, like
> > Jeffery already mentioned, just edit the files manually because the patch
> > files are very small. After you have done that you need to install a few
> > required build-tools:
> > 
> > sudo apt-get install build-essential fakeroot dpkg-dev
> > 
> > Now the only step left, before we can start the build, is to get the
> > dependencies for the build itself. You can download and install them with:
> > 
> > sudo apt-get build-dep kwin-x11 
> > 
> > now we can start to create the build file
> > we can do this with cmake ./
> > 
> > And then we can start the build with the command
> > make
> > 
> > After that you can install the package. You need to repeat the step for
> > qtbase but with the patch below
> > 
> > -----------------------------------------------------------------------------
> > ---
> > diff --git
> >  a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
> >  b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
> >  index 4adf662152..434ea60bfb 100644
> >  --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
> >  +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
> >  @@ -601,6 +601,7 @@ void QGLXContext::doneCurrent()
> >       else
> >           glXMakeCurrent(m_display, 0, 0);
> >       m_isPBufferCurrent = false;
> >  +    m_swapInterval = -1;
> >   }
> >   
> >   void QGLXContext::swapBuffers(QPlatformSurface *surface)
> >  
> > -----------------------------------------------------------------------------
> > ---
> 
> As I am using Kubuntu, I also suggest to those that want to apply the
> patches to use a local custom debian/ubuntu repo. It makes installing and
> removing custom packages easier and it is useful for any package you want to
> modify and install.
> Do not forget to dch -i before building in order to be able to differentiate
> between the custom packages and the official ones.

To Drake, thanks a lot! I'll try it tonight.

To you, John A, I'll keep that into consideration.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to