Development/GTK4
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
GTK is one of several user interface toolkits that can be used with LibreOffice. While GTK4 is the latest stable version of GTK, GTK3 is still dominant in many Linux distributions. GTK4 interface for LibreOffice is still under heavy development, but it can be built and tested. Here are the instructions.
Building LibreOffice with GTK4 Support
In order to build LibreOffice with GTK4 support, first you should install GTK4 development libraries.
On Fedora Workstation 36 and later, this can be done with sudo dnf install gtk4-devel
.
On Ubuntu 24.04 LTS and later, this can be done with sudo apt-get install libgtk-4-dev
.
Please note that gtk4 library should be at least 4.10. If GTK4 is not available for your distribution or it is too old, you should compile it from source. Appropriate build and install instructions are available for different operating systems:
If you are using Linux and install GTK4 in /opt/gtk
, then you set PKG_CONFIG_PATH
and then build LibreOffice after adding --enable-gtk4
to autogen.input
or directly as autogen
parameters.
export PKG_CONFIG_PATH=/opt/gtk/share/pkgconfig:/opt/gtk/lib/x86_64-linux-gnu/pkgconfig
make
Because GTK4 support is experimental, there may be some warnings that you should ignore in order to build, so you should add --disable-werror
to autogen.input
or directly as autogen
parameters, in order to accept these warnings.
Running LibreOffice with GTK4 Interface
After you could be able to build LibreOffice with GTK4 interface, then you can run LibreOffice with GTK4 toolkit. In Linux, first you should add GTK libraries to the LD path:
export LD_LIBRARY_PATH=/opt/gtk/lib/x86_64-linux-gnu
SAL_USE_VCLPLUGIN=gtk4 ./instdir/program/soffice
The GTK4 interface can be selected in an alternative way:
./instdir/program/soffice -env:SAL_USE_VCLPLUGIN=gtk4
You can verify that you are actually running GTK4 interface by looking at
▸ , "User Interface" section. There you should see: UI render: default; VCL: gtk4