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

Drake <linuxdra...@yandex.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |linuxdra...@yandex.com

--- Comment #69 from Drake <linuxdra...@yandex.com> ---
(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)

--------------------------------------------------------------------------------

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

Reply via email to