VMware Communities
valerio_vanni
Enthusiast
Enthusiast
Jump to solution

Workstation 12.5.7 highest linux kernel supported

What is the maximum recent kernel supported natively from Vmware Workstation 12.5.7?

I've tried with many and it always fails: 4.12.3, 4.11.12, 4.9.39.

Compiling of VMCI and vsocket fails.

Now I'm going to try 4.1.42, but I ask what is the highest version natively supported.

I used my old kernel configuration file, working on 3.13.11.

Is there something to activate or deactivate with 4.x kernels in order to get Workstation working?

0 Kudos
1 Solution

Accepted Solutions
dariusd
VMware Employee
VMware Employee
Jump to solution

I don't know when vmci and vsock made it into the Linux kernel, but it was at least a few years ago... somewhere in the 3.x timeframe.

I agree that if VMware Workstation is building the vmci and vsock modules itself, it probably means that your host is not providing them.

Which distro are you running?  (My guess, from the way you talk about kernel configs, would be Gentoo.  :smileysilly:)

The config option you seek is probably VMWARE_VMCI_VSOCKETS, which should require/enable VSOCKETS and VMWARE_VMCI.  Build your kernel with those included (or build the modules and load them), and Workstation should no longer try to build them for you.

Cheers,

--

Darius

View solution in original post

6 Replies
dariusd
VMware Employee
VMware Employee
Jump to solution

You should not be building vmci and vsock from the VMware sources anymore.  Only build vmmon and vmnet.

Newer Linux kernels all include their own vmci and vsock drivers.  VMware contributed those drivers back to the Linux kernel, and those are basically guaranteed to work with your kernel -- use those instead.  We only include the vmci and vsock sources in the VMware Workstation distribution for those older Linux kernel versions which pre-date the availability of vmci/vsock in the kernel.

VMware Workstation 12.5.7 should work on kernel versions up to and including 4.12.

As always, some patching of the kernel module sources might be necessary depending on your host OS.  In particular, we have seen some recent changes in openSuSE Leap 42.3 which break our compatibility wrappers.  But most OS distributions and vanilla kernels should have no trouble building our drivers, all the way up to kernel 4.12.

Cheers,

--

Darius

valerio_vanni
Enthusiast
Enthusiast
Jump to solution

You should not be building vmci and vsock from the VMware sources anymore.  Only build vmmon and vmnet.

I didn't request it to build them, installer (and further executions of "vmware") do it automatically.

Perhaps i need a switch to prevent it from building them.

Or perhaps my kernel it's missing them and this causes installer to try building them.

Newer Linux kernels all include their own vmci and vsock drivers.  VMware contributed those drivers back to the Linux kernel, and those are basically guaranteed to work with your kernel -- use those instead.  We only include the vmci and vsock sources in the VMware Workstation distribution for those older Linux kernel versions which pre-date the availability of vmci/vsock in the kernel.

VMware Workstation 12.5.7 should work on kernel versions up to and including 4.12.

How much "newer" kernels?

It's my first try with kernel 4, at the moment I simply took .config from 3.13.11 working kernel.

I haven't reviewed the configuration yet.

I'm going to look at it, is there some specific option to activate?

0 Kudos
dariusd
VMware Employee
VMware Employee
Jump to solution

I don't know when vmci and vsock made it into the Linux kernel, but it was at least a few years ago... somewhere in the 3.x timeframe.

I agree that if VMware Workstation is building the vmci and vsock modules itself, it probably means that your host is not providing them.

Which distro are you running?  (My guess, from the way you talk about kernel configs, would be Gentoo.  :smileysilly:)

The config option you seek is probably VMWARE_VMCI_VSOCKETS, which should require/enable VSOCKETS and VMWARE_VMCI.  Build your kernel with those included (or build the modules and load them), and Workstation should no longer try to build them for you.

Cheers,

--

Darius

valerio_vanni
Enthusiast
Enthusiast
Jump to solution

I tried to enable as modules

VMware VMCI Driver (VMWARE_VMCI)

Virtual Socket protocol (VSOCKETS)

and now Workstation is starting.

Now I see another option:

VMware VMCI transport for Virtual Sockets (VMWARE_VMCI_VSOCKETS)

This module implements a VMCI transport for Virtual Sockets.

Enable this transport if your Virtual Machine runs on a VMware
hypervisor.

Is it worth to select it? Does it conflict with the other two?

It seem to be needed for a Linux guest.

My distribution is Debian Wheezy, but I use a vanilla kernel.

0 Kudos
valerio_vanni
Enthusiast
Enthusiast
Jump to solution

There is no conflict... as you said, VMWARE_VMCI_VSOCKETS depends on the other two.

I tried to enable it, and it works (like with only the other two).

Perhaps, Workstation should handle better this issue.

If these modules don't work and are not needed on newer kernels,  why it should try to compile them?

It would be better a warning "Your kernel lacks VMCI etc etc"

0 Kudos
dariusd
VMware Employee
VMware Employee
Jump to solution

Good to hear that things are up and running!

I have never delved into what each of the components does in too much detail.  The kernel config documentation says that it's used when running in a guest, so it's most likely needed for some functionality of VMware Tools.

I don't think the kernel components can conflict with each other... they build upon each other.  VMCI is sort of like a new class of network/communication device -- think "Ethernet" -- and vSocket is a new type of network protocol -- think "IPv4".  VMWARE_VMCI will build in the "Ethernet" like driver.  VSOCKETS will include knowledge of the "IPv4"-like protocol.  VMWARE_VMCI_VSOCKETS will include support for communicating using vSockets with other virtual machines via the VMCI communication device, like saying "yes, we can send IPv4 over Ethernet"..  That's how I think of them, anyway... Hopefully it is helpful and not too misleading.  I don't quite understand how VSOCKETS is useful without VMWARE_VMCI_VSOCKETS.  :smileyconfused:

I use Debian too, but it's been many years since I last built my own kernel for it, back when I had a Linux-hostile laptop with terrible Wi-Fi hardware and I needed to patch the mac80211 driver or something similar.  I don't hear of too many people hacking around with kernels on Debian, but maybe I don't hang out with the right crowd.  Have fun!

Cheers,

--

Darius

0 Kudos