VMware – Simple Fixes for Kernel 6.15-rc..
With clues from the NVIDIA patches in the previous article, I have managed to find/create patches for vmmon and vmnet..
vmmon failed with:
………………
common/crosspage.c:50:13: fatal error: driver-config.h: No such file or directory
50 | # include “driver-config.h”
| ^~~~~~~~~~~~~~~~~
compilation terminated.
common/moduleloop.c:30:13: fatal error: driver-config.h: No such file or directory
30 | # include “driver-config.h”
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: linux/hostif.o] Error 1
make[4]: *** Waiting for unfinished jobs….
common/sharedAreaVmmon.c:27:13: fatal error: driver-config.h: No such file or directory
27 | # include “driver-config.h”
| ^~~~~~~~~~~~~~~~~
compilation terminated.
common/statVarsVmmon.c:27:13: fatal error: driver-config.h: No such file or directory
27 | # include “driver-config.h”
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: linux/driver.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: linux/driverLog.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/apic.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/comport.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/cpuid.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/crosspage.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/memtrack.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/moduleloop.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/phystrack.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/sharedAreaVmmon.o] Error 1
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:203: common/statVarsVmmon.o] Error 1
make[3]: *** [/usr/src/linux-6.15-rc2/Makefile:2006: .] Error 2
make[2]: *** [/usr/src/linux-6.15-rc2/Makefile:248: __sub-make] Error 2
The fix was relatively simple, with replacement of EXTRA_CFLAGS by ccflags-y and del_timer_sync by timer_delete_sync, but the vmnet error was more subtle:
……………….
vmnet.o: error: objtool: init_module(): Magic init_module() function name is deprecated, use module_init(fn) instead
make[4]: *** [/usr/src/linux-6.15-rc2/scripts/Makefile.build:408: vmnet.o] Error 255
……………
Fortunately, there was already a suitable patch for this, from archlinux, at https://aur.archlinux.org/cgit/aur.git/tree/vmnet.patch?h=vmware-workstation
With both patches applied, VMware vmmon and vmnet now compile and load/run OK with Kernel 6.15-rc2.. (tested with KDE/Plasma and VMware guest Win10)
Robert Gadsdon. April 20th 2025..
That patch doesn’t seem to allow me to compile vmmod. against Linux-6.15
make[2]: Entering directory ‘/usr/src/vm-host-modules/vmmon-only’
CC [M] linux/driver.o
linux/driver.c:21:10: fatal error: driver-config.h: No such file or directory
21 | #include “driver-config.h”
It seems to relate to vmnet
Can you explain a little more? Following your instructions couldn’t solve the problem. Thanks in advance.
For people having this issue, what I did was:
cd into vmware-host-modules-tmp-workstation-17.5.2-k6.9.1 or whatever you are using
# Check for EXTRA_CFLAGS in Makefiles
grep -rn “EXTRA_CFLAGS” . –include=”Makefile*”
# Replace EXTRA_CFLAGS with ccflags-y
find . -name “Makefile*” -exec sed -i ‘s/EXTRA_CFLAGS/ccflags-y/g’ {} \;
# Check for del_timer_sync usage
grep -rn “del_timer_sync” . –include=”*.c” –include=”*.h”
# Replace del_timer_sync with timer_delete_sync
find . -name “*.c” -o -name “*.h” | xargs sed -i ‘s/del_timer_sync/timer_delete_sync/g’
Hope this helps to someone..
THANKS betrion, this made all the difference!
Just a reminder and FYI for others that for web text such as the above:
“Quotes” are screwed up.
“Double dashes” were very likely converted to an “emdash” (2014) or endash (2013)
The above pasted patch will not work if simply copied because it will copy as:
# Check for EXTRA_CFLAGS in Makefiles
grep -rn \u201cEXTRA_CFLAGS\u201d . \u2013include=\u201dMakefile*\u201d
# Replace EXTRA_CFLAGS with ccflags-y
find . -name \u201cMakefile*\u201d -exec sed -i \u2018s/EXTRA_CFLAGS/ccflags-y/g\u2019 {} \;
# Check for del_timer_sync usage
grep -rn \u201cdel_timer_sync\u201d . \u2013include=\u201d*.c\u201d \u2013include=\u201d*.h\u201d
# Replace del_timer_sync with timer_delete_sync
find . -name \u201c*.c\u201d -o -name \u201c*.h\u201d | xargs sed -i \u2018s/del_timer_sync/timer_delete_sync/g\u2019
The corrected characters are (To Be Seen after posting, may not work?):
************************
cd into vmware-host-modules-tmp-workstation-17.5.2-k6.9.1 or whatever you are using
# Check for EXTRA_CFLAGS in Makefiles
grep -rn “EXTRA_CFLAGS” . –include=”Makefile*”
# Replace EXTRA_CFLAGS with ccflags-y
find . -name “Makefile*” -exec sed -i ‘s/EXTRA_CFLAGS/ccflags-y/g’ {} \;
# Check for del_timer_sync usage
grep -rn “del_timer_sync” . –include=”*.c” –include=”*.h”
# Replace del_timer_sync with timer_delete_sync
find . -name “*.c” -o -name “*.h” | xargs sed -i ‘s/del_timer_sync/timer_delete_sync/g’
Hope this helps to someone..
Does anyone have ANY idea on how to patch the VMware Workstation 17.0.2 modules to work on kernel 6.15? I use 17.0.2 because it’s the last version that’ll run on my hardware (my PC doesn’t support XSAVE).
Does anyone have ANY patches for kernel 6.15 on VMware Workstation 17.0.2? I use that version as it’s the last version before XSAVE is a hard requirement. Preferably they’d be in vmmon.patch and vmnet.patch, so I can plug them into a modified vmware-workstation AUR package I have.
Hi, same issue here, the fix is not working.
I replace EXTRA_CFLAGS in Makefile.kernel :
EXTRA_CFLAGS := $(ccflags-y)
But still the same error with missing “driver-config.h”.
Is there a VMware workstation support group since Broadcast no longer supports this software.
I am on Fedora 42 and I did get VMware workstation to compile and run. However, there is no network connection. Vmmon works. I unbundled the 17.6.3. It asked for c++14. I am on c++20. I then complied vmmon and vmnet
manually. Both were where added to the kernel.
All looked good except there was no /dev/nmnet* entries.
I opened a virtual machine and create a /dev/vmnet2. This resulted in vmnet0, 1 and 8 appearing. I then deleted /dev/vmnet2.
Restarted VMware workstation, still no network.
Apologies for delay in dealing with comments etc… Urgent medicals issues intervened…
See: https://github.com/mkubecek/vmware-host-modules/issues
RG.