Kernel 5.8.0-40-generic (Ubuntu 20.04)
Vmplayer 15.5.6
After a kernel upgrade as usual Vmplayer is broken, I tried to fix it with mkubeceks patch: https://github.com/baryonix/vmware-host-modules/tree/fixes-for-5.8
However this time it didn't work. After issuing "sudo make install" command I get error:
Version mismatch: module vmmon-only/vmmon.ko 5.8.0-38-generic, kernel 5.8.0-40-generic
Version mismatch: module vmnet-only/vmnet.ko 5.8.0-38-generic, kernel 5.8.0-40-generic
make: *** [Makefile:35: install] Fehler 1
If I try sudo vmware-modconfig --console --install-all I get no response, however trying to launch a VM I receive error:
Could not open /dev/vmmon: Datei oder Verzeichnis nicht gefunden.
Please make sure that the kernel module `vmmon' is loaded.
Trying to load module fails, "sudo modprobe -a vmmon" gives:
modprobe: WARNING: Module vmmon not found in directory /lib/modules/5.8.0-40-generic
Any ideas?
Thank you mkubecek, this gave me the right hint. I think my mistake was simply to have used the old unpacked archive which I used last time! I deleted the old unpacked directory and tried again from beginning and now it is working!
The error message says clearly what the problem is: you built the module against one kernel (5.8.0-38-generic) and tried to install it into another (5.8.0-40-generic). Either use the same value of VM_UNAME for both "make" and "make install" or don't use VM_UNAME for either. (Another possible - even if unlikely - explanation is that you built the module with "make" while running one kernel, then rebooted to a different one and tried to install it with "make install".)
Thanks for your reply. What I did was the same procedure as always, only this time I did mistakenly "sudo make". Could this be related to the error?
wget https://github.com/mkubecek/vmware-host-modules/archive/player-15.5.6.tar.gz
tar -xzf player-15.5.6.tar.gz
cd vmware-host-modules-player-15.5.6
sudo make
sudo make install
After this failed with above error message, I tried with the second command (only with player and 15.5.6):
wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-14.1.1.tar.gz
tar -xzf workstation-14.1.1.tar.gz
cd vmware-host-modules-workstation-14.1.1
tar -cf vmmon.tar vmmon-only
tar -cf vmnet.tar vmnet-only
cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/
vmware-modconfig --console --install-all
I did not reboot to a different kernel, at least I should have noticed.
I'm not sure on how to proceed.
Thank you mkubecek, this gave me the right hint. I think my mistake was simply to have used the old unpacked archive which I used last time! I deleted the old unpacked directory and tried again from beginning and now it is working!
This makes sense, you probably upgraded your kernel between running the previous build and now. In that case, running "make clean" before "make" would clean up the previous build and enforce building from scratch again.
One more note: "make" does not need root privileges, only "make install".
I tried two things,
I compiled files from vmmon.tar of VMware Worksation 15.5.7 and installed vmmon,ko manually. I verified installation by lsmod | grep vmmon. This does not change things at all. /opt/vmware/bin/vmware stops with segmentation fault.
I just tried vmware-player 16.1.0 on groovy. It works fine.
The segfault is a bug in the userspace part of VMware Workstation, not related to kernel modules. It has been discussed multiple times already, see e.g.