Difference between revisions of "Debian Bullseye Workarounds"

From RCS Wiki
Jump to navigation Jump to search
Line 72: Line 72:
 
== See Also ==
 
== See Also ==
 
[https://webkitgtk.org/ WebKitGTK]
 
[https://webkitgtk.org/ WebKitGTK]
 +
 
[https://webkitgtk.org/news.html WebKitGTK News and Security Advisories]
 
[https://webkitgtk.org/news.html WebKitGTK News and Security Advisories]

Revision as of 10:06, 27 September 2021

This page outlines some issues that users may face when using Debian Bullseye for ppc64le and their workarounds. All of this also applies to Devuan Chimaera.

QEMU User Session on libvirt

There is an issue with libvirt where starting a QEMU virtual machine in User Session (not as root) will give the following error.

Unable to complete install: 'internal error: Process exited prior to exec: libvirt: error : cannot limit locked memory to 46137344: Operation not permitted'

For more information, check this bugzilla report

To work around this issue, one can manually patch libvirt by finding the offending code in the report, but an easier way is to update libvirt to the version in sid/ceres, or wait for the package to reach the backports repository. As of 9/25/2021, libvirt version 7.6.0 seems to work fine.

WebKit2GTK Sluggish On Large Text Pages

Debian Bullseye and Devuan Chimaera ship with WebKit2GTK 2.32.x, which seems to have an issue with displaying webpages with large amounts of text. You will notice high CPU usage while scrolling and possibly it will continue scrolling even when you let go of PageUp/PageDown if you use those.

The solution is to upgrade to a later version, and the easiest way is to use the version provided in Debian Sid / Devuan Ceres, but compiled from source so that it matches the libraries your system has.

Add this line to your /etc/apt/sources.list

deb-src http://deb.debian.org/debian sid main    ## For Debian
deb-src http://deb.devuan.org/merged ceres main  ## For Devuan

Notice we only added the "deb-src", because we only want the sources of newer packages, not the packages themselves.

Now run these commands in a directory you don't mind being cluttered:

sudo apt build-dep libwebkit2gtk-4.0-dev
sudo apt update
apt source libwebkit2gtk-4.0-dev
cd webkitgtk-2.34.0
dpkg-buildpackage -rfakeroot -b -uc -us -j$(nproc)

We ran the "build-dep" before updating the repos just in case it might complain about needing newer libraries. It might still complain after trying to build, try to resolve each problem separately; you are building newer, potentially incompatible software and as such that can be expected.

If it goes through the configuration phase without errors, go cook yourself a meal and make some coffee, this will take a while.

If not, check these subsections for possisble solutions.

Problem 1: libsoup3 not available

Debian Bullseye and Devuan Chimaera do not ship with libsoup3, as such we may need to instruct WebKit2GTK to not use it during compilation and instead use libsoup2.

Edit the debian/rules file and add this line near the top:

EXTRA_CMAKE_ARGUMENTS += -DUSE_SOUP2=ON

Now WebKit2GTK should build fine.

Problem 2: Too many new dependencies

This is not a problem yet as of September 2021, but in the next two years of regular support it might become an issue to build WebKit2GTK, there are two sensible solutions:

Solution 1: Use point releases that are actively maintained

As an example, WebKit2GTK 2.34.0 builds and runs fine, so we can expect all 2.34.x versions to work fine, for that, we use the same method of building from source, but we delete all the files in the newly created directory by "apt source" except the "debian" directory, and replace them with the latest point release directly from WebKitGTK's site. Then we build as we normally do. You can optionally change the .deb package versions that will be used for the packages.

Solution 2: Use newer versions

This might cause breakages when the code is new but the scripts are for older versions, but it's worth a try and can definitely be done. Just download the newest stable tarball from WebKitGTK's site and copy over your "debian" directory from an older "apt source" download, and try building as you normally would. If it works, give yourself a pat on the back. If not, try to trace the errors. WebKit2GTK has a large codebase but can be much easier to manage than Firefox and Chromium because of the fewer dependencies, so it's always worth a shot to try building a new version.

Notes

See Also

WebKitGTK

WebKitGTK News and Security Advisories