GTK 4.4 arrives with improvements for NGL, accelerations, corrections and more

gtk4.0

After five months of development the launch of the new version of the cross-platform to create a graphical user interface GTK 4.4.0, version in which the developers highlight improvements in the NGL renderer, as well as various new features and bug fixes.

GTK 4 is being developed as part of a new development process that attempts to provide application developers with a stable and compatible API for several years, which can be used without fear of having to redo applications every six months due to API changes in the next branch of GTK.

The NGL renderer has continued to see improvements. This includes speedups, fixes for transformed rendering, avoiding huge intermediate textures, and correct handling of partial color fonts. After a little help from the driver developers, NGL now works correctly with the Mali driver. We are planning to remove the original GL renderer in the next cycle.

Outside of GSK, our OpenGL configuration code has been cleaned up and simplified. We rely more and more on EGL and now require EGL 1.4. In X11 we use EGL, resorting to GLX if necessary. On Windows, we use WGL by default.

Main new features of GTK 4.4

In this new version that is presented As mentioned at the beginning, what stands out the most are the continuous improvements to the NGL rendering engine which uses OpenGL to achieve higher performance while reducing CPU utilization. Improved support for color fonts.

The new version includes rendering optimizations to stop using large intermediate textures, in addition to the correct operation of NGL with an open driver for Mali GPUs. Support for the old GL renderer is scheduled to end in the next GTK branch.

Also the skins included in the main composition have been reorganized and renamed. As of now, the built-in themes are named Default, Default-dark, Default-hc, and Default-hc-dark, and the Adwaita theme has been moved to libadwaita. Topics use a dashed line instead of a wavy line to underline error messages. Added support for semi-transparent text selection.

Moreover the code associated with the OpenGL configuration has been cleaned up and simplified, in addition to ensuring that the code for OpenGL support in GTK works correctly on systems with newer versions of NVIDIA proprietary drivers.

To access the rendering API, the EGL interface is considered the main one (the requirements for the EGL version are raised to 1.4). On X11 systems, downgrade from EGL to GLX if necessary. Windows uses WGL by default.

By default, the inspection interface is enabled, making it easy to debug GTK applications. On Windows, GL is used to play multimedia content and the WinPointer API is used to work with tablets and other input devices.

The built-in implementation of input methods is close to the behavior of IBus when displaying and processing composition sequences and dead keys. We can also find that I know added the ability to simultaneously use multiple dead keys and combinations that do not lead to the formation of a Unicode character (for example, "ẅ").

Of the other changes that stand out from the new version:

  • Full support for 32-bit key mapping values ​​(keysyms) has been implemented, including Unicode values.
  • Emoji data has been updated to CLDR 39, which unlocks the ability to localize Emoji for languages ​​and locales.
  • GdkToplevel adds support for the title bar gesture protocol used by GNOME Shell.
  • GtkTextView has improved the highlighting of individual words.
  • The GtkCheckButton fires when the focus moves.
  • Build scripts have Gstreamer enabled by default and Vulkan API support disabled

Finally if you are interested in knowing more about it about this new version of GTK, you can check the details In the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.