GTK 4 to be Released Next Fall

Among other things, the team has decided that before the final release, it is necessary to bring to the end 5 planned functional changes
02 September 2019   964

A plan for the formation of the GTK 4 release has been outlined. It is noted that it will take about another year to bring GTK 4 to its proper form (GTK 4 has been developing since summer 2016). Until the end of 2019, it is planned to prepare another experimental release of the GTK 3.9x series, then in the spring of 2020 the final test release of GTK 3.99 will be offered, which includes all the intended functionality. The release of GTK 4 is expected in early fall 2020, simultaneously with GNOME 3.38.

Before the final release, it is necessary to bring to the end five planned functional changes, including the work of replacing fixed widgets with scalable views, a new API for animating and translating effects and indicators of progress on it, completing the processing of the pop-up menu system (developing ideas related to nested submenus and drop-down menus), replacing the old hotkey system with event handlers, finalizing the new API for Drag & Drop operations.

Among the optional features that team would like to add before the release of GTK 4, the "UI designer" widget, improved means for splitting the upper panels and the widget repository through which experimental widgets can be delivered without integration into the main structure of GTK stand out. The development of tools for porting applications to GTK4 is also mentioned, for example, the preparation of the corresponding versions of the GtkSourceView, vte and webkitgtk libraries, as well as the provision of platform support. For example, the OpenGL-based rendering system works well on Linux, but the Vulkan-based rendering system still needs to be improved. On Windows, the Cairo library is used for rendering, but an alternative implementation based on ANGLE (a layer for translating OpenGL ES calls to OpenGL, Direct3D 9/11, Desktop GL and Vulkan) is under development. For macOS, a fully functional rendering backend is not yet available.

Linux 5.3 Kernel to be Released

Huge amount of updates, improvements, changes and new features awaits all Linux users
17 September 2019   252

After two months of development, Linus Torvalds introduced the Linux 5.3 kernel release. Among the most notable changes: support for AMD Navi GPUs, Zhaoxi processors, and Intel Speed ​​Select power management technology, the ability to use umwait instructions to wait without using loops, increasing the interactivity utilization clamping mode for asymmetric CPUs, the pidfd_open system call, the ability to use IPv4 addresses from the subnet, the possibility of hardware acceleration of nftables, support for HDR in the DRM subsystem, integration of the ACRN hypervisor.

In the announcement of the new release, Linus reminded all developers of the main rule of kernel development - maintaining the invariance of behavior for user space components. Changes in the kernel should in no way violate already running applications and lead to user-level regressions. At the same time, a violation of behavior can cause not only a change in the ABI, removal of outdated code or errors, but also an indirect effect of correctly working useful improvements. As a good example, the useful optimization in Ext4 code was discarded, which reduces the number of accesses to the drive by disabling the read-ahead inode table for small I / O requests.

Optimization has led to the fact that, due to a decrease in disk activity, the entropy for the random number generator getrandom () began to accumulate more slowly and in some configurations, under certain circumstances, there could be hangs during loading until the entropy pool is full. Since the optimization is really useful, a discussion arose among the developers, in which it was proposed to eliminate the problem by disabling the default blocking mode of the getrandom () call with the addition of an optional flag to wait for entropy, but such a change will affect the quality of random numbers at the initial stage of loading. In the change rollback commit, Linus noted that he plans to bring the optimization back as soon as the problem with getrandom () is resolved.

The new version adopted 15794 patches from 1974 developers, the patch size is 92 MB (the changes affected 13986 files, 258419 lines of code were added, 599137 lines were deleted). About 39% of all the changes presented in 5.3 are related to device drivers, about 12% of changes are related to updating the code specific to hardware architectures, 11% are connected to the network stack, 3% to file systems and 3% to internal kernel subsystems.

Get more information about the new features and from the mailing.