AI Translates Apps from GTK2/OpenGL to GTK4/Vulkan

Christian Shaller, heading Fedora Desktop Team and the development group of desktop systems in Red Hat, published the results of assessing the suitability of large language models during the development of graphic applications for Linux. As an experiment, he took advantage of the Claude AISSistan to translate the outdated XTRACEROUTE graphic application to relevant technologies.

XTRACEROUTE application, visualizing the path of network packets on a 3D-glue, was originally written using GTK1 and OpenGL, and was ready in the early 2000s. on GTK2, after which 20 years were not updated. Thanks to the use of the AI assistant, it took Christian about five hours for porting of this application on GTK4 and graphic API Vulkan.

it was:



then Christian took advantage of the AI to create based on the prepared prepared The port of the new application demonstrating the location of Red Hat offices on the globe and shows the company’s news at the bottom of the window. Christian also expressed the idea of involving AI to automate additions to Gnome Shell and the generation of patches, taking into account the changes made in the new releases of Gnome Shell.


according to Christian, the community is present in the community He wanted to show a negative attitude to the use of AI, and conducted by the experiment to other developers of SPO, which should not be ignored by the opportunities that AI provides to simplify the development process. For example, AI saves time, getting rid of the need to disassemble the documentation on the API, track the changes in the API and select the correct calls, and also greatly simplifies the writing of tests.

, at the same time, AI is considered as a tool that helps in development, but does not remove responsibility for the added year and requiring check and control over quality. As an example, an attempt is shown to generate a code to embed support the display of PDF documents to the application. AI proposed a code using the WebKit browser engine for the rendering that worked, but added a huge new dependence. After clarifying the task, AI provided the code using the compact library libpoppler

/Reports, release notes, official announcements.