[patch] Support for kernel 5.11.1 (Parallels Tools 16.1.3.4960)

Discussion in 'Linux Virtual Machine' started by (GalaxyMaster), Feb 25, 2021.

  1. Mark Fine

    Mark Fine Pro

    Messages:
    481
    I will guarantee it works with Fedora 33. I'm using it right now. Make sure it's actually installing the correct version of Tools because it does not delete the old one and for some stupid reason the install process uses the first one listed in an alphanumeric search (yeah, I know... it's dumb).
    Delete any old version of parallels-tools from /usr/src/ EXCEPT parallel-tools-16.5.0.49183. Then try to reinstall.
     
  2. RayR2

    RayR2 Junior Member

    Messages:
    19
    The only version of Tools I have on there is 1.16.5.0.50692
    Code:
    ls -alr /usr/src
    total 0
    drwxr-xr-x. 1 root root 138 Apr 17 17:39 parallels-tools-16.5.0.50692
    drwxr-xr-x. 1 root root  94 Apr 17 17:51 kernels
    drwxr-xr-x. 1 root root   0 Jul 27  2020 debug
    drwxr-xr-x. 1 root root 100 Oct 19  2020 ..
    drwxr-xr-x. 1 root root  80 Apr 17 17:39 .
    
    Output at end of /var/log/parallels-tools-install.log
    Code:
    ODPOST /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Module.symvers
    ERROR: modpost: "irq_to_desc" [/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko] undefined!
    make[3]: *** [scripts/Makefile.modpost:111: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Module.symvers] Error 1
    make[3]: *** Deleting file '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Module.symvers'
    make[2]: *** [Makefile:1725: modules] Error 2
    make[2]: Leaving directory '/usr/src/kernels/5.11.14-200.fc33.aarch64'
    make[1]: *** [Makefile:43: prl_tg] Error 2
    make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg'
    make: *** [Makefile.kmods:30: compile] Error 2
    make: Leaving directory '/usr/lib/parallels-tools/kmods'
    Error: could not build kernel modules
     
  3. Mark Fine

    Mark Fine Pro

    Messages:
    481
    Well, that was the most common reason, but I see you're running aarch64. I'm running x86_64. Perhaps there's a problem building Tools on ARM64?
     
  4. RayR2

    RayR2 Junior Member

    Messages:
    19
    Yep. I'm trying to run on an M1 Mac. Must be ask issue with aarch64. Thanks for the suggestion anyway.
     
  5. LukaM

    LukaM Bit poster

    Messages:
    1
    This seems like the place I might actually get a response - have any of you had issues with i3 and multiple displays?

    Can't get it working on arch no matter what I try. Compositors, different backends for such compositors, latest parallels tools are installed and are working okay ( shared clipboard, automatic resolution change with prlcc ) but can't get multiple monitors working no matter what I try.
     
  6. Evan123

    Evan123 Bit poster

    Messages:
    14
    Parallels Tools works for me on openSUSE Tumbleweed, kernel 5.12.3, Parallels 16.5.0. I didn't need to do anything special.
     
  7. Evan123

    Evan123 Bit poster

    Messages:
    14
    Sorry, I should add -- although I don't have to do anything special to get Parallels Tools to work with modern kernels up to at least 5.12.4 (Tumbleweed as of today), I do have to reinstall Parallels Tools after every kernel upgrade. Failure to reinstall Parallels Tools after a kernel upgrade causes the system to hang on boot during the switch to GUI.
     
  8. YossiZ

    YossiZ Bit poster

    Messages:
    4
    Hi,
    Had the same issue. (ERROR: modpost: "irq_to_desc" [/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko] undefined!)
    After a few hours of digging into it I found a solution. It seems that the symbol irq_to_desc is not anymore exported from the kernel. I managed to change the code to use irq_get_irq_data instead.
    Relevant code:
    kmods/prl_mod/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h L118-126
    Code:
    //extern struct irq_desc *irq_to_desc(unsigned int irq);
    #include <asm/irq.h>
    #define prl_for_each_irq_desc(irq, irq_data)                        \
        for (irq = 0, irq_data = irq_get_irq_data(irq); irq < NR_IRQS;        \
             irq++, irq_data = irq_get_irq_data(irq))                        \
            if (!irq_data)                                                \
                ;                                                    \
            else
    #else
    kmods/prl_mod/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c L420
    Code:
    struct irq_data *irq_data;
    
    kmods/prl_mod/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c L460-468
    Code:
        prl_for_each_irq_desc(desc_idx, irq_data) {
            if (irq_count >= regs.a2)
                break;
            if (!irq_data)
                continue;
    
            if (irq_data->hwirq == regs.a1 + irq_count)
                dev->irqs[irq_count++] = desc_idx;
        }
    
    kmods/prl_mod/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c L736 :)
    Code:
    MODULE_LICENSE("GPL");
    The only problem is that that symbol is only exported for GPL licensed code... so I edited the license also to get it to compile...
     
    FabrizioF2, GeraldB10 and IliaD like this.
  9. RayR2

    RayR2 Junior Member

    Messages:
    19
    Well I gave this a shot but no joy. Thanks anyway. Users shouldn't have to decompile and recompile code to make commercially available software to work. I guess I'll just wait until VMWare comes out with the M1 version of Fusion. Meanwhile, I'll stick with Ubuntu 20.10 for now. You would think Parallels would patch these issues when they become know. But then again, it seems they have all of their eggs in the Microsoft basket.
     
    SeanBB likes this.
  10. YossiZ

    YossiZ Bit poster

    Messages:
    4
    Sorry to hear that. What was the exact error?
     
  11. RayR2

    RayR2 Junior Member

    Messages:
    19
    Code:
    Start installation or upgrade of Guest Tools
    new version of parallels tools
    Installed Guest Tools were not found
    Register service to install new Guest Tools
    Perform installation into the /usr/lib/parallels-tools directory
    make: Entering directory '/usr/lib/parallels-tools/kmods'
    make: Makefile.kmods: No such file or directory
    make: Leaving directory '/usr/lib/parallels-tools/kmods'
    make: *** No rule to make target 'Makefile.kmods'.  Stop.
    Error: could not build kernel modules
    Error: failed to install Parallels Guest Tools!
    2021-07-12T13:48:17-0500: Started installation of Parallels Guest Tools version '16.5.0.50692'
    
    Mon Jul 12 13:48:17 CDT 2021
    Start installation or upgrade of Guest Tools
    make: Makefile.kmods: No such file or directory
    make: *** No rule to make target 'Makefile.kmods'.  Stop.
    Error: could not build kernel modules
    Error: failed to install Parallels Guest Tools!
    2021-07-12T13:48:17-0500: execCmd: ./install --install [167]
    2021-07-12T13:48:17-0500: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more information.
    2021-07-12T13:48:32-0500: Exiting with code 1
    This is what I got after making the listed changes and trying to reinstall.
     
  12. GeraldB10

    GeraldB10 Bit poster

    Messages:
    3
     
    IliaD likes this.
  13. GeraldB10

    GeraldB10 Bit poster

    Messages:
    3
    Hi @YossiZ. Thank you! Your are a hero! It does work. I had a spacing issue or better say wrong alined. After correcting it it does work.
    I have Ubuntu 21.04 running perfectly on my M1 Mac mini in Parallels. The shares are finally back again.
    Please ignore my previous post.
     

    Attached Files:

  14. IliaD

    IliaD Bit poster

    Messages:
    4
    Ubuntu 21.04 aarch64
    Running on 5.11.0-22-generic
    parallels tools, 16.5.1.50969

    failed to build

    logs attached
     

    Attached Files:

  15. IliaD

    IliaD Bit poster

    Messages:
    4
    Hi @YossiZ. Thank you for your huge work! But I couldn't reproduce all your steps.
    I did all that you wrote and got new error.
    I attached log.
     

    Attached Files:

  16. RayR2

    RayR2 Junior Member

    Messages:
    19
    I gave this another shot and it worked this time. The last time I think I might have used the pro-lin.iso instead of the pro-lin-arm.iso image. Thanks for the information and the patch!
     
    YossiZ likes this.
  17. Mark Fine

    Mark Fine Pro

    Messages:
    481
    Ref Fedora 34:

    Starting to notice a new thing that started with 5.11.13: There's a real annoying long delay after it finds the root partition, and just before it finds the swap partition. It used to breeze right through boot up. Not anymore...

    Also, within the past week, right after the Gnome extensions were updated, something seems to be messing up the mouse something fierce. After a while, left clicks don't want to register, making you have to use keyboard workarounds. Unsure if this is a Gnome thing or a Tools interface issue with the .15 kernel (which was updated right about the same time).

    Anyone else seeing these?
     
    (GalaxyMaster) likes this.
  18. YossiZ

    YossiZ Bit poster

    Messages:
    4
    Hi @IliaD
    I apologize for not creating a standard diff file for my edits... it seems that you have not edited the code correctly
    The relevant line from the error log is this:
    Code:
    /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:466:15: error: 'struct irq_data' has no member named 'irq_data'
      466 |   if (irq_data->irq_data.hwirq == regs.a1 + irq_count)
          |               ^~
    
    However the line of code should read as follows:
    Code:
    if (irq_data->hwirq == regs.a1 + irq_count)
    Please make sure you have edited all relevant sections correctly
     
  19. (GalaxyMaster)

    (GalaxyMaster) Hunter

    Messages:
    119
    I am running Arch Linux and stumbled upon the same after Arch updated to systemd v249. The issue manifests itself with the boot sequence sitting at the ":: trigerring uvents..." message for approximately 60 seconds. I didn't have the time to investigate it yet, though. My suspicion is that it is the result of the recent changes in the udev subsystem of systemd (the changelog mentions that the logic has been reworked over the last couple of versions).
     
    Mark Fine likes this.
  20. Mark Fine

    Mark Fine Pro

    Messages:
    481
    Thanks. I haven't been keeping track of what they've been doing to the kernel or subsystems but I'm certain one of these bi-weekly kernel updates will finally fix it.
    As for the mouse issue, like it always seems with Gnome changes, it clears up after a few reboots... it's never just one or two reboots until it sorts itself out. Very wierd.
     

Share This Page