VMware Workstation

 View Only
  • 1.  Broken kernel module sources on latest version

    Posted Jul 01, 2024 04:07 PM
    Edited by a_p_ Jul 01, 2024 05:21 PM

    When trying to install the kernel modules for 17.5.1, it errors at the compilation step. 
    Running vmware-modconfig --console --install-all gives following errors:

    ./arch/x86/include/asm/timex.h:12:24: error: implicit declaration of function 'random_get_entropy_fallback'; did you mean 'random_get_entropy'? [-Wimplicit-function-declaration]
       12 |                 return random_get_entropy_fallback();
          |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                        random_get_entropy
    This error can be fixed by using linux/timex.h instead of asm/timex.h

    The next errors are related to the same thing

    In file included from /tmp/modconfig-hcRIJ0/vmmon-only/linux/hostif.c:76:
    /tmp/modconfig-hcRIJ0/vmmon-only/./include/pgtbl.h: In function 'PgtblVa2MPNLocked':
    /tmp/modconfig-hcRIJ0/vmmon-only/./include/pgtbl.h:60:8: error: implicit declaration of function 'pgd_large'; did you mean 'pgd_page'? [-Wimplicit-function-declaration]
       60 |    if (pgd_large(*pgd)) {
          |        ^~~~~~~~~
          |        pgd_page
    In file included from /tmp/modconfig-hcRIJ0/vmmon-only/./include/pgtbl.h:25:
    /tmp/modconfig-hcRIJ0/vmmon-only/./include/compat_pgtable.h:39:45: error: implicit declaration of function 'p4d_large'; did you mean 'p4d_page'? [-Wimplicit-function-declaration]
       39 | #   define compat_p4d_large(p4d)            p4d_large(p4d)
          |                                             ^~~~~~~~~
    /tmp/modconfig-hcRIJ0/vmmon-only/./include/pgtbl.h:70:8: note: in expansion of macro 'compat_p4d_large'
       70 |    if (compat_p4d_large(*p4d)) {
          |        ^~~~~~~~~~~~~~~~
    /tmp/modconfig-hcRIJ0/vmmon-only/./include/pgtbl.h:78:11: error: implicit declaration of function 'pud_large'; did you mean 'pud_page'? [-Wimplicit-function-declaration]
       78 |       if (pud_large(*pud)) {
          |           ^~~~~~~~~
          |           pud_page
    /tmp/modconfig-hcRIJ0/vmmon-only/./include/pgtbl.h:86:14: error: implicit declaration of function 'pmd_large'; did you mean 'pmd_page'? [-Wimplicit-function-declaration]
       86 |          if (pmd_large(*pmd)) {
          |              ^~~~~~~~~
          |              pmd_page


    And the last errors

    /tmp/modconfig-hcRIJ0/vmnet-only/bridge.c: In function 'VNetBridgeReceiveFromVNet':
    /tmp/modconfig-hcRIJ0/vmnet-only/vmnetInt.h:44:39: error: 'dev_base_lock' undeclared (first use in this function); did you mean 'device_lock'?
       44 | #define dev_lock_list()    read_lock(&dev_base_lock)
          |                                       ^~~~~~~~~~~~~
    ./include/linux/rwlock.h:56:48: note: in definition of macro 'read_lock'
       56 | #define read_lock(lock)         _raw_read_lock(lock)
          |                                                ^~~~
    /tmp/modconfig-hcRIJ0/vmnet-only/bridge.c:587:4: note: in expansion of macro 'dev_lock_list'
      587 |    dev_lock_list();
          |    ^~~~~~~~~~~~~
    /tmp/modconfig-hcRIJ0/vmnet-only/vmnetInt.h:44:39: note: each undeclared identifier is reported only once for each function it appears in
       44 | #define dev_lock_list()    read_lock(&dev_base_lock)
          |                                       ^~~~~~~~~~~~~
    ./include/linux/rwlock.h:56:48: note: in definition of macro 'read_lock'
       56 | #define read_lock(lock)         _raw_read_lock(lock)
          |                                                ^~~~
    /tmp/modconfig-hcRIJ0/vmnet-only/bridge.c:587:4: note: in expansion of macro 'dev_lock_list'
      587 |    dev_lock_list();
          |    ^~~~~~~~~~~~~
    /tmp/modconfig-hcRIJ0/vmnet-only/bridge.c: In function 'VNetBridgeUp':
    /tmp/modconfig-hcRIJ0/vmnet-only/vmnetInt.h:44:39: error: 'dev_base_lock' undeclared (first use in this function); did you mean 'device_lock'?
       44 | #define dev_lock_list()    read_lock(&dev_base_lock)
          |                                       ^~~~~~~~~~~~~

    Can anyone else confirm this? I am running Fedora 40 Workstation x86_64 on Linux 6.9.6-200.fc40.x86_64. I have installed all the build deps.




  • 2.  RE: Broken kernel module sources on latest version

    Posted Jul 02, 2024 11:51 AM

    I got the same errors running the recompile on Pop!OS kernel 6.9.3.  I rolled back to the 6.8 kernel and VMWare started working again.  This is the link others have gone to, although I don't know if this repo's compilation works for 17.5.1 or if it's exclusive to 17.5.2:

    https://github.com/nan0desu/vmware-host-modules/tree/tmp/workstation-17.5.2-k6.9.1

    Before the Broadcom buyout, VMWare support of linux was terrible. After Broadcom, it appears to be much worse.  I'm really looking seriously at other linux alternatives to VMWare.




  • 3.  RE: Broken kernel module sources on latest version

    Posted Aug 20, 2024 09:52 AM

    I've got it working on POP OS with the 6.9.3 kernel.  I'm going to type it up and publish it here later today.




  • 4.  RE: Broken kernel module sources on latest version

    Posted Aug 21, 2024 12:44 PM

    "Before the Broadcom buyout, VMWare support of linux was terrible. After Broadcom, it appears to be much worse.  I'm really looking seriously at other linux alternatives to VMWare."

    At this point they should just open source Workstation if they aren't going to maintain it. I hate when giant congolmerates take over smaller companies they don't understand. Looks like we are back in the CA days.