[patch] Support for kernel 5.18 (Parallel Tools 17.1.4.51567)

I am late to the party (did not have time to update my kernel in time), so the attached patch was not created by me, but by somebody else. Thanks goes to @MichelH3 for providing a link. The patch was reviewed, reworked to have conditionals on the kernel version, it applies cleanly to the latest Parallels Tools (at the time of the writing)., and works on my Intel-based VM fine (there are also reports that the patch works for ARM-based version too).

The original patch can be found at https://github.com/wegank/nixos-con...56e/hardware/parallels-unfree/prl-tools.patch (it's a direct patch with no conditionals around kernel versions).
 

Attachments

It is interesting to mention that Parallels 18.1.0.53311 claimed to have fixed the installation for CentOS 9 Stream on arm64 but that is not true.
Latest kernel on CentOS 9 Stream seems to be 5.14.0-191.el9.aarch64

Looking at the logs I can easily see how compilation of inode.c failed due to no member names set_page_dirty. I wonder how hard is to really test this before claiming that it is working, not to mention that displaying the error on screen would far better than hiding it under a TUI wizard.
 
Nothing to really add except to give massive props to @Mark Fine for all his work on this. Pretty staggering to read people suggesting the help provided isn't enough.. when he's not even a Parallels employee as far as I can tell.

I've just installed the latest Centos Stream 9 on a M1 Mac, with latest Parallels (18.2.0 (53488)) and naturally the tools don't install, "set_page_dirty" being the culprit.

Pretty poor show from Parallels in sorting these problems promptly (or at all) that it takes a community member having to step in and hold everyone's hands to get things moving forwards.
 
It is interesting to mention that Parallels 18.1.0.53311 claimed to have fixed the installation for CentOS 9 Stream on arm64 but that is not true.
Latest kernel on CentOS 9 Stream seems to be 5.14.0-191.el9.aarch64

Looking at the logs I can easily see how compilation of inode.c failed due to no member names set_page_dirty. I wonder how hard is to really test this before claiming that it is working, not to mention that displaying the error on screen would far better than hiding it under a TUI wizard.
Follow the unpackaging instructions in this post, and change line 861 from:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
to
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0)

Parallels Tools will then install properly. This was tested on 5.14.0-267.el9.aarch64, Parallels 18.2.0 (53488) on a M1 Mac.
 
Back
Top