Package Details: vmware-workstation 17.6.1-2

Git Clone URL: https://aur.archlinux.org/vmware-workstation.git (read-only, click to copy)
Package Base: vmware-workstation
Description: The industry standard for running multiple operating systems as virtual machines on a single Linux PC.
Upstream URL: https://www.vmware.com/products/workstation-for-linux.html
Keywords: dkms ovftool player vmplayer vmware workstation
Licenses: custom
Conflicts: vmware-modules-dkms, vmware-ovftool, vmware-patch, vmware-systemd-services
Provides: vmware-ovftool
Submitter: synthead
Maintainer: jihem
Last Packager: jihem
Votes: 204
Popularity: 4.09
First Submitted: 2017-02-10 19:04 (UTC)
Last Updated: 2024-10-11 05:17 (UTC)

Sources (22)

Pinned Comments

jihem commented on 2020-02-10 17:29 (UTC) (edited on 2021-06-19 13:19 (UTC) by jihem)

After the first installation, please:

1) install the appropriate headers package(s) for your installed kernel(s): linux-headers for default kernel, linux-lts-headers for LTS kernel...

2) reboot or load vmw_vmci and vmmon kernel modules (modprobe -a vmw_vmci vmmon)

3) Enable the services you need (using .service units to activate them during boot or .path units to activate them when a VM is started) :

  • vmware-networks: to have network access inside VMs

  • vmware-usbarbitrator: to connect USB devices inside VMs

Latest Comments

« First ‹ Previous 1 .. 21 22 23 24 25 26 27 28 29 30 31 .. 66 Next › Last »

class101 commented on 2021-06-10 12:48 (UTC) (edited on 2021-06-10 12:54 (UTC) by class101)

@crdx

Not every changes in my patch are to consider, I guess you mean about the changes I have added into the .install file, they are much for me here because I prefer to have the thing setup the way I want without much tinkering needed after installing the package, when installing a package from Arch Linux, I exxpect the package to do all the necessary things for the package to work properly, if the package tell me, do X to enable X, do Y to enable Y, I don't think it is either the Arch Way.

The improvment proposal is much about replacing the procedure that is to ask the user to enable .service, you could instead ask the user to enable .path files, that way, the service will only start on-demand when they are needed, instead of providing the only solution which is actually to startup the service permanently and forget about it.

crdx commented on 2021-06-09 20:43 (UTC) (edited on 2021-06-09 20:50 (UTC) by crdx)

Isn't it the arch way never to start services automatically on install, and leave it up to the user to decide if they want to start them or not?

class101 commented on 2021-06-09 09:56 (UTC) (edited on 2021-06-09 10:38 (UTC) by class101)

Security vulnerability ? Doubt it, systemd is a robust core component of Linux and services are root started, not user started.

As you see here[1] there are 11 type of unit files and each can be used to implement on-demand starting of services, as well as parallelized starting of services.[2]

I think the correct type of unit for vmware workstation is .path[3], socket is not suitable in here because the application must be aware of the socket to connect to to trigger the on-demand load.

It does a few days I'm testing this and it works flawlessy, I made a patch so you can experiment the complete suite quickly, basically after applying the patch and rebuilding the package, the vmware-networks and vmware-usbarbitrator services will only start after hitting play on a virtual machine.

https://gist.github.com/class101/8ecb2c6dc8ebb7428a01eb56b2c5f9c5

I don't think it is necessary to implement the stop, it seems outside the scope of the unit files, maybe there is something possible to do with the PathChanged= statement as it seem to trigger on file closed, well I've not tested this yet, I'm just doing a bash alias as the following one in /etc/bash.bashrc, but if someone find a proper way to implement the stop, feel free to share :)

alias vmware-stop='systemctl stop vmware-usbarbitrator.service vmware-networks.service'

Let me know if you have any more questions, you are welcome :)

[1] https://www.freedesktop.org/software/systemd/man/systemd.html
[2] https://www.freedesktop.org/software/systemd/man/systemd.socket.html
[3] https://www.freedesktop.org/software/systemd/man/systemd.path.html

jihem commented on 2021-06-07 16:41 (UTC)

@class101 That is an interesting idea. I'm not familiar with .socket files and I don't know if it is possible, but it seems to be complicated because it requires that a program started with an unprivileged user starts a root service. We also need to be careful that it may be seen as a security vulnerability.

I'm not motivated enough to search a solution myself, but if someone suggests an elegant solution I could implement it.

class101 commented on 2021-06-07 13:59 (UTC) (edited on 2021-06-07 14:13 (UTC) by class101)

@jihem

What would have been awesome, but not sure how is it technically possible, is that instead of asking to enable service files, you could provide .socket files so that the socket will be reponsible of starting the services files when vmware is started, and stopped when vmware is stopped.

It is a good practice under Linux to have the fewest permanent services running, there should be a good reason for a service to run permanently, there is no reason for vmware, and I'm definitely not going to leave them enabled when I don't need them, I will instead start them just before starting up vmware and next boot they won't start automatically.

Like the cups and printers services, logrotate, fstrim, they all use .timer or .socket to work around the need of having services running Permanently, we are on Linux not Windows, Windows is what Windows is today, a big dung that gets slow over time, because of such bad practice :D

strayArch commented on 2021-05-21 23:29 (UTC)

16.1.2 builds, installs, and starts on testing... Thanks!

Morta commented on 2021-05-19 19:45 (UTC)

[quote] GNU nano 5.7 /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/make.log
cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmmon-only/linux/hostif.o] Fehler 1 make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmmon-only/common/apic.o] Fehler 1 cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmmon-only/common/comport.o] Fehler 1 cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmmon-only/common/crosspage.o] Fehler 1 cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmmon-only/common/cpuid.o] Fehler 1 make[2]: [Makefile:1851: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmmon-only] Fehler 2 make[2]: Verzeichnis „/usr/lib/modules/5.12.3-arch1-1/build“ wird verlassen make[1]: [Makefile:121: vmmon.ko] Fehler 2 make[1]: Verzeichnis „/var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmmon-only“ wird verlassen make: [Makefile:10: vmmon.ko] Fehler 2 make: Es wird auf noch nicht beendete Prozesse gewartet.... CC [M] /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/driver.o CC [M] /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/hub.o CC [M] /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/userif.o CC [M] /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/netif.o CC [M] /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/bridge.o CC [M] /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/procfs.o CC [M] /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/smac_compat.o CC [M] /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/smac.o cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/driver.o] Fehler 1 make[3]: Es wird auf noch nicht beendete Prozesse gewartet.... make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/hub.o] Fehler 1 make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/userif.o] Fehler 1 cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/netif.o] Fehler 1 make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/bridge.o] Fehler 1 cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/procfs.o] Fehler 1 make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/smac_compat.o] Fehler 1 cc1: Fehler: incompatible gcc/plugin versions cc1: Fehler: Plugin ./scripts/gcc-plugins/structleak_plugin.so kann nicht initialisiert werden make[3]: [scripts/Makefile.build:271: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only/smac.o] Fehler 1 make[2]: [Makefile:1851: /var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only] Fehler 2 make[2]: Verzeichnis „/usr/lib/modules/5.12.3-arch1-1/build“ wird verlassen make[1]: [Makefile:121: vmnet.ko] Fehler 2 make[1]: Verzeichnis „/var/lib/dkms/vmware-workstation/16.1.2_17966106/build/vmnet-only“ wird verlassen make: *** [Makefile:10: vmnet.ko] Fehler 2 [/quote]