mkubecek / vmware-host-modules

Patches needed to build VMware (Player and Workstation) host modules against recent kernels
GNU General Public License v2.0
2.25k stars 362 forks source link

vmware 17.6 :: modules version mismatch #278

Open Hyphaed opened 1 week ago

Hyphaed commented 1 week ago

Official installation doesn't have compatibility with vmware 17.6 + kernel 6.11

I'm getting this error when using last @mkubecek files >>

Version mismatch with vmmon module: expecting 417.0, got 416.0. You have an incorrect version of the 'vmmon' kernel module. Try reinstalling VMware Workstation.

dkchi-001 commented 1 week ago

me, too with kernel 6.10.7

marplusz commented 1 week ago

Linux fedora 6.10.6-200.fc40.x86_64. It compiled without errors.

git clone -b workstation-17.5.2-k6.9+ https://github.com/nan0desu/vmware-host-modules.git 
cd vmware-host-modules
make
sudo make install
Chaz6 commented 1 week ago

Linux fedora 6.10.6-200.fc40.x86_64. It compiled without errors.

Whilst it compiles fine, if you try to run a virtual machine, the error appears:-

Version mismatch with vmmon module: expecting 417.0, got 416.0

Chaz6 commented 1 week ago

With this patch I was able to boot a Fedora 40 vm to desktop running on a Fedora 40 host. YMMV!

diff --git a/vmmon-only/include/iocontrols.h b/vmmon-only/include/iocontrols.h
index 74bbe6c..6e39eea 100644
--- a/vmmon-only/include/iocontrols.h
+++ b/vmmon-only/include/iocontrols.h
@@ -146,7 +146,7 @@ PtrToVA64(void const *ptr) // IN
  * the NT specific VMX86_DRIVER_VERSION.
  */

-#define VMMON_VERSION           (416 << 16 | 0)
+#define VMMON_VERSION           (417 << 16 | 0)
 #define VMMON_VERSION_MAJOR(v)  ((uint32) (v) >> 16)
 #define VMMON_VERSION_MINOR(v)  ((uint16) (v))
alasad311 commented 1 week ago

@Chaz6 When i tried your patch, i wasn't able to boot Centos nor windows 10. However, i was able to boot windows server 2012

talp1 commented 1 week ago

Hi @Chaz6, your patch works for me to start Win10 (host Fedora 40 fully update)

Thanks

rickychii commented 1 week ago

Thanks @Chaz6 your patch is working good also for me. My host is Linux Lite 7.0 on Kernel 6.8.

stueyschnauzer commented 1 week ago

I just tried the above patch on my debian trixie (12+) with kernel 6.10.6-amd64 and everything builds, but when I attempt to open a known good working vmware guest (win 11) I get: image

A broken pipe. So it seems that the issue is deeper than just a simple version control edit. Since Broadcom has moved everything over to their new support site, I am going to guess that Mike may have issues putting together a new release. Any ideas of other ways to get this fixed?

MrSilverstrings commented 1 week ago

Same problem for me on Ubuntu 24.04.1 LTS. Compiling is fine though.

image

rakotomandimby commented 1 week ago

Did you all try with the stock VMware modules? For 17.6, I didnt have to compile from the modules of this repository:

[root@universe Downloads]# vmware-modconfig --console --install-all
[AppLoader] GLib does not have GSettings support.
make: Entering directory '/tmp/modconfig-bEir0a/vmmon-only'
Using kernel build system.
/sbin/make -C /lib/modules/6.6.49-1-lts/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/6.6.49-1-lts/build'
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/comport.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/cpuid.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/crosspage.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/moduleloop.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/phystrack.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/sharedAreaVmmon.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/statVarsVmmon.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/bootstrap/bootstrap.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/bootstrap/monLoader.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/bootstrap/monLoaderVmmon.o
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/bootstrap/vmmblob.o
  LD [M]  /tmp/modconfig-bEir0a/vmmon-only/vmmon.o
  MODPOST /tmp/modconfig-bEir0a/vmmon-only/Module.symvers
  CC [M]  /tmp/modconfig-bEir0a/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/modconfig-bEir0a/vmmon-only/vmmon.ko
  BTF [M] /tmp/modconfig-bEir0a/vmmon-only/vmmon.ko
