VMware Workstation 6.5.1 build-126130 and Linux kernel 2.6.29

With the attached patch you can persuade your VMware Workstation to work on the newest Linux kernel 2.6.29. There are no guarantees, but it works for me(tm).

Unpack tar's from /usr/lib/vmware/modules/source into some directory (except vmppuser.tar), patch the source (patch -p1), run make in every subdirectory, copy resulting kernel modules to /lib/modules/2.6.29/misc and run depmod -a. Then you can run /etc/init.d/vmware start and check that all modules loaded correctly. That should be it.

Oh well, not 24 hours later I noticed that networking support still had some problems, I couldn't connect to virtual machine remotely, and also ifconfig output of vmnet8 was very weird. After some more inspection, I found that vmware's Makefiles had some problems with the kernel build system in 2.6.29. So, I rewrote the patch to better fix incompatibilities, find it attached (v2). One other difference is that I got tired of putting so many #if's in the code, so the new version of the patch is not backward compatible anymore (won't work on an older kernel like 2.6.28). Have fun!

Update 2009-04-13:
I've noticed that when run on 2.6.29 kernel with either mine or Josh's patch, vmware-vmx is a kind of a CPU pig. It spends up to 3 times more time in kernel then before, on comparable workloads. Now, that is not to say that either of the patches is wrong, but it can't be ruled out either. I assume we'll just have to wait to VMware to do the proper fix, and in the meantime the patch will allow you to continue to run VMware Workstation on the newer kernels, but with some performance penalty.

File vmware-workstation-2.6.29-v2.patch7.53 KB


Nice. You beat me by just a few hours! I was also working on the same problem, and posted a patch.

Here's mine, on the VMware forums. Our patches are almost identical.


I'll probably go ahead and add the #if blocks, so that people can just apply the patch on whatever kernel version they have, not just 2.6.29.

Hi Josh, and thanks for stopping by!

I checked your patch and I like it, especially how you resolved cap_* stuff with compat_* functions. And yeah, it seems we were doing this same work in parallel. :)

Wish you good luck with your next job, seeing that you've been laid off recently. I sincerely hope you find even better job soon!

You're welcome. The bug in the first patch, blindly replacing cap_raise() with cap_raised(), which was completely wrong, motivated me to go out and find what they had changed with capabilities and chase down what was necessary in order to remain compatible.

As for my job, good news, I have work now as a contractor. I hope it lasts, I really like the place I'm at. Here I am on LinkedIn:


Where I can get the version I could patch for 2.6.29?

Hi again! Just wanted to let you know I updated my patch to work on the new VMware Workstation 6.5.2, which changed the modules ever-so-slightly, but just enough to throw off the first patch :)

It's up on the VMware forums:



i have similiar problems with vmware-tools and 2.6.29 kernel at guest os.
i'm not so familiar with patching and changing source but a short view on your patch and on compile errors during vmware-config let me think, the problems are similar so i was think if you also have a patch for vmware-tools for 2.6.29 kernel?

Unfortunately, not. Linux is always on bare metal on my machines. vmware is just for those other OS's I have marginal needs for, so that I don't have to dual boot. ;)

I don't have any knowledge about vmware-tools. If you see errors similar to those when modules are compiled, you can always try to cherry pick changes from the modules source.

I have ESX and the only tools I see are VMwareTools-3.5.0-153875.tar.gz. Where I can get the version I could patch for 2.6.29?