GTK and Wayland Support
Equo Chromium runs smoothly on both the traditional GTK stack and modern Wayland desktops.
GTK
Equo Chromium supports GTK 2 and GTK 3 out of the box. At startup the correct version is selected automatically, but you can override this with the SWT variable SWT_GTK3
.
Force GTK 3:
export SWT_GTK3=1
Force GTK 2:
export SWT_GTK3=0
GTK2 is not supported by all versions of SWT. If that’s the case, Equo Chromium will run with GTK3 regardless. |
Wayland
Native Support
Starting from version 128.0.3
, Wayland is supported natively. If your environment and distribution fully support and/or use native Wayland, Equo Chromium will use it automatically.
Running with XWayland
For earlier versions, or if you prefer to run via XWayland
, you can use one of the options below to force X11-based rendering.
1. Set an environment variable
Add this before launching your application to force the use of X11
(XWayland):
GDK_BACKEND=x11
2. Call earlyInit()
Invoke com.equo.chromium.ChromiumBrowser.earlyInit()
before the SWT Display is created. This allows Chromium to initialize correctly with XWayland before GTK is loaded.
Plain Java example:
public static void main(String[] args) {
com.equo.chromium.ChromiumBrowser.earlyInit();
Display display = new Display();
…
}
In an Eclipse RCP app, you can do this by having your own org.eclipse.equinox.app.IApplication
and calling earlyInit()
from the start method:
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
public class Application extends org.eclipse.e4.ui.internal.workbench.swt.E4Application implements IApplication {
@Override
public Object start(IApplicationContext context) throws Exception {
com.equo.chromium.ChromiumBrowser.earlyInit();
return super.start(context);
}
}
Add -nosplash
to the command line so Eclipse does not load GTK
before earlyInit()
runs. That way you avoid a potential crash.