UPDATE: These patches are obsoleted by Workstatioin 7.1.4, for which only a BKL-less kernel needs any patch (to vmnet).
Attached is the patch for VMware Workstation 7.1.3 on Linux Kernel 2.6.37. Tested against Ubuntu Natty 11.04 2.6.37-2-generic.
The patch also includes the necessary change for 2.6.36, and should work with both kernels, since the 2.6.37 change is protected by a version check. The plain 2.6.36 patch, which does not support 2.6.37 is available here.
List of changes:
define VMW_HAVE_UNLOCKED_IOCTL in vmmon's driver.c as required for 2.6.36
the semaphore patch for 2.6.37, applied only to those modules that actually need it: vmci, vmnet, and vsock.
[UPDATE: The attached patch is updated to work through 2.6.37-11]
Updated to reflect Workstation 7.1.4.
Hi, I tried to apply vmware-7.1.3-2.6.37-6-generic.patch to kernel 2.6.37-9-generic but don't work. Can anyone update the patch? Thanks!!!!
I have the exact same problem myself under Ubuntu Natty x64 (fully upgraded to 2.6.37-9 I believe)). Since I can't code at this level and mostly use other people code I will be patient until the excellent developers on this site get around to this (and I'm not pushing what is unpaid labor). VMware has no reason to tackle this at the moment because I doubt any meaningful production is done on a alpha. One could always regress to 2.6.35 or 26.36 of course - they defintely work. Since Natty should probably not be used for production (it's 5 months out) if you need Natty right now you might consider installing 10.10 and then a distribution upgrade (update-manager -d). I've done this with no apparent problems. Then boot in the earlier version of the kernel and install WS on that . Even Debian Squeeze (v 6.) will only be shipping with kernel 2.6.32.
Marty
I'm using Linux Mint 10 x64 (based in Ubuntu 10.10) with Kernel 2.6.37-9-generic
Please, I need the patch for kernel 2.6.37.9-generic 64 bits !!!!!!
This is a moving target. AT the moment l am running Ubuntu natty 64-bit on the newsest kernel 2.6.37-10. I seems to me that what is need coding that will not be tied to the kernel of day (as SUSE describes it0. I have no idea how difficult it is but somebody might address this challenge. I have the Windows version of WS 7.1.3 64-bit while I wait and Virtualbox runs on all platforms. Of course you get what you pay for and VMwaRe has significant enchantments over Virtualbox. I don't know if anybody connected with VMware is reading these threads but I'm guessing a new version of WS wouldn't be released with this criteria in mind until other enchantments that can apply to the Windows version appear in the same release?
Marty
I understand you. Natty will have kernel 2.6.38 when arrive, then update the patch for each kernel .1 .2 .3 update is a big pain. VirtualBox don't have all the options and performance that Vmware bring today.
Virtualbox is getting better but of course its not up to the capabilities of VM WS. Obviously I don't know a thing about VMware code (Virtualbox has an open source version) but patches for kernels should be produced by VMware developers I should think.I am learning to be patient and will await for the evolution of OS' taht aRe still in beta at best - more likely alpha.
Marty
Has anyone (else) tried the updated patch, yet?
Thanks for update your patch, i will download 2.6.37-11 64 bits and test the patch next Monday.
vmware-7.1.3-2.6.37-9-generic.patch is working fine with Debian 2.6.37-rc5 😄
Thanks a lot!
This patch does work as you said (Natty x64 kernel 2.6.37-10) Two minor quibbles
1) Shell script needs to be edited merely to point at the rigaht patcvh name.
2) There wer emessages during the comple - "No protocal slpecified - occured in groups of 4. Don't know if you want to correct this? perhaps related to gcc version? Haven't the faintaesst.
Thanks once more for your time and effodrt!
Marty
I'm a new user of this Community and I need to use/try your patch with my kernel 2.6.36.2 on mandriva (My vmware workstation was working perfectly until the last upgrade of my kernel... now I have : Unable to build kernel module). Could you explain me how to use and install your patch?
Dear Noel and Birdie,
Another big thanks. Just for kicks I installed the latest 2.6.37rc8 kernel in ubuntu 10.10. WS 7.1.3 compiled and runs great.
Do you find the 2.6.37 kernel a bit faster than 2.6.36, or is this just another placebo...?
Cheers and Happy New Year!
MS
This feels like a PEBKAC problem, but I'm stumped. I previously had no problem patching 2.6.36 and previous kernels.
root@aptosidbox:/tmp# uname -r2.6.37-0.slh.1-aptosid-amd64root@aptosidbox:/tmp# sh patch-modules_v61.shYou must be root to run this script. Exitingroot@aptosidbox:/tmp# whoamirootroot@aptosidbox:/tmp# sh ./patch-modules_v61.shYou must be root to run this script. Exitingroot@aptosidbox:/tmp#I see the UID check in the patch script. Why am I not seen as root?:smileyconfused:After commenting out the UID check, and running it, I get the error:Hunk #1 FAILED at 153.Hunk #2 FAILED at 400.2 out of 2 hunks FAILED -- saving rejects to file vmmon-only/linux/iommu.c.rejI tried commenting out those two sections of the script, and running it, but then it fails elsewhere (28 and 41) and still does not do the patching.
I had patched 7.1.3 for 2.6.37 in my Fedora 14 , but it doesn't work.
The output as follow:
[root@Frank vmware_713_kernel_2.6.37_patched]# ./patch-modules_v62.sh
patching file vmci-only/include/compat_semaphore.h
Reversed (or previously applied) patch detected! Assume -R? [n] y
patching file vmnet-only/compat_semaphore.h
Hunk #1 FAILED at 28.
Hunk #2 FAILED at 41.
2 out of 2 hunks FAILED -- saving rejects to file vmnet-only/compat_semaphore.h.rej
patching file vsock-only/shared/compat_semaphore.h
patching file vmmon-only/linux/iommu.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
patching file vmmon-only/linux/driver.c
Hunk #2 FAILED at 170.
1 out of 2 hunks FAILED -- saving rejects to file vmmon-only/linux/driver.c.rej
[root@Frank vmware_713_kernel_2.6.37_patched]#
I think maybe the release 2.6.37 had patched compat_semaphore.h
so, I had modify the patch file and the script shell.
It's fine for me now !
Thanks.
Put my patch and script , Thank you and Artem S. Tashkinov
Thanks. There must be some difference in the way Debian and Fedora records the version information. Here it fails on the version check:
root@aptosidbox:/tmp# sh VMware-Workstation-Full-7.1.3-324285.x86_64.bundleExtracting VMware Installer...done.{ gui installer runs }root@aptosidbox:/tmp# sh patch-modules_2.6.37.sh[: 26: workstation7.1.3: unexpected operator[: 27: workstation7.1.3: unexpected operatorSorry, this script is only for VMWare WorkStation 7.1.3 or VMWare Player 3.1.3. Exiting
You can't re-patch. The patch requires a clean copy of the VMware modules sources.
Thanks Noel. But, I removed (uninstalled) VMware Workstation, then rebooted and installed it clean, and immediately applied the patch, as shown. So the module sources should have been clean and original, no?
The Workstation 7.1.3 2.6.37 patch fails with kernel.org version 2.6.37 (final):
make[1]: Entering directory `/usr/src/linux-2.6.37'
CC [M] /tmp/vmware-root/modules/vmci-only/linux/driver.o
/tmp/vmware-root/modules/vmci-only/linux/driver.c: In function ‘LinuxDriver_Open’:
/tmp/vmware-root/modules/vmci-only/linux/driver.c:375:4: error: implicit declaration of function ‘init_MUTEX’
make[2]: *** [/tmp/vmware-root/modules/vmci-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmci-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37'
make: *** [vmci.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmci-only'
Unable to install vmci
rgadsdon wrote:
The Workstation 7.1.3 2.6.37 patch fails with kernel.org version 2.6.37 (final):
make[1]: Entering directory `/usr/src/linux-2.6.37'
CC [M] /tmp/vmware-root/modules/vmci-only/linux/driver.o
/tmp/vmware-root/modules/vmci-only/linux/driver.c: In function ‘LinuxDriver_Open’:
/tmp/vmware-root/modules/vmci-only/linux/driver.c:375:4: error: implicit declaration of function ‘init_MUTEX’
make[2]: *** [/tmp/vmware-root/modules/vmci-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmci-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37'
make: *** [vmci.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmci-only'
Unable to install vmci
You've got something wrong. The patch should have modified compat_semaphore.h in vmci-only to include:
#if (defined CONFIG_PREEMPT_RT && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) || LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
/*
* The -rt patch series changes the name of semaphore/mutex initialization
* routines (across the entire kernel). Probably to identify locations that
* need to be audited for spinlock vs. true semaphore. We always assumed
* true semaphore, so just apply the rename.
*
* The -rt patchset added the rename between 2.6.29-rt and 2.6.31-rt.
*/
#ifndef DECLARE_MUTEX
#define DECLARE_MUTEX(_m) DEFINE_SEMAPHORE(_m)
#endif
#ifndef init_MUTEX
#define init_MUTEX(_m) sema_init(_m,1)
#endif
#endif