Showing results for 
Search instead for 
Did you mean: 

X-CUBE-TOUCHGFX 4.22.0 is out!

ST Employee

TouchGFX 4.22.0 is now out.

Please follow this link to download it.

Release details :

  • Release date: June 19th, 2023

  • New TouchGFX Designer Features:

    • Added ability to specify L8 compression for images.
    • Added direct user communication.
    • Improved proxy authentication management.
    • Added description tooltips to the different image formats.
    • Containers can now be marked as cachable from inside TouchGFX Designer.
    • Drag and drop SVG images to TouchGFX Designer now creates an SVG image widget.
    • Added the ability to cancel "Generate Code", "Run Simulator" and "Run Target" commands.
    • The MJPEG software converter is now included when video is enabled in additional features.
    • Right-clicking a widget in the canvas tree view when having multiple widgets selected now affects all selected widgets.
    • The context menu inside the image tab is now identical between the tree view and the image table.
    • When deleting multiple text groups inside the text tab, the prompt now asks for confirmation for all selected text groups.
    • Added SetBorderSize action.
  • Bugfixes in TouchGFX Designer:

    • Fixed discrepancy between canvas and simulator when positioning texts.
    • Fixed bug where the "Run Simulator" tooltip would not disappear.
    • Fixed faulty memory usage when using large values for SVG image widget.
    • Fixed errors regarding interactions sometimes not showing.
    • Fixed faulty keyboard focus in the widget menu, when previous focus is outside of TouchGFX Designer.
    • Fixed renaming an interaction not triggering a refresh of the name in places where the renamed interaction is used.
    • Fixed scenarios where a backup .touchgfx file would be unnecessarily created.
    • Fixed whitespace characters in wildcards being ignored and removed by the Designer.
    • Fixed "Unsaved Changes" popup appearing sometimes when no changes were made.
    • Fixed crash when loading a read-only .touchgfx file.
    • Resizing tab with the mouse made easier.
    • Moving TouchGFX Designer to a secondary extended screen could cause TouchGFX Designer to not show the canvas.
    • Fixed issue where pressing the F5 key twice would run the simulator but TouchGFX Designer would output an unwarranted error in console.
    • Cleaned up some generated code for ScrollList.
    • Fixed having a space in Windows path would cause different behaviour when opening a project from inside TouchGFX Designer versus opening the file directly from the Windows path.
    • Fixed dragging texts in the text tree view would have no effect.
    • Generating code which includes button widgets could make the unsaved circle appear after generating code.
    • Fixed edits made to files via Visual Studio not being detected by TouchGFX Designer.
    • Removed an extra generated semicolon from ScreenPresenter.hpp.
    • Fixed faulty keyboard focus in the text tab.
    • Fixed a bug where copy and pasting a screen with a Set Text interaction, and then deleting the interaction from one of the screens, would wrongly remove the text used from both interactions.
    • Fixed the red error dot only showing on a screen tree view node when the node is collapsed.
    • Enlarged the splitter area needed to change the width of text tree tab.
    • Fixed code generation in file FrontendApplicationBase.cpp.
    • Fixed removing the hour and the minute hand in an analog clock causing the second hand to not show on canvas.
    • Fixed having multiple text translations for the same language corrupting the project.
    • Fixed deleting an interaction which triggers another interaction would not giving an error on the second interaction.
    • Fixed videos showing with different colors in the simulator when the project uses 32 bits per pixel.
    • Fixed elements being rendered on the canvas in reverse order for dynamic/static graphs.
  • New TouchGFX Core Features:

    • Added L8 Image Compression for 16bpp, 24bpp and 32bpp framebuffer formats.
    • Added IAR 9.20.1 libraries for cortex M0+, M4f, M7, M33, and M55. Removed IAR 7 library for M7.
  • Bugfixes in TouchGFX Core:

    • Deleting the last page in a SwipeContainer was not possible.
    • Unicode::snprintfFloats() rounding error fixed.
    • Setting new bitmaps on a Slider would not update the screen correctly.
    • Slider now uses int16_t consistently to allow for use of negative values. Indicator position is more precisely calculated.
    • ScrollWheel now respects setOvershootPercentage().
    • Fixed parser error in SVG ArcTo command.
    • Fixed assert in LCD.cpp regarding Wide Text with ellipsis.
    • Fixed issue on GPU2D (NeoChrom) targets where changing X and Y angle of TextureMapper widgets did not render correctly.
    • Fixed issue on GPU2D (NeoChrom) targets where HAL::lockFrameBuffer() did not properly process queued draw operations prior to returning.

Feel free to learn more about our new features by looking into our documentation !


Attention : TouchGFX Designer 4.22.0 MUST be used with STM32CubeMX 6.8.0 or above (link to download STM32CubeMX 6.8.0).