make[1]: Leaving directory '/usr/lib/modules/6.6.49-1-lts/build'
/sbin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-bEir0a/vmmon-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-bEir0a/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory '/tmp/modconfig-bEir0a/vmmon-only'
make: Entering directory '/tmp/modconfig-bEir0a/vmnet-only'
Using kernel build system.
/sbin/make -C /lib/modules/6.6.49-1-lts/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/6.6.49-1-lts/build'
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/netif.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/smac.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/vnetEvent.o
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/vnetUserListener.o
  LD [M]  /tmp/modconfig-bEir0a/vmnet-only/vmnet.o
/tmp/modconfig-bEir0a/vmnet-only/vmnet.o: warning: objtool: VNetCsumCopyDatagram+0x52: call to csum_partial_copy_nocheck() with UACCESS enabled
/tmp/modconfig-bEir0a/vmnet-only/vmnet.o: warning: objtool: init_module(): not an indirect call target
/tmp/modconfig-bEir0a/vmnet-only/vmnet.o: warning: objtool: cleanup_module(): not an indirect call target
  MODPOST /tmp/modconfig-bEir0a/vmnet-only/Module.symvers
  CC [M]  /tmp/modconfig-bEir0a/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/modconfig-bEir0a/vmnet-only/vmnet.ko
  BTF [M] /tmp/modconfig-bEir0a/vmnet-only/vmnet.ko
make[1]: Leaving directory '/usr/lib/modules/6.6.49-1-lts/build'
/sbin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-bEir0a/vmnet-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-bEir0a/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory '/tmp/modconfig-bEir0a/vmnet-only'
[root@universe Downloads]# 
Hyphaed commented 1 week ago

@rakotomandimby you are on Kernel 6.6

we are talking about 6.10 and 6.11

rakotomandimby commented 1 week ago

@Hyphaed , you are right.

But I think the purpose of this repository is to be tried if the vmware workstation embeded code fails.

So at least, a few people should try the embeded ones.

rakotomandimby commented 1 week ago

@Chaz6 ,

Just for curiosity, I compared stock vmware vmmon-only and vmnet-only with those of the branch workstation-17.5.1.

We can see that the fix you proposed is already bundled by VMware

So, for this specific problem , building from stock vmware vmmon-only and vmnet-only would have been OK.

My guess is there must be a catchup of what is bundled by VMWare.

Cc @mkubecek

stueyschnauzer commented 1 week ago

Again, I am on debian with kernel 6.10.6 and trying to run workstation 17.6.0.

I just tried using this repo instead, where they had patched for 17.5.2 https://github.com/bytium/vm-host-modules.git

Then I patched +#define VMMON_VERSION (417 << 16 | 0)

VMware had already fixed a few of the earlier reported issues with defines.

Everything built and installed. Workstation starts with no complaints. But when I try to launch a vm, there is still a broken pipe and the vm fails to run.

This exhaust my skills in trying to fix this. Need a pro like mkubecek or bytium to make mods. Till then I will just wait.

jusefn commented 1 week ago

I have created a Gist with the relevant patches needed to get the modules compile and work with the latest VMware, using the source provided by VMware/Broadcom located in /usr/lib/vmware/modules/source/ https://gist.github.com/jusefn/0157a91c95a12e017ee8b7e79514eb5f

Booted up Windows 11 and seems to work fine. (Kernel 6.10.7, Fedora Workstation 40)

dkchi-001 commented 1 week ago

I found VMware workstation 17.6 works on Archlinux. https://aur.archlinux.org/packages/vmware-workstation I found patch for vmmon and vmnet in this page. https://aur.archlinux.org/cgit/aur.git/tree/vmmon.patch?h=vmware-workstation https://aur.archlinux.org/cgit/aur.git/tree/vmnet.patch?h=vmware-workstation Referring to this page, I hand-patched original vmmon and vmnet, and tested.

Test 1: Host OS: Fedora 41 beta Xfce on Kernel 6.10.8: Guest OS: Archlinux result: Recompile, running VM is OK. No error. Test 2: Host OS: Xubuntu 24.10 daily build on Kernel 6.10.8-2-liquorix-amd64: Guest OS: Fedora 41 beta Xfce result: Recompile, running VM is OK. No error. Test 3: Host OS: Fedora 41 beta Xfce on Kernel 6.11.0-rc7: Guest OS: Windows 11 24H2 RP result: Recompile, running VM is OK. No error.

Patched vmmon.tar and vmnet.tar is as follows: vmmon.tar.zip vmnet.tar.zip If you use this files, please backup original vmmon.tar and vmnet.tar.

DaRandomCube commented 1 week ago

