Performance & Updating Issue VMware Workstation

Hi All,

New to Garuda and Linux, been reading alot the past week or so for all my issues and managed to resolve alot on my own but Im stumped on this VMware portion. I realize from some internet posts that vmware support on Arch based distros is either not supported or 'youre on your own'

Im trying to update VMWare Workstation 16.2.4 but keep encountering an error. I believe all the dependencies are present, I installed this from AUR initially. Despite this Im still not 100% sure everything is kosher as far as dependencies or other services running or enabled.

I have updated the OS as far as I know how. Im posting the last few lines of the error from the logs rather than the whole for everyone's sanity but I can if its requested.

Edit1: I did run:

sudo pacman -Sy

This updated the kernal but still no to avail.
Also tried enabling some vmware services and was successful with all but one

sudo systemctl enable --now vmware-hostd.service

The error I got from this was
Failed to enable unit: Unit file vmware-hostd.service does not exist.
However I dont know if this is relevant.

Thanks in advance for your help.

2022-07-22 19:51:34,327] Installer running.
[2022-07-22 19:51:34,327] Command Line Arguments:
[2022-07-22 19:51:34,328] ['/tmp/vmis.FhUx25/install/vmware-installer/vmware-installer.py', '--set-setting', 'vmware-installer', 'libconf', '', '--install-component', '/tmp/vmis.FhUx25/install/vmware-installer', '--install-bundle', '/home/ghaz/.cache/vmware/cds/cdstmp_ws-linux_16.2.4_20089737/VMware-Workstation-16.2.4-20089737.x86_64.bundle', '', '--delete-install-components', '--install-component=/home/ghaz/.cache/vmware/cds/cdstmp_tools-winPreVista_11.3.5_20089737/vmware-tools-winPreVista-11.3.5-18557794.x86_64.component', '--install-component=/home/ghaz/.cache/vmware/cds/cdstmp_tools-linux_11.3.5_20089737/vmware-tools-linux-11.3.5-18557794.x86_64.component', '--install-component=/home/ghaz/.cache/vmware/cds/cdstmp_tools-windows_11.3.5_20089737/vmware-tools-windows-11.3.5-18557794.x86_64.component', '--install-component=/home/ghaz/.cache/vmware/cds/cdstmp_tools-solaris_11.3.5_20089737/vmware-tools-solaris-11.3.5-18557794.x86_64.component', '--install-component=/home/ghaz/.cache/vmware/cds/cdstmp_tools-netware_11.3.5_20089737/vmware-tools-netware-11.3.5-18557794.x86_64.component', '--install-component=/home/ghaz/.cache/vmware/cds/cdstmp_tools-linuxPreGlibc25_11.3.5_20089737/vmware-tools-linuxPreGlibc25-11.3.5-18557794.x86_64.component', '--install-component=/home/ghaz/.cache/vmware/cds/cdstmp_tools-winPre2k_11.3.5_20089737/vmware-tools-winPre2k-11.3.5-18557794.x86_64.component']
[2022-07-22 19:51:34,444] System installer version is: 3.0.0.19376536
[2022-07-22 19:51:34,444] Running installer version is: 3.0.0.20089737
[2022-07-22 19:51:34,445] Opening database file /etc/vmware-installer/database
[2022-07-22 19:51:34,535] Uncaught exception in installer:
Traceback (most recent call last):
  File "/tmp/vmis.FhUx25/install/vmware-installer/vmware-installer.py", line 694, in <module>
    main(options)
  File "/tmp/vmis.FhUx25/install/vmware-installer/vmware-installer.py", line 536, in main
    txn.Install(options.installComponent,
  File "/tmp/vmis.FhUx25/install/vmware-installer/vmis/core/transaction.py", line 610, in Install
    resolveResults = Resolve(common.repository.available, common.repository.installed, [], db.database)
  File "/tmp/vmis.FhUx25/install/vmware-installer/vmis/core/dependency.py", line 1421, in Resolve
    positiveGraph.constructLinks(installed)
  File "/tmp/vmis.FhUx25/install/vmware-installer/vmis/core/dependency.py", line 367, in constructLinks
    for dependency in node.component.dependencies:
  File "/tmp/vmis.FhUx25/install/vmware-installer/vmis/core/component.py", line 489, in _getDependencies
    deps = db.database.components.GetDependencies(self._uid)
  File "/tmp/vmis.FhUx25/install/vmware-installer/vmis/db.py", line 706, in GetDependencies
    cur = self._db.execute('SELECT dependency FROM component_dependencies WHERE component_id=?',
  File "/tmp/vmis.FhUx25/install/vmware-installer/vmis/db.py", line 233, in execute
    return self._db.execute(query, args)
sqlite3.OperationalError: no such table: component_dependencies

Welcome :slight_smile:

I edit your post but, please, read this.

Please complete your post with the

garuda-inxi

required in the template.

Thanks, I did see that but wasnt sure how to implement but I saw the 3 tildas to show the output as requested. Sorry for my noobness.

Thanks for editing your post, no worries about any noobness. This is a separate command though:

Just type it into your terminal and paste the entire output into the thread. It helps show some details about the system you are working with.

Also:

The best way to update on Garuda is to run this command:

garuda-update

If you updated your kernel as you mentioned, if you have not already you should take a reboot before troubleshooting any further.

2 Likes

Ahh, ok thanks, I am posting the results of the garuda-inxi command below.

I did update and have rebooted.
Quick specs for hardware
i7-6700
28GB RAM DDR4
OS Drive: 250GB SSD 2nd Drive: 500GB SSD (VMs live here)
Nvidia GT 730 with open source drivers (proprietary drivers froze the initial Garuda install)

System:
Kernel: 5.18.13-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=38d03ea9-e4ea-4beb-beb5-bef5074d3da9 rw rootflags=subvol=@
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
loglevel=3
Desktop: KDE Plasma v: 5.25.3 tk: Qt v: 5.15.5 info: latte-dock
wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop System: HP product: HP EliteDesk 800 G2 SFF v: N/A
serial: <superuser required> Chassis: type: 4 serial: <superuser required>
Mobo: HP model: 8054 v: KBC Version 05.39 serial: <superuser required>
UEFI: HP v: N01 Ver. 02.53 date: 04/19/2021
CPU:
Info: model: Intel Core i7-6700 bits: 64 type: MT MCP arch: Skylake-S
gen: core 6 built: 2015 process: Intel 14nm family: 6 model-id: 0x5E (94)
stepping: 3 microcode: 0xF0
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
L3: 8 MiB desc: 1x8 MiB
Speed (MHz): avg: 900 min/max: 800/4000 scaling: driver: intel_pstate
governor: powersave cores: 1: 900 2: 900 3: 900 4: 900 5: 900 6: 900 7: 900
8: 900 bogomips: 54398
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf
mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
STIBP: conditional, RSB filling
Type: srbds mitigation: Microcode
Type: tsx_async_abort mitigation: TSX disabled
Graphics:
Device-1: Intel HD Graphics 530 vendor: Hewlett-Packard driver: i915
v: kernel arch: Gen9 process: Intel 14n built: 2015-16 ports: active: none
empty: DP-1, DP-2, DP-3, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0
chip-ID: 8086:1912 class-ID: 0300
Device-2: NVIDIA GK208B [GeForce GT 730] vendor: PNY driver: nvidia
v: 470.129.06 alternate: nouveau,nvidia_drm non-free: 470.xx+
status: legacy-active (EOL~2023/24) arch: Kepler process: TSMC 28nm
built: 2012-18 pcie: gen: 2 speed: 5 GT/s lanes: 4 link-max: lanes: 8
bus-ID: 03:00.0 chip-ID: 10de:1287 class-ID: 0300
Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.3
compositor: kwin_x11 driver: X: loaded: modesetting,nvidia
unloaded: nouveau alternate: fbdev,intel,nv,vesa gpu: i915,nvidia
display-ID: :0 screens: 1
Screen-1: 0 s-res: 5760x1080 s-dpi: 81 s-size: 1806x343mm (71.10x13.50")
s-diag: 1838mm (72.37")
Monitor-1: DVI-D-0 pos: right res: 1920x1080 hz: 60 dpi: 82
size: 598x336mm (23.54x13.23") diag: 686mm (27.01") modes: N/A
Monitor-2: HDMI-0 pos: primary,center res: 1920x1080 hz: 60 dpi: 70
size: 698x392mm (27.48x15.43") diag: 801mm (31.52") modes: N/A
Monitor-3: VGA-0 pos: primary,left res: 1920x1080 hz: 60 dpi: 96
size: 509x286mm (20.04x11.26") diag: 584mm (22.99") modes: N/A
OpenGL: renderer: NVIDIA GeForce GT 730/PCIe/SSE2
v: 4.6.0 NVIDIA 470.129.06 direct render: Yes
Audio:
Device-1: Intel 100 Series/C230 Series Family HD Audio
vendor: Hewlett-Packard driver: snd_hda_intel v: kernel bus-ID: 00:1f.3
chip-ID: 8086:a170 class-ID: 0403
Device-2: NVIDIA GK208 HDMI/DP Audio vendor: PNY driver: snd_hda_intel
v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 4 link-max: lanes: 8
bus-ID: 03:00.1 chip-ID: 10de:0e0f class-ID: 0403
Sound Server-1: ALSA v: k5.18.13-zen1-1-zen running: yes
Sound Server-2: PulseAudio v: 16.1 running: no
Sound Server-3: PipeWire v: 0.3.56 running: yes
Network:
Device-1: Intel Ethernet I219-LM vendor: Hewlett-Packard driver: e1000e
v: kernel port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15b7 class-ID: 0200
IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
Device-2: Intel 82574L Gigabit Network driver: e1000e v: kernel pcie:
gen: 1 speed: 2.5 GT/s lanes: 1 port: 3000 bus-ID: 01:00.0
chip-ID: 8086:10d3 class-ID: 0200
IF: ens5 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: vmnet0 state: unknown speed: N/A duplex: N/A mac: <filter>
IF-ID-2: vmnet1 state: unknown speed: N/A duplex: N/A mac: <filter>
Drives:
Local Storage: total: 689.33 GiB used: 352.87 GiB (51.2%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/sda maj-min: 8:0 vendor: Crucial model: CT500MX500SSD1
size: 465.76 GiB block-size: physical: 4096 B logical: 512 B
speed: 6.0 Gb/s type: SSD serial: <filter> rev: 033 scheme: GPT
ID-2: /dev/sdb maj-min: 8:16 vendor: Kingston model: SUV400S37240G
size: 223.57 GiB block-size: physical: 4096 B logical: 512 B
speed: 6.0 Gb/s type: SSD serial: <filter> rev: D6SD scheme: GPT
Partition:
ID-1: / raw-size: 223.27 GiB size: 223.27 GiB (100.00%)
used: 14.95 GiB (6.7%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 608 KiB (0.2%) fs: vfat dev: /dev/sdb1 maj-min: 8:17
ID-3: /home raw-size: 223.27 GiB size: 223.27 GiB (100.00%)
used: 14.95 GiB (6.7%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-4: /var/log raw-size: 223.27 GiB size: 223.27 GiB (100.00%)
used: 14.95 GiB (6.7%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-5: /var/tmp raw-size: 223.27 GiB size: 223.27 GiB (100.00%)
used: 14.95 GiB (6.7%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 27.3 GiB used: 768 KiB (0.0%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 22.0 C pch: 61.5 C mobo: N/A gpu: nvidia
temp: 80 C
Fan Speeds (RPM): N/A gpu: nvidia fan: 92%
Info:
Processes: 300 Uptime: 3h 24m wakeups: 0 Memory: 27.3 GiB
used: 8.47 GiB (31.0%) Init: systemd v: 251 default: graphical
tool: systemctl Compilers: gcc: 12.1.0 Packages: pacman: 1361 lib: 346
Shell: fish v: 3.4.1 default: Bash v: 5.1.16 running-in: konsole
inxi: 3.3.19
Garuda (2.6.5-1):
System install date:     2022-07-18
Last full system update: 2022-07-22
Is partially upgraded:   No
Relevant software:       NetworkManager
Windows dual boot:       No/Undetected
Snapshots:               Snapper
Failed units:            bluetooth-autoconnect.service

Manually managing VMware using the official installer on arch-based distro is a painful process.

Uninstall whatever you have done and then just use the AUR package. It pretty much just works.

The AUR maintainer handles the patches that need to be applied to keep it running on Arch. Let it update like any other AUR package.

5 Likes

Just to piggy-pack on what Dalto mentioned, there is a pre-built binary in the Chaotic AUR. Using that version would allow you to install and update with the normal package manager.

First:

garuda-update

Then:

sudo pacman -S vmware-workstation

I do see the Chaotic AUR package is on 16.2.3-3; if you specifically need that higher version then the AUR version is at 16.2.4-1 and you can build it with paru:

paru vmware-workstation

There are quite a few options to build, but I think this would be the "standard" option:

aur/vmware-workstation 16.2.4-1 [+168 ~1.96]
    The industry standard for running multiple operating systems as virtual machines on a single Linux PC.
2 Likes

Thanks so much guys, I woke up this morning and found on AUR that 16.2.4 was posted and I was able to get it installed! I think Ill just wait for newer version to be available through AUR rather than use the Vmware update option in the software.

I suppose I should mention the reason for the upgrade was I was hoping it would resolve some issues with my VMs on Workstation. I moved from Windows recently and moved these VMs with me to Garuda but Im having some issues with some general slowness for Workstation and the accompanying VMs.

The issues I see is the mouse getting 'lost' when transitioning from Garuda desktop to to a VM, its not as seamless as it was in Windows, so Im trying to pinpoint this. In addition, I noticed the CPU usage seems to be higher on the host as well as the guest VMs. The hardware is the same as when it was Windows (just swapped drives). Im kind of at a loss for the degredation in performance and Im trying to get it to be as smooth as it was under Windows. I did allocate more resources to the VMs to little avail.

I have a few ideas but may need your guy's suggestions.

  1. The only new hardware is the SSD that the VMs reside on, I went with a Crucial SSD as Ive had very good luck with them, I dont suspect this is the issue but I was looking for a tool to test with for read/write under Linux but found only some half baked looking CLI tool that I gave up on. I could boot into Windows and test easily but I dont think the drive has read/write issues, I feel the performance would be even worse if it was faulty.

  2. My video card isnt powerful enough, possibly. I have a built in Intel HD Graphics 530 as well as a dedicated Nvidia GT 730 (1GB, GDDR5, 64 bit bus) but Im using the NIvidia with 3 monitors all at 1920x1080 resolution. I was thinking of possibly buying the ..other...GT 730 (4GB, GDDR3, 128 bit bus) but I dont know if this would actually help or not. I suspect it would but dont know how much of a difference GDDR3 vs GDDR5 is but I think thats mostly for gaming which wont be done on this system). I was thinking this other GT 730 could handle the eye candy plus my VM and workstation rendering and transitioning)

  3. This ties in with number two, but I have been trying to test, much to my frustration at turning some of the Garuda eye candy off to see if that helps with VMs and Workstation responsiveness . So far I have turned off Shadows and Animations at the bottom dock bar. My next to turn off if the 'fuzzying out' of the background when you switch focus or apps, not exactly sure how to describe it. I struggle finding these options so if anyone has any guidance Id appreciate it. (I at one point last night auto hid my dock and had to switch themes for it to pop up for one second and quickly mouse over it to get it to stay and edit the settings to get it back permanently)

Thanks to everyone who has assisted, you guys have been very friendly and helpful to a newcomer such as myself. Also thank you Blush for posting the commands to run in order, this saves alot of time trying to wrap my head around about syntax and such.

Additional info, GPU CLI tool I found that shows usage. Cant post images yet but it shows 646/981 MB of video memory but I have seen it as high as 715/981. I did try some less taxing themes and it was lower but I still had the semi unresponsiveness in vmware.

Instead of disabling your desktop effects piecemeal, you can shut off the compositor when you want to free up the GPU for your VM work. In the GUI it is something like System settings->Hardware->Display and Monitor->Compositor, or you can toggle it on and off with Shift+Alt+F12.

Hopefully someone with more experience with this software will weigh in with some tips for you, but in the meanwhile you can read through the Arch Wiki page. It looks like it has a few relevant sections, like improving performance and mouse troubleshooting.

https://wiki.archlinux.org/title/VMware

2 Likes

Thanks so much Bluish, Ill def look into all those things and report back!

I dont know if this matters but the filesystem I used for the SSD with the VMs on it was BTRFS, do you think that might matter? I also noticed it seems to be more of a slight visual/video delay more than anything. Discord and Spotify within the VM seem to cause a bit of delay.

Also if it helps anyone, enabling Track Mouse under System Settings-->Workspace Behavior--> Desktop Effects seems to help a bit with mouse location and relocation when going back and forth. Not a massive difference but it helps a little bit.

As for the visuals. I did the Shift-Alt-F12 to turn off compositor but it seems to have helped little. I still see the fuzzing of blurring of the background despite this option being on or off, not sure if thats the intended effect or how to take that off (tried different options in desktop effects)

Found out the disabling of the blur, not where I thought it was.

1 Like

If you have your vms on btrfs, make sure you disable copy on write for those files.

It is better to create a separate subvolume for your vm storage and disable CoW on that subvol.

2 Likes

If you ever notice such a mismatch on Chaotic-AUR package, please report an issue here: Issues · chaotic-aur/packages · GitHub. The new one is now built (16.2.4). You shouldn't ever need to build your own version of something that's already in a build routine :slight_smile:

2 Likes

Nice one, I wasn't aware that was an issue. Will do on the reporting! :+1:

2 Likes

How would I go about doing this? Or is just doing another filesystem format easier....?

If your VMs are stored in one place it is pretty easy. There are actually a lot of ways to do it. Here is one.

I am going to assume your VMs are stored in /data/vm, just replace that with the real location.

  • Shutdown vmware
  • sudo mv /data/vm /data/vmold
  • sudo btrfs subvolume create /data/vm
  • sudo chattr -R +C /data/vm
  • sudo mv /data/vmold/* /data/vm/.
  • sudo rmdir /data/vmold
4 Likes

Ok thanks I tried this, the commands appear to have worked, is there a way to verfiy? Also, what performance benefits does this do specifically for the VMs and is this a well known practice for doing VMs with linux/btrfs?

Thanks for everyone's input!

I'm just noticing your specs here... The 730 is very underpowered in 2022, especially for 3 displays @ 1080p. If you want to upgrade, you should get something newer and more powerful, not another equally old card.