Easily running SWT on different Linux Distros

As a follow-up to my earlier article on testing and developing SWT on GTK, I’ve recently run into a set of challenges that require running SWT tests, samples, and even the full IDE across multiple Linux distributions and different GTK minor versions.

Historically, whenever I needed to test Eclipse on another distro, I’d either dual-boot my machine-using a shared data partition to keep setup simple, or, for quick one-off experiments, spin up a VM. Occasionally I’d throw together a Docker image just for a single test run.

But as I found myself switching between environments more frequently, those ad-hoc approaches grew cumbersome. I needed something faster and more repeatable. So I formalized the Docker approach and built a workflow that lets me launch Java applications-including SWT under X11 or Wayland-with just a click or two.

The result is swt-dev-linux (https://github.com/jonahgraham/swt-dev-linux), a GitHub repository where I’m collecting and documenting the scripts that make this workflow straightforward and reliable. If you need to test SWT across different Linux/GTK configurations, I hope it makes your life easier too.

Demo

Here is a screenshot where I have the SWT ControlExample running on 4 different distros simultaneously. It makes it easy to compare and contrast behaviours:

In a process tree this looks like:

The above examples were all running on GTK4 + x11, the next example is running GTK4 one on x11 and one on wayland on Fedora 43, with my host distro being Ubuntu 25.10:

Recursive SDKs Demo

Here is another screenshot showing (from top left):

  • Eclipse SDK setup with my main SWT development environment, launching:
  • a child Eclipse SDK running on my Ubuntu docker container, launching:
  • a child Eclipse SDK also running on my Ubuntu docker container, launching:
  • a hello world Java application

Here is what the process tree looks like for the nested SDKs:

Intrigued?

Come visit my GitHub repo at https://github.com/jonahgraham/swt-dev-linux and try it out and let me know what you think. File an issue or a PR!

EclispeCon talk: Zero-Install Embedded C/C++ Development: Running GDB in the Browser with WebAssembly

I will be delivering a couple of talks at EclipseCon 2024, recently rebranded as OCX – https://www.ocxconf.org/. Here is the abstract for the first of these (link to the slot in the program):

This talk introduces an approach to embedded development: running the GNU Debugger (GDB) directly in the browser using WebAssembly, eliminating the need for traditional installations.

Attendees will discover how this solution can be integrated by leveraging the Eclipse CDT Cloud Project targeting popular web based IDEs such as Visual Studio Code (VSCode) and Eclipse Theia. By using WebAssembly, we can run GDB directly in the browser, providing a seamless debugging environment across different systems.

In addition, the talk will cover the exciting capabilities of modern browsers to connect to hardware using WebUSB. This allows developers to interface with embedded devices directly from the browser, further simplifying the development and debugging process.

Join us to explore the future of zero-install embedded C/C++ development and see firsthand how these technologies can revolutionize your development experience.