Learn how to work around this error when launching any Electron-based application and Keeweb in Ubuntu 22.04.

Keeweb launching error in Ubuntu 22.04: GPU process isn't usable. Goodbye!

Keeweb is an awesome free cross-platform desktop application password manager compatible with KeePass. This means that you can use it to manage your keepass files in other environment that isn't Windows. I usually store all of my credentials in keepass files as this allows me to store and use secure passwords for every account I have on the internet in a very safe way.

I've always used Keeweb for Ubuntu, however during the installation of this program in Ubuntu 22.04, the application simply didn't start when clicking the icon. At the beginning, I thought that maybe there was a problem with the way I installed Keeweb, so instead of using sudo apt-get, I used dpkg -i, with no success. Then, I tried to launch the application from the terminal and that's when I found the following error:

libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[17607:0915/085207.965963:FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.
/usr/bin/keeweb: line 2: 17607 Trace/breakpoint trap   (core dumped) /usr/share/keeweb-desktop/keeweb "$@"

After some research, I found out that the problem wasn't Keeweb directly, but the platform where it runs on, Electron. Electron Framework is the choice of many developers for packing web based applications as desktop applications that run on Linux, macOS and Windows using the same codebase. The issue is caused specifically because of the version of Electron Framework used on the project that contains a bug where it makes applications crash in with glibc 2.34. This issue was solved in the official electron project already, the problem is that the latest version of Keeweb doesn't use a newer version of Electron (the issue is still open on Github), causing the problem of the application in many of the latest operative systems based in Linux such as Arch Linux, Ubuntu, Fedora etc.

Temporary solution (until Keeweb receives an update)

Although no the ideal solution, it is for sure the quickest solution to launch the application in your system is to launch it through the terminal with an additional parameter, namely --no-sandbox:

keeweb --no-sandbox

After running this command the application should be launched without any problem. There's a caveat of doing this though. According to the official documentation of Electron Framework:

For most apps, sandboxing is the best choice. In certain use cases that are incompatible with the sandbox (for instance, when using native node modules in the renderer), it is possible to disable the sandbox for specific processes. This comes with security risks, especially if any untrusted code or content is present in the unsandboxed process.

You can also disable Chromium's sandbox entirely with the --no-sandbox CLI flag, which will disable the sandbox for all processes (including utility processes). We highly recommend that you only use this flag for testing purposes, and never in production.

Adjusting desktop icon

Now, assuming that it worked for you, launching a terminal and letting it open isn't that practical in a desktop environment, it should work out of the box by simply clicking on the Keeweb icon isn't? That's why you need to modify the unity launcher of Keeweb to adjust that, the file should be located in the following path /usr/share/applications/keeweb.desktop. However, it isn't recommended to modify this file directly as it will be rewritten by updates, so it's better to copy the .desktop file to the current user's applications directory:

cp /usr/share/applications/keeweb.desktop ~/.local/share/applications

You can then modify it through the terminal using nano (alternatively modify it with your favorite text editor):

sudo nano ~/.local/share/applications/keeweb.desktop

In this file, you need to modify the executable parameter (Exec), adding the --no-sandbox flag to the launcher:

Exec=keeweb --no-sandbox %u

Your file should like this after the modification:

Keeweb Desktop Icon

Save the changes and close the editor. As last step, you need to restart your gnome shell or restart your computer to apply the changes in the system. I'd rather to simply restart the Gnome shell by pressing  ALT + F2  and then typing r or restart (run it pressing enter):

Ubuntu Run command to restart gnome shell

The gnome shell will restart after doing this and you will be able to launch with a simple click Keeweb in your application dashboard:

Keeweb Desktop Icon Ubuntu


Senior Software Engineer at Software Medico. Interested in programming since he was 14 years old, Carlos is a self-taught programmer and founder and author of most of the articles at Our Code World.

Sponsors