Funtoo Linux BDFL drobbins Posted February 2, 2020 Funtoo Linux BDFL Report Share Posted February 2, 2020 Debian-sources-lts-4.19.98_p1 is now unmasked in the tree with the latest security fixes for Intel. Also available is a new steam-nvidia-launcher 1.6 with fixed audio. The big news is that Funtoo is using a new approach with webkit-gtk. For those who don't know, or need a refresher, webkit-gtk is an ebuild that is part of GNOME. It provides Web browser (HTML rendering + javascript) functionality. In fact, webkit-gtk is just a snapshot of the sources of WebKit (https://webkit.org) which is the foundation of many modern Web browsers, and is actively developed primarily by Apple and other contributors. GNOME just grabs a version of these sources and puts them in a tarball and gives it a version number. Interestingly, although Apple appears to be the primary commercial contributor to WebKit, the WebKit project was actually started by KDE. Learn more here: https://en.wikipedia.org/wiki/WebKit We decided to stop using GNOME's webkit-gtk. Why did we do this? Our Webkit-gtk ebuild started experiencing issues when we upgraded GNOME or some other ebuild recently. In tracking down the problem, I found our current webkit-gtk ebuild, which is the latest upstream stable release from GNOME, was actually very out-of-date and still riddled with bugs that were already fixed in webkit.org's current WebKit. It became very frustrating to work with and there wasn't an easy fix like adding a 'simple patch' or set of patches to fix the situation. So I couldn't just tweak things and get webkit-gtk working well. And the build process used in the ebuild was also unreliable. So rather than try to patch all the significant bugs in webkit-gtk, I took a very recent (2020-01-30) snapshot of WebKit, and applied minor patching to it to get it working under GNOME. The webkit-gtk (now webkit) ebuild was also heavily reworked to build from WebKit sources using the official process, which is very similar to the method that Apple and other use to build WebKit. I also removed a lot of extra USE variables that can be used to tweak WebKit functionality, but can also be used to *break* WebKit if you are not careful. I kept the essential USE variables that we *need* to be able to adjust (X, wayland, etc.) The result is that we are now using our own WebKit that is very lightly forked from upstream WebKit. When you update your system, you will likely see both webkit and webkit-gtk getting merged. webkit-gtk-2.26.3.20200130.ebuild is now simply a virtual/placeholder ebuild that depends on the 'real' net-libs/webkit ebuild, which is our essentially rewritten ebuild. This resolved issues with Evolution HTML rendering not working recently , as well as malfunctioning of midori and other webkit-based browsers. The bug that started this effort can be found here: https://bugs.funtoo.org/browse/FL-6956 I am currently updating our stages to include the new WebKit, prebuilt in our gnome stage. For those upgrading, the sources of WebKit are 1GB and it takes a long time to compile (typically 20 minutes to an hour) because it is a whole lot of code. Link to comment Share on other sites More sharing options...
Funtoo Linux BDFL drobbins Posted February 3, 2020 Author Funtoo Linux BDFL Report Share Posted February 3, 2020 Some additional important info -- If you are a previous user of steam-nvidia-launcher (1.5) then you will likely need to manually wipe your existing Steam container as the steam-nvidia-launcher currently doesn't do this for you. What you do is do a "docker ps -a" and get the container ID of the container, then "docker rm" it. (the container should not be running) When you use steam-nvidia-launcher next, it will re-create the container, but "hook in" to your existing Steam settings and downloads in ~/SteamData in your home directory. You will now be running 1.6 of the container. Automatically upgrading steam containers is something I want to add to future versions of the launcher beyond 1.6. Another important note is that the new webkit currently is missing a dependency needed for Wayland support. This is a relatively easy fix, and once a bug is opened on the bug tracker for this I can post details on how to send a PR to fix it. Since I do not use wayland, I forgot to add this ebuild. And I wanted to get the new webkit out ASAP since several things in Funtoo were broken in funtoo due to what we could call 'the (now resolved) webkit-gtk situation'. Link to comment Share on other sites More sharing options...
Recommended Posts