Manjaro: Fixing the screen resolution in VMware

Due to a bug in current versions of Manjaro, it is not possible to change the screen resolution if Manjaro is running as a VMware guest. Neither changing the resolution manually nor using the “Fit Guest Now” option is working correctly. Since the screen resolution is pinned to 800×600 pixels, it’s almost impossible to properly use the VM. I was able to reproduce the issue with my VM running Manjaro with the KDE desktop.

The underlying issue is that the systemd service providing the VMware Guest Tools is not starting properly. According to an entry in the Manjaro forums (dated May 2019) shows two possible solutions.

Temporarily, it’s possible to (re)start the necessary service with the

systemctl restart vmtoolsd.service

command. While the screen resolution can be modified instantly afterwards, you’ll have to redo this process after a reboot.

A more permanent solution is a modification of the systemd unit file /usr/lib/systemd/system/vmtoolsd.service.

As Matthew pointed out in his comment, you should avoiding editing the unit file manually and use the systemctl edit vmtoolsd.service command instead. Thanks, Matthew!

After the modification, it should look like this:

[Unit]
Description=Open Virtual Machine Tools (VMware Tools)
ConditionVirtualization=vmware
After=display-manager.service

[Service]
ExecStart=/usr/bin/vmtoolsd

[Install]
WantedBy=multi-user.target

Finally, you can change the screen resolution right after booting the system. Additionally, VMware’s “Autofit” options will work properly again.

3 Comments

  1. The proper way to do this is to: sudo systemctl edit vmtoolsd.service .. then between the comments add the [Unit] & After=display-manager.service line you provided. Do not edit unit files directly. This way then next time that vmtoolsd package is updated it can install the new version and still incorporate your changes.

Leave a Reply

Your email address will not be published.