I found VMware workstation 17.6 works on Archlinux. https://aur.archlinux.org/packages/vmware-workstation I found patch for vmmon and vmnet in this page. https://aur.archlinux.org/cgit/aur.git/tree/vmmon.patch?h=vmware-workstation https://aur.archlinux.org/cgit/aur.git/tree/vmnet.patch?h=vmware-workstation Referring to this page, I hand-patched original vmmon and vmnet, and tested.

Test 1: Host OS: Fedora 41 beta Xfce on Kernel 6.10.8: Guest OS: Archlinux result: Recompile, running VM is OK. No error. Test 2: Host OS: Xubuntu 24.10 daily build on Kernel 6.10.8-2-liquorix-amd64: Guest OS: Fedora 41 beta Xfce result: Recompile, running VM is OK. No error.

Patched vmmon.tar and vmnet.tar is as follows: vmmon.tar.zip vmnet.tar.zip If you use this files, please backup original vmmon.tar and vmnet.tar.

But I tested on "stable" kernel only. I don't know this patched files work on "mainline" kernel.

where to place them?

dkchi-001 commented 1 week ago

I found VMware workstation 17.6 works on Archlinux. https://aur.archlinux.org/packages/vmware-workstation I found patch for vmmon and vmnet in this page. https://aur.archlinux.org/cgit/aur.git/tree/vmmon.patch?h=vmware-workstation https://aur.archlinux.org/cgit/aur.git/tree/vmnet.patch?h=vmware-workstation Referring to this page, I hand-patched original vmmon and vmnet, and tested. Test 1: Host OS: Fedora 41 beta Xfce on Kernel 6.10.8: Guest OS: Archlinux result: Recompile, running VM is OK. No error. Test 2: Host OS: Xubuntu 24.10 daily build on Kernel 6.10.8-2-liquorix-amd64: Guest OS: Fedora 41 beta Xfce result: Recompile, running VM is OK. No error. Patched vmmon.tar and vmnet.tar is as follows: vmmon.tar.zip vmnet.tar.zip If you use this files, please backup original vmmon.tar and vmnet.tar.

where to place them?

/usr/lib/vmware/modules/source/

stueyschnauzer commented 1 week ago

Thank you dkchi-001, DaRandomCube, and jusefn. I am still getting image

Debian trixie with kernel 6.10.6 and ws 17.6.0

  1. Deinstall WS entirely, including configuration
  2. Reinstall WS fresh
  3. Copy vmnet.tar and vmmon.tar from /usr/lib/vmware/modules/source/ to ~/Downloads/vmwaremods
  4. Moved /usr/lib/vmware/modules/source/vmnet.tar and vmmon.tar to .sav files
  5. Detared files in my working directory
  6. Applied patches from jusefn to both vmmon and vmnet
  7. Tared up both patched source
  8. Move new tar files to /usr/lib/vmware/modules/source/
  9. Ran vmware-modconfig --console --install-all
  10. Everything installs and builds correctly
  11. Modules show loaded in lsmod
  12. Launch a small debian iso test file newly built. Pipe broken and cannot start
  13. Launch known good win 11 vm, same broken pipe.

So it looks like the patches do not fix for my specific kernel which is the current version in Debian Trixie. I will investigate some more. Thanks for all your efforts.

bytium commented 1 week ago

Again, I am on debian with kernel 6.10.6 and trying to run workstation 17.6.0.

I just tried using this repo instead, where they had patched for 17.5.2 https://github.com/bytium/vm-host-modules.git

Then I patched +#define VMMON_VERSION (417 << 16 | 0)

VMware had already fixed a few of the earlier reported issues with defines.

Everything built and installed. Workstation starts with no complaints. But when I try to launch a vm, there is still a broken pipe and the vm fails to run.

This exhaust my skills in trying to fix this. Need a pro like mkubecek or bytium to make mods. Till then I will just wait.

Try this: https://github.com/bytium/vm-host-modules/tree/17.6

MrSilverstrings commented 6 days ago

Again, I am on debian with kernel 6.10.6 and trying to run workstation 17.6.0. I just tried using this repo instead, where they had patched for 17.5.2 https://github.com/bytium/vm-host-modules.git Then I patched +#define VMMON_VERSION (417 << 16 | 0) VMware had already fixed a few of the earlier reported issues with defines. Everything built and installed. Workstation starts with no complaints. But when I try to launch a vm, there is still a broken pipe and the vm fails to run. This exhaust my skills in trying to fix this. Need a pro like mkubecek or bytium to make mods. Till then I will just wait.

Try this: https://github.com/bytium/vm-host-modules/tree/17.6

