Difference between revisions of "Release Notes/1.4-release"

From Funtoo
Jump to: navigation, search
(Created page with "{{DISPLAYTITLE:Funtoo Linux 1.4 Release Notes}} == Upgrading == Upgrading to Funtoo Linux 1.4 from 1.3 should be relatively painless. If upgrading to from 1.2, first follow t...")
 
(Container Technologies)
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{Important|These release notes are a work in progress and are not yet done. But will be soon!}}
 
{{DISPLAYTITLE:Funtoo Linux 1.4 Release Notes}}
 
{{DISPLAYTITLE:Funtoo Linux 1.4 Release Notes}}
 
== Upgrading ==
 
== Upgrading ==
Line 15: Line 16:
  
 
{{console|body=
 
{{console|body=
# epro flavor desktop
+
# ##i##epro flavor desktop
# epro mix-in +gnome
+
# ##i##epro mix-in +gnome
# emerge -auDN @world xorg-x11 gnome
+
# ##i##emerge -auDN @world xorg-x11 gnome
 
}}
 
}}
  
Line 37: Line 38:
 
Here is what every user should know about {{c|libglvnd}}: it is enabled by default under Funtoo Linux 1.4 and if you set up a graphical environment under Funtoo, it will get emerged automatically and provide the official {{c|libGL.so}} library that OpenGL-using applications will use. When you type {{c|eselect opengl list}}, your current OpenGL implementation will be listed as {{c|xorg-x11}} even if you are using NVIDIA or other drivers. This is normal and it is no longer necessary to use {{c|eselect opengl}} to swap-out OpenGL implementations the old-fashioned way. {{c|libglvnd}} takes care of all of this for you.
 
Here is what every user should know about {{c|libglvnd}}: it is enabled by default under Funtoo Linux 1.4 and if you set up a graphical environment under Funtoo, it will get emerged automatically and provide the official {{c|libGL.so}} library that OpenGL-using applications will use. When you type {{c|eselect opengl list}}, your current OpenGL implementation will be listed as {{c|xorg-x11}} even if you are using NVIDIA or other drivers. This is normal and it is no longer necessary to use {{c|eselect opengl}} to swap-out OpenGL implementations the old-fashioned way. {{c|libglvnd}} takes care of all of this for you.
  
Here is a bit more detail on {[c|libglvnd}} for those who want to know more details:
+
Here is a bit more detail on {{c|libglvnd}} for those who want to know more details:
  
 
{{c|libglvnd}} [https://github.com/NVIDIA/libglvnd is described by maintainer NVIDIA] as a ''vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors. It allows multiple drivers from different vendors to coexist on the same filesystem, and determines which vendor to dispatch each API call to at runtime.'' That is a mouth-full, but basically what {{c|libglvnd}} offers is a solution to the "one OpenGL library for each type of video card" problem that has existed in Linux for over a decade. Gentoo Linux and Funtoo Linux have handled this problem with the creation of {{c|eselect opengl}}, which has allowed Gentoo and Funtoo users to  
 
{{c|libglvnd}} [https://github.com/NVIDIA/libglvnd is described by maintainer NVIDIA] as a ''vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors. It allows multiple drivers from different vendors to coexist on the same filesystem, and determines which vendor to dispatch each API call to at runtime.'' That is a mouth-full, but basically what {{c|libglvnd}} offers is a solution to the "one OpenGL library for each type of video card" problem that has existed in Linux for over a decade. Gentoo Linux and Funtoo Linux have handled this problem with the creation of {{c|eselect opengl}}, which has allowed Gentoo and Funtoo users to  
Line 56: Line 57:
 
video card before you can happily enable {{c|vulkan}} in {{c|USE}}.
 
video card before you can happily enable {{c|vulkan}} in {{c|USE}}.
  
==== Container CUDA/OpenGL/GPU acceleration ====
+
=== Container Technologies ===
  
The necessary ebuilds have been created to support GPU acceleration within both Docker and [[LXD]] containers.
+
* LXC 3.0.4 and LXD 3.14 (most recent upstream stable releases) has been added along with [[LXD|official Funtoo Documentation]].
 +
* The necessary ebuilds have been created to support GPU acceleration within both Docker and [[LXD]] containers, allowing users to run OpenGL applications inside containers, among other things.
  
NOTE: WORK IN PROGRESS, UPDATES END HERE :) 1.3 RELEASE NOTES FOLLOW
+
==== Programming Languages ====
  
 +
Along with the addition of {{c|gcc-9.1.1}} come a host of improvements to our language offerings, some of which are listed below:
  
=== Database Improvements ===
+
* The official version of python3 now supported is {{c|python-3.7.3}}, which includes the addition of python-3.7 compatibility to quite a few ebuilds.
 +
* The latest upstream versions of python are now included (3.7.3 as well as 2.7.15).
 +
* Ruby has been upgraded to version 2.6.
 +
* Go has been updated to 1.12.6.
 +
* Google's [https://dart.dev/ Dart 2.3.2] (with 2.4.0 coming soon) has been added as {{c|dev-lang/dart}}. (Funtoo exclusive). This is a very nice language that has its own compiler as well as a Javascript translator, and is the basis for [https://flutter.dev/ Google's Flutter].
 +