Attention : If X-CUBE-TOUCHGFX 4.22.0 is not available in STM32CubeMX software yet, please navigate to "Help > Manage embedded software packages > STMicroelectronics > X-CUBE-TOUCHGFX". Then click on "From Local ..." and navigate to the file to install the new pack inside STM32CubeMX.

ST Software Developer | TouchGFX
Associate III

I installed using the mentioned steps.
Mine is a clean installation after uninstalling all previous versions.

I tried to load a demo application directly from TouchGFX into my STM32H747I-DISCO and it shows error like this.
Generate Code
Generate Assets
make -f simulator/gcc/Makefile assets -j8
Reading ./application.config
Reading ./target.config
C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:910:in `encode': U+00AE to IBM437 in conversion from UTF-16LE to UTF-8 to IBM437 (Encoding::UndefinedConversionError)
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:910:in `export_string'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:611:in `each_key'
C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:910:in `encode' from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:62:in `block in iterate_msys_paths':
U+00AE to IBM437 in conversion from UTF-16LE to UTF-8 to IBM437 (Encoding::UndefinedConversionError from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:435:in `open'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:542:in `open'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:61:in `iterate_msys_paths'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:910:in `export_string'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:89:in `msys_path' from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:611:in `each_key'

from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:62:in `block in iterate_msys_paths' from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:102:in `mingw_bin_path'

from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:435:in `open'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:112:in `enable_dll_search_paths'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:542:in `open'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/singleton.rb:27:in `enable_dll_search_paths'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:61:in `iterate_msys_paths'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/rubygems/defaults/operating_system.rb:3:in `<top (required)>'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:89:in `msys_path' from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/rubygems.rb:1348:in `require'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/rubygems.rb:1348:in `<top (required)>'
from <internal:gem_prelude>:2:in `require'
from <internal:gem_prelude>:2:in `<internal:gem_prelude>'

from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:102:in `mingw_bin_path'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/msys2_installation.rb:112:in `enable_dll_search_paths'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/site_ruby/3.0.0/ruby_installer/runtime/singleton.rb:27:in `enable_dll_search_paths'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/rubygems/defaults/operating_system.rb:3:in `<top (required)>'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/rubygems.rb:1348:in `require'
from C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/rubygems.rb:1348:in `<top (required)>'
from <internal:gem_prelude>:2:in `require'
from <internal:gem_prelude>:2:in `<internal:gem_prelude>'
generated/simulator/gcc/Makefile:229: recipe for target 'videos' failed
make[1]: *** [videos] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [texts] Error 1
generated/simulator/gcc/Makefile:225: recipe for target 'texts' failed
make: *** [assets] Error 2
simulator/gcc/Makefile:32: recipe for target 'assets' failed

Please help

Hello @NSeba ,

Does your app work on previous versions of Designer?
Your issue looks a lot like this one. As I can see there's a conversion error from UTF-16LE to IBM437 characters. Is your computer in an other language than English? If it's the case, trying the solution suggested in the thread could be a help until we find a solution which doesn't require much user side. 


ST Software Developer | TouchGFX

My applications were working perfectly in version 4.21.1.
This issue started after I upgraded to 4.21.4. The issue persisted after I downgraded back to 4.21.1
Then I installed 4.22.0 from ST website and it also doesn't work.
My system language is English only. Do I need to make any changes in locale ?

I cannot reinstall windows as there are other licensed software.

Associate III

Update: Mine started working after I made UTF-8 system wide.
I don't know what trouble it is going to make with other applications


@NSeba good to hear you have a solution to your issue, thank you for sharing. We'll see what we can do for this issue.


ST Software Developer | TouchGFX
Associate III


I will post my Touch GFX activities and project on other forum

Hello @INaee.1 ,

Your message has nothing related to TouchGFX 4.22 release, I'm sorry to tell you it's not the place to write it here.
I invite you to create a new conversation if you need help, hopefully someone would give you hints to solve your issue.

ST Software Developer | TouchGFX
Associate II

Sadly, this release doesn't work at all for me on Windows 10! Which is a bummer since I really, really want to try the new image compression feature. I get an error "Failed to load native freetype library!" every time I try to load any project, even the provided examples. See attached log for more details. Version 4.21.4 worked fine, not sure what changed... 

Hello @HRidd.2 ,

Thank you for reporting your issue. We suspect there's a font in your project that TouchGFX Designer can't read. You could try to identify which one it is and remove it from your project.
We'll try to investigate on our side as well, I'll keep you updated when I'll have more news. Let me know if you succeed to open your project in TouchGFX 4.22.0 after trying what I said.

ST Software Developer | TouchGFX