Worked for me on Ubuntu 24.04.1 LTS WS 17.6!

Rhadoo824 commented 6 days ago

I found VMware workstation 17.6 works on Archlinux. https://aur.archlinux.org/packages/vmware-workstation I found patch for vmmon and vmnet in this page. https://aur.archlinux.org/cgit/aur.git/tree/vmmon.patch?h=vmware-workstation https://aur.archlinux.org/cgit/aur.git/tree/vmnet.patch?h=vmware-workstation Referring to this page, I hand-patched original vmmon and vmnet, and tested.

Test 1: Host OS: Fedora 41 beta Xfce on Kernel 6.10.8: Guest OS: Archlinux result: Recompile, running VM is OK. No error. Test 2: Host OS: Xubuntu 24.10 daily build on Kernel 6.10.8-2-liquorix-amd64: Guest OS: Fedora 41 beta Xfce result: Recompile, running VM is OK. No error.

Patched vmmon.tar and vmnet.tar is as follows: vmmon.tar.zip vmnet.tar.zip If you use this files, please backup original vmmon.tar and vmnet.tar.

But I tested on "stable" kernel only. I don't know this patched files work on "mainline" kernel.

I am using Fedora 40 with kernel v6.10.7-200.fc40.x86_64 and using your patched vmmon and vmnet tars I was able to bring back to life my VMware Workstation 17.6.0. I am running Windows 7 VMs, Windows 11 and Oracle Linux ones. All start and work fine after testing.

Kitsune64 commented 6 days ago

Again, I am on debian with kernel 6.10.6 and trying to run workstation 17.6.0. I just tried using this repo instead, where they had patched for 17.5.2 https://github.com/bytium/vm-host-modules.git Then I patched +#define VMMON_VERSION (417 << 16 | 0) VMware had already fixed a few of the earlier reported issues with defines. Everything built and installed. Workstation starts with no complaints. But when I try to launch a vm, there is still a broken pipe and the vm fails to run. This exhaust my skills in trying to fix this. Need a pro like mkubecek or bytium to make mods. Till then I will just wait.

Try this: https://github.com/bytium/vm-host-modules/tree/17.6

This method work on Debian 12 Thanks!

ziprasidone146939277 commented 3 days ago

Try this: https://github.com/bytium/vm-host-modules/tree/17.6

It worked, thank You.

MarkusC-2992 commented 1 day ago

I found VMware workstation 17.6 works on Archlinux. https://aur.archlinux.org/packages/vmware-workstation I found patch for vmmon and vmnet in this page. https://aur.archlinux.org/cgit/aur.git/tree/vmmon.patch?h=vmware-workstation https://aur.archlinux.org/cgit/aur.git/tree/vmnet.patch?h=vmware-workstation Referring to this page, I hand-patched original vmmon and vmnet, and tested.

Test 1: Host OS: Fedora 41 beta Xfce on Kernel 6.10.8: Guest OS: Archlinux result: Recompile, running VM is OK. No error. Test 2: Host OS: Xubuntu 24.10 daily build on Kernel 6.10.8-2-liquorix-amd64: Guest OS: Fedora 41 beta Xfce result: Recompile, running VM is OK. No error. Test 3: Host OS: Fedora 41 beta Xfce on Kernel 6.11.0-rc7: Guest OS: Windows 11 24H2 RP result: Recompile, running VM is OK. No error.

Patched vmmon.tar and vmnet.tar is as follows: vmmon.tar.zip vmnet.tar.zip If you use this files, please backup original vmmon.tar and vmnet.tar.

Thanks, I tried this, but I couldn't get it working on Manjaro

mtbykn commented 1 day ago

With this patch I was able to boot a Fedora 40 vm to desktop running on a Fedora 40 host. YMMV!

diff --git a/vmmon-only/include/iocontrols.h b/vmmon-only/include/iocontrols.h
index 74bbe6c..6e39eea 100644
--- a/vmmon-only/include/iocontrols.h
+++ b/vmmon-only/include/iocontrols.h
@@ -146,7 +146,7 @@ PtrToVA64(void const *ptr) // IN
  * the NT specific VMX86_DRIVER_VERSION.
  */

-#define VMMON_VERSION           (416 << 16 | 0)
+#define VMMON_VERSION           (417 << 16 | 0)
 #define VMMON_VERSION_MAJOR(v)  ((uint32) (v) >> 16)
 #define VMMON_VERSION_MINOR(v)  ((uint16) (v))

Worked for me using version 17.6.0.