Never update Parallels and a kernel on the same day...

Discussion in 'Linux Virtual Machine' started by Mark Fine, Oct 16, 2019.

  1. Mark Fine

    Mark Fine Pro

    Messages:
    482
    Updated Fedora 30 to kernel 5.3.5-200 this morning. Tools rebuilt all the usual stuff: drm, eth, fs, fs_freeze, and tg.

    Then I saw Parallels 15.1.0 was ready, so I updated to that and rebuilt Tools again, which also seemed to go as normal...

    Until you notice that there's no /usr/src/parallels-tools-15.1.0.47107 folder and a yellow triangle on the VM window (when you exit convergence mode) saying Tools needs to be reinstalled. And yet, there are ko.xz's (and ko's?) are in /usr/lib/modules/5.3.5-200.fc30.x86_64/extra/, but I have no idea which.

    So, what's actually going on here? Is it updating or not?
     
  2. JediahL

    JediahL Junior Member

    Messages:
    12
    Best Answer
    Hi Edward - I'm not at my mac right now; but IIRC you need to:

    1. Mount the ISO and copy the contents to a temp location
    2. In the kmods directory there was a tar.gz file that you need to unpack (tar -xvzf)
    3. Navigate to the unpacked file prl_vid/Video/Guest/Linux/kmod/test/test_drm_core.sh and change the PRL_DRM_VM_OPERATIONS_FAULT assignment to "=0"
    4. Repack the directory using the tar command (tar -czvf name-of-archive.tar.gz /path/to/directory-or-file) replacing the old file.
    5. Run installer again.

    You might need to uninstall the old version too.. I know there is a KB article around somewhere that talks about manual removal.

    I'll be on a mac a little later this morning if this doesn't work, post again, and I'll check to see what above needs to be updated.
     
    PatrickJ4 and EdwardG3 like this.
  3. Mark Fine

    Mark Fine Pro

    Messages:
    482
    Partially answering my own question, it never built and installed properly, although the gui installer thought it did. Running a manual install/upgrade failed.
    First run through there are issues with prldrm.c on lines 1974 and 2065: Incompatible pointer types prl_drm_ss_vm_ops.fault and prl_drm_gem_vm_ops.fault.

    more to come, I'm sure...
     
  4. Mark Fine

    Mark Fine Pro

    Messages:
    482
    Can't go backwards because there's no header file available for 5.2.18-200.fc30.x86_64. Only for 5.0.9, so am now dead in the water until I can fix prl_vid to play nice.
     
  5. Mark Fine

    Mark Fine Pro

    Messages:
    482
    The solution is that because it treats warnings as errors, declarations need to be specific. In this case, forcing an unsigned int into an int will cause a build-stopping Werror on lines 1974 and 2065. Instead of finding where Werrors were stipulated in the makefiles, I decided to just go the simple route:

    I ended up changing "int" to "unsigned int" on lines 1922, 1925, 1981, and 1984 in prldrm.c (I may have only need to do one of the first two, and one of the second two, but got tired of experimenting). After saving/re-tarring/re-zipping the kmods then running install, it actually ran all the way through. Rebooted and we're off to the races.

    Not sure if this will work for every case. Maybe I got lucky. But if anyone else runs into trouble at least it's documented here and it can be solved.
    [I should subtitle this thread "A play in four acts"]
     
    JediahL, EdwardG3, mbw and 1 other person like this.
  6. MathewM1

    MathewM1 Bit poster

    Messages:
    5
    There's a script that's supposed to detect different kernel header versions and set PRL_DRM_VM_OPERATIONS_FAULT_X appropriately in order to make the preprocessor use the "unsigned int" code, but it's not working right on Fedora 30 with 5.2.x/5.3.x kernels. I haven't tried to install Parallels Tools 15.1 on any other kernel or Fedora version, so those might be broken too. I modified prl_vid/Video/Guest/Linux/kmod/test/test_drm_core.sh to always set PRL_DRM_VM_OPERATIONS_FAULT=0

    I also noticed dkms doing a lot of extra work recompiling for kernel versions I don't have installed anymore. It helps to clean up old directories in /lib/modules and old symlinks in /var/lib/dkms/parallels-tools
     
    JediahL, mbw, mustafay1 and 1 other person like this.
  7. Alexander Haltman

    Alexander Haltman Parallels Developers

    Messages:
    116
    Your are right, test_drm_core.sh doesn't work properly on Fedora30.
    PRL_DRM_VM_OPERATIONS_FAULT_X must be 0 for kernels starting from v5.1
     
  8. Mark Fine

    Mark Fine Pro

    Messages:
    482
    Heh... so I guess I went around it the hard way.
    Correct on the old kernels. I do really need to clean that up. Eventually I remember to do it.
     
  9. DerykL

    DerykL Bit poster

    Messages:
    2
    Thanks! Worked perfectly on Ubuntu 19.10. Glad someone is fixing Parallels' software for them.... I was starting to regret forking out £39.99 for an upgrade...
     
    mustafay1 likes this.
  10. jhfenton

    jhfenton Junior Member

    Messages:
    11
    Thanks. The fixed work for me too, for both Fedora 31 and Ubuntu 19.10 VMs.

    (I am getting tired of having to copy, unpack, edit, and repack parallels tools scripts myself, though. These are major Linux distros with long, well-publicized release cycles and publicly-available betas. Paid users should not have to debug Parallels software for them.)
     
    JasonP11, mustafay1 and JediahL like this.
  11. JediahL

    JediahL Junior Member

    Messages:
    12
    Works for Kali too, FYI. Would agree though, as a paying customer... it really bites that every upgrade brings new problems and required manual work-arounds. :|
     
    mbw and JasonP11 like this.
  12. JasonP11

    JasonP11 Bit poster

    Messages:
    3
    What is the ETA for us to see an update from Parallels to fix this?
     
  13. JediahL

    JediahL Junior Member

    Messages:
    12
    Official support response:
    Hello Jediah,

    Thank you for contacting Parallels Support. We would like to inform you that Fedora 30 has a star. Also, Linux Kernel version 2.6.29-5.1 only be supported. If the you have a different kernel version, it will not work. For future reference please refer the KB article https://kb.parallels.com/124223

    Please reply to this email if you have any issues.

    Thanks,
    --
    Sundhara Bharathi
    Customer Support
    ||Parallels
    Knowledge base: http://kb.parallels.com
    Follow us on Twitter: @ParallelsCares

    My response, which has gone unanswered: You're kidding, right? As a customer that is expected to pay a yearly licensing fee, this is the answer I get: "We don't ever intend to support new kernels"?
     
  14. JasonP11

    JasonP11 Bit poster

    Messages:
    3
    I think they meant Linux Kernel version 2.6.29 through version 5.1. Unsupported versions would be 5.2 and 5.3
     
  15. JediahL

    JediahL Junior Member

    Messages:
    12
    I meant.. what happened to the, "sorry paying customer, I recognize this is a problem. We are working to fix it, and we expect the fix to be available NLT (date). In the mean time, here are some details about verified workarounds"...

    Perhaps that is too much to ask, for a company that sells me support? ;-)
     
  16. JediahL

    JediahL Junior Member

    Messages:
    12
    Got a much more customer friendly answer today.. so there's that... :) No ETA, but looks like they will (eventually) fix it for 15... Although I have no idea how they got the idea I'm using fedora.

    We have escalated the issue about using the Fedora 30 with the latest built kernel version has been reported to the Engineering Team and they are working to address it in one of the future builds of Parallels Desktop for Mac.

    To enable automatic updates, from the Parallels Desktop Menu, select Preferences > General > Download Updates Automatically.

    While we do not have ETA for the fix, it has been prioritized appropriately and you can track the changes in the product at the corresponding knowledge base article page:

    - Parallels Desktop 15 for Mac updates summary: https://kb.parallels.com/124724
    - Parallels Desktop 14 for Mac updates summary: https://kb.parallels.com/124521
     
  17. mbw

    mbw Bit poster

    Messages:
    4
    Absolutely unbelievable that we have to do this ourselves via a forum... Nice work to all involved. Parallels please get this fixed or hire these people.
     
    Mark Fine likes this.
  18. mbw

    mbw Bit poster

    Messages:
    4
    I've confirmed this worked great on Kali as well. Fantastic work to all involved.
     
  19. EdwardG3

    EdwardG3 Bit poster

    Messages:
    3
    Does anyone have a link to a quick, "how-to" for unpacking and changing the files? I assume that I need to copy everything contained in the iso file to a temp location. I tried a quick find for prldm.c and could not find it, so I assume that it is packaged in a different file. Could somebody point me in the right direction?

    A very frustrated Kali user here with a lot to do, and a VM that is rebooting every time I turn my back.
     
  20. JediahL

    JediahL Junior Member

    Messages:
    12
    Best Answer
    Hi Edward - I'm not at my mac right now; but IIRC you need to:

    1. Mount the ISO and copy the contents to a temp location
    2. In the kmods directory there was a tar.gz file that you need to unpack (tar -xvzf)
    3. Navigate to the unpacked file prl_vid/Video/Guest/Linux/kmod/test/test_drm_core.sh and change the PRL_DRM_VM_OPERATIONS_FAULT assignment to "=0"
    4. Repack the directory using the tar command (tar -czvf name-of-archive.tar.gz /path/to/directory-or-file) replacing the old file.
    5. Run installer again.

    You might need to uninstall the old version too.. I know there is a KB article around somewhere that talks about manual removal.

    I'll be on a mac a little later this morning if this doesn't work, post again, and I'll check to see what above needs to be updated.
     
    PatrickJ4 and EdwardG3 like this.
  21. Mark Fine

    Mark Fine Pro

    Messages:
    482
    Lol... I'm retired. I just do this for fun.
     

Share This Page