VMware Workstation with Kernel 6.6

Since a recent update (kernel 6.6?), the VMware vmnet module is failing to load.

sudo systemctl status vmware.service 
× vmware.service - VMware host virtualization and network services for Workstation
     Loaded: loaded (/usr/lib/systemd/system/vmware.service; disabled; preset: disabled)
     Active: failed (Result: exit-code) since Fri 2023-12-08 21:17:27 PST; 1s ago
    Process: 7456 ExecStart=/usr/lib/vmware/scripts/init/vmware start (code=exited, status=1/FAILURE)
        CPU: 91ms

Dec 08 21:17:23 Ken-System76 systemd[1]: Starting VMware host virtualization and network services for Workstation...
Dec 08 21:17:23 Ken-System76 vmware[7456]: Starting VMware services:
Dec 08 21:17:23 Ken-System76 vmware[7456]:    Virtual machine monitor - done
Dec 08 21:17:23 Ken-System76 vmware[7456]:    Virtual machine communication interface - done
Dec 08 21:17:23 Ken-System76 vmware[7456]:    VM communication interface socket family - done
Dec 08 21:17:27 Ken-System76 vmware[7456]:    Virtual ethernet - failed
Dec 08 21:17:27 Ken-System76 vmware[7456]:    VMware Authentication Daemon - done
Dec 08 21:17:27 Ken-System76 systemd[1]: vmware.service: Control process exited, code=exited, status=1/FAILURE
Dec 08 21:17:27 Ken-System76 systemd[1]: vmware.service: Failed with result 'exit-code'.
Dec 08 21:17:27 Ken-System76 systemd[1]: Failed to start VMware host virtualization and network services for Workstation.

Any ideas how to fix this?

(I already did “sudo vmware-modconfig --console --install-all”, as I do after every kernel update.)

There are several topics here that talk about the external repo to use for the VMware kernel modules - those instructions should resolve your issues.

Though I seem to recall with VMware Workstation 17.5 (which I’m running), I didn’t need to do that.

I am running VMware Workstation 17.5.0 build-22583795 on Tumbleweed 20231207. vmnet fails to load. I tried uninstall / reinstall - no change.

Can you point me to “several topics here that talk about the external repo”? I am not finding them…

VMware Modules won't compile under Tumbleweed - for example.

I searched for “vmware modules”.

I searched for the same thing, and did not find it. (That is how my week has been going…)

I just did:

git clone --branch workstation-17.5.0 https://github.com/mkubecek/vmware-host-modules
cd vmware-host-modules/
make
sudo make install

and a reboot. Still having the same problem.

Did I miss something? Any other ideas?

What was the output from the make? The outputs from the commands are probably more important than the commands themselves, but you should copy/paste the entire session so we can see what errors the build process received.

Chances are there’s some development packages missing.

Here is the output from “make”:

make -C vmmon-only 
make[1]: Entering directory '/usr/local/src/github/vmware-host-modules/vmmon-only'
Using kernel build system.
make -C /lib/modules/6.6.3-1-default/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-6.6.3-1-obj/x86_64/default'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (SUSE Linux) 13.2.1 20230912 [revision b96e66fd4ef3e36983969fb8cdd1956f551a074b]
  You are using:           gcc (SUSE Linux) 13.2.1 20231130 [revision 741743c028dc00f27b9c8b1d5211c1f602f2fddd]
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/linux/driver.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/linux/driverLog.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/linux/hostif.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/apic.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/comport.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/cpuid.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/crosspage.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/memtrack.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/moduleloop.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/phystrack.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/sharedAreaVmmon.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/statVarsVmmon.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/task.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/common/vmx86.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/bootstrap/bootstrap.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/bootstrap/monLoader.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/bootstrap/monLoaderVmmon.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/bootstrap/vmmblob.o
  LD [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/vmmon.o
  MODPOST /usr/local/src/github/vmware-host-modules/vmmon-only/Module.symvers
  CC [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/vmmon.mod.o
  LD [M]  /usr/local/src/github/vmware-host-modules/vmmon-only/vmmon.ko
  BTF [M] /usr/local/src/github/vmware-host-modules/vmmon-only/vmmon.ko
Skipping BTF generation for /usr/local/src/github/vmware-host-modules/vmmon-only/vmmon.ko due to unavailability of vmlinux
make[2]: Leaving directory '/usr/src/linux-6.6.3-1-obj/x86_64/default'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[2]: Entering directory '/usr/local/src/github/vmware-host-modules/vmmon-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/usr/local/src/github/vmware-host-modules/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make[1]: Leaving directory '/usr/local/src/github/vmware-host-modules/vmmon-only'
make -C vmnet-only 
make[1]: Entering directory '/usr/local/src/github/vmware-host-modules/vmnet-only'
Using kernel build system.
make -C /lib/modules/6.6.3-1-default/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-6.6.3-1-obj/x86_64/default'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (SUSE Linux) 13.2.1 20230912 [revision b96e66fd4ef3e36983969fb8cdd1956f551a074b]
  You are using:           gcc (SUSE Linux) 13.2.1 20231130 [revision 741743c028dc00f27b9c8b1d5211c1f602f2fddd]
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/driver.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/hub.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/userif.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/netif.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/bridge.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/procfs.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/smac_compat.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/smac.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/vnetEvent.o
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/vnetUserListener.o
  LD [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/vmnet.o
  MODPOST /usr/local/src/github/vmware-host-modules/vmnet-only/Module.symvers
  CC [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/vmnet.mod.o
  LD [M]  /usr/local/src/github/vmware-host-modules/vmnet-only/vmnet.ko
  BTF [M] /usr/local/src/github/vmware-host-modules/vmnet-only/vmnet.ko
Skipping BTF generation for /usr/local/src/github/vmware-host-modules/vmnet-only/vmnet.ko due to unavailability of vmlinux
make[2]: Leaving directory '/usr/src/linux-6.6.3-1-obj/x86_64/default'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[2]: Entering directory '/usr/local/src/github/vmware-host-modules/vmnet-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/usr/local/src/github/vmware-host-modules/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make[1]: Leaving directory '/usr/local/src/github/vmware-host-modules/vmnet-only'

OK, that looks fine. What is the output from make install?

Did you try loading the modules post-install?

I just re (re, re, re)-did this, to capture the output. This time it works! The only thing I know of that is different is that I installed VirtualBox (needed to get something working). Is it possible that the VirtualBox installation did something to make VMware work?

Anyway, here is the output from “sudo make install”:

install -D -t /lib/modules/6.6.3-1-default/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko
strip --strip-debug /lib/modules/6.6.3-1-default/misc/vmmon.ko /lib/modules/6.6.3-1-default/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 6.6.3-1-default; fi

I am not sure what you mean by “loading the modules”. I did “sudo systemctl restart vmware.service”, stop / start, reboot, power off and back on, etc. I was still getting the same error as in my original post.

I don’t think VB does anything that would make this work - if you rebooted the system, the installed kernel modules would probably automatically load, so it may just have been that they weren’t loaded.

Either way, I’m glad you got it working!