* Oracle's Java Runtime environment and development kit has been updated to 1.8.0.202.
  
Funtoo Linux now offers official Oracle {{c|mysql-community}} 8 ebuilds. The Oracle ebuilds provide a compelling alternative to {{c|mariadb}} for production database deployments.
+
=== Core-Server Kit Improvements ===
  
=== Desktop Improvements ===
+
* {{c|www-servers/nginx}} updated to 1.17.0.
 +
* {{c|net-libs/nodejs}} updated to 8.16.0.
 +
* Oracle's MySQL Community (Funtoo exclusive) updated to 8.0.16, and [[Package:Mysql-community|documentation updated to be more correct.]]
  
==== {{c|xorg-server}} ====
+
=== Contributors ===
 
{{c|suid}} USE is now disabled by default in {{c|xorg-server}}, partially in response to [https://www.mail-archive.com/xorg-announce@lists.x.org/msg01138.html CVE-2018-14665] and to follow upstream X.org recommended best practice. You will likely need to enable {{c|suid}} for X to start correctly if you are ''not'' using a display manager like {{c|gdm}} or {{c|xdm}}, and instead starting X directly using {{c|xinit}} or {{c|startx}}. This can be done by adding the following line to {{f|/etc/portage/package.use}}, and re-emerging if necessary:
 
  
{{file|name=/etc/portage/package.use|body=
+
TODO
x11-base/xorg-server suid
 
}}
 
 
 
==== Kit Improvements ====
 
 
 
[[File:Shotcut.png|200px|thumb|Shotcut video editor]]
 
 
 
The following improvements have been made to desktop kits:
 
 
 
* {{c|xorg-kit}} is now fully forked from Gentoo, and is based around xorg-server 1.20.
 
* {{c|gnome-kit}} is fully forked from Gentoo and now offers a reliable GNOME 3.30 experience without systemd. See [[GNOME First Steps]] for information on how to set up.
 
* Wayland support has been integrated into Funtoo Linux and is available via the {{c|wayland}} mix-in, and is enabled for kde-plasma-5 by default (see below.)
 
* {{c|kde-kit}} now delivers an updated KDE Plasma 5 (5.4.13) experience that, like GNOME 3.30, uses elogind but not systemd.
 
* {{c|xfce-kit}} now delivers a fully-tested XFCE 4.13.
 
* {{c|gfxcard-nvidia}} mix-in created for easy one-step setup of systems with NVIDIA cards for use with proprietary NVIDIA drivers. nvidia-drivers now has uvm is enabled by default.
 
* Video editing improvements: {{c|media-libs/mlt}}, {{c|media-video/shotcut}} new {{c|media-video/flowblade}} ebuild added.
 
 
 
{{Note|It is now possible to enable both {{c|gnome}} and {{c|kde-plasma-5}} profiles and have a system that runs both systemd-less GNOME and KDE Plasma. The KDE Plasma profile is currently based on the GNOME profile to ensure compatibility so KDE Plasma-only users will (for now) notice quite a bit of GNOME-related USE flags being enabled. This will be addressed in future releases.}}
 
 
 
=== Web Site Improvements ===
 
 
 
* New Funtoo Linux MediaWiki theme.
 
* New even more simplified [[Install/Introduction|Installation Guide]] with a tutorial-style page-by-page navigation style.
 
* Addition of the [[Funtoo CPU Database]] with real-time search capability.
 
* Totally redesigned [[FAQ]] section that allows users to submit their own FAQ questions.
 
* Upgrades made to bug tracker and forums.
 
 
 
===Security fixes ===
 
 
 
There have been numerous security fixes in Funtoo Linux 1.3, with a few notable fixes mentioned below:
 
 
 
* net-dns/avahi-0.7-r4 (CVE-2017-6519) addresses a long-standing issue of avahi being remotely exploitable over an IPv6 network.
 
* dev-lang/go-1.10.7, dev-lang/go-1.11.4 (CVE-2018-16873, CVE-2018-16874, CVE-2018-16875)
 
* dev-libs/libxml2-2.9.8-r1 (CVE-2017-8872, CVE-2018-14404, CVE-2018-14567)
 
* app-arch/tar-1.30-r1 (CVE-2018-20482)
 
* mail-client/thunderbird-60.4.0 (https://www.mozilla.org/en-US/security/advisories/mfsa2018-28/)
 
* www-client/firefox-64.0 (https://www.mozilla.org/en-US/security/advisories/mfsa2018-29/)
 
  
 
[[Category:Release Notes]]
 
[[Category:Release Notes]]
 
[[Category:Official Documentation]]
 
[[Category:Official Documentation]]

Revision as of 03:03, July 13, 2019

   Important

These release notes are a work in progress and are not yet done. But will be soon!

Upgrading

Upgrading to Funtoo Linux 1.4 from 1.3 should be relatively painless. If upgrading to from 1.2, first follow the Funtoo Linux 1.3 upgrade instructions.

Gentoo Snapshot

The kits in meta-repo are based on a 21 June 2019 snapshot of Gentoo Linux with significant updates to key parts of the system, such as compiler and OpenGL subsystem. Like Funtoo Linux 1.3, all kits are mostly frozen, with security fixes being back-ported, and a select number of important and user-requested updates added after the official release. The goal is to provide a reliable yet capable system that is responsive to the needs of our users. This is a delicate balancing act :) Also please note that Funtoo Linux 1.4 is not a "long-term stable" (LTS) release.

GNOME 3.32

Funtoo Linux 1.4 now offers a well-tested GNOME 3.32 desktop that can be merged as easily as doing:

root # epro flavor desktop
root # epro mix-in +gnome
root # emerge -auDN @world xorg-x11 gnome

New Compiler Toolchain

Funtoo Linux 1.4 features a new compiler toolchain maintained and exhaustively tested by Chris Giorgi (TemptorSent) based around gcc-9.1.1.

New OpenGL Subsystem

Funtoo Linux 1.4 also features an improved OpenGL subsystem, which is made up of many components but a few are worth noting and exploring in further detail:

  • libglvnd
  • new nvidia-drivers
  • mesa 19.1 and vulkan support
  • Container CUDA/OpenCL/GPU acceleration

Libglvnd

Here is what every user should know about libglvnd: it is enabled by default under Funtoo Linux 1.4 and if you set up a graphical environment under Funtoo, it will get emerged automatically and provide the official libGL.so library that OpenGL-using applications will use. When you type eselect opengl list, your current OpenGL implementation will be listed as xorg-x11 even if you are using NVIDIA or other drivers. This is normal and it is no longer necessary to use eselect opengl to swap-out OpenGL implementations the old-fashioned way. libglvnd takes care of all of this for you.

Here is a bit more detail on libglvnd for those who want to know more details:

libglvnd is described by maintainer NVIDIA as a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors. It allows multiple drivers from different vendors to coexist on the same filesystem, and determines which vendor to dispatch each API call to at runtime. That is a mouth-full, but basically what libglvnd offers is a solution to the "one OpenGL library for each type of video card" problem that has existed in Linux for over a decade. Gentoo Linux and Funtoo Linux have handled this problem with the creation of eselect opengl, which has allowed Gentoo and Funtoo users to control what vendor's libGL.so is currently active.

libglvnd does something similar, but uses an arguably better and lower-level solution of providing a "universal" libGL.so which is installed in /usr/lib, and is smart enough to determine what OpenGL implementations are available and functioning on the system and using the right one automatically. This means that distributions no longer need to carefully manage symbolic links to libGL.so implementations and other important bits and can instead simply use the libGL.so installed by libglvnd and let it take care of the magic behind the scenes.

Initial testing hasn't demonstrated any detectable negative performance impact from the use of libglvnd.

New nvidia-drivers

New nvidia-drivers ebuilds have been added to Funtoo Linux -- these are completely new ebuilds that differ from Gentoo Linux. They have a separate ebuild, nvidia-kernel-modules, which is responsible for installing the kernel modules themselves.

New Mesa 19.1.0 ebuild

Funtoo features a new mesa-19.1.0 ebuild. This ebuild offers support for vulkan on systems that support it. Our new Mesa ebuild is "pickier" than the previous in regards to USE settings, in that it will require you to enable specific video card(s) via VIDEO_CARDS in /etc/make.conf before it will let you enable a certain technology. For example, you will need to enable a Vulkan-compatible video card before you can happily enable vulkan in USE.

Container Technologies

  • LXC 3.0.4 and LXD 3.14 (most recent upstream stable releases) has been added along with official Funtoo Documentation.
  • The necessary ebuilds have been created to support GPU acceleration within both Docker and LXD containers, allowing users to run OpenGL applications inside containers, among other things.

Programming Languages

Along with the addition of gcc-9.1.1 come a host of improvements to our language offerings, some of which are listed below:

  • The official version of python3 now supported is python-3.7.3, which includes the addition of python-3.7 compatibility to quite a few ebuilds.
  • The latest upstream versions of python are now included (3.7.3 as well as 2.7.15).
  • Ruby has been upgraded to version 2.6.
  • Go has been updated to 1.12.6.
  • Google's Dart 2.3.2 (with 2.4.0 coming soon) has been added as dev-lang/dart. (Funtoo exclusive). This is a very nice language that has its own compiler as well as a Javascript translator, and is the basis for Google's Flutter.
  • Oracle's Java Runtime environment and development kit has been updated to 1.8.0.202.

Core-Server Kit Improvements

Contributors

TODO