Page 1 of 1

Questions about ROS compatibility mode

Posted: Fri Jul 06, 2018 7:29 pm
by matthiasbasler
ROS 0.4.8 gained support for a compatibility mode, however I have not found information about how to use it correctly. I am aware that the current state of implementaion will not fix all issues with non-working software or drivers but at least I want to be able to use it correctly in cases where it does help.

On the compatibility page there are two different ways to set compatibility to a different OS version: The one I know from Windows (just select a version) and one within the button "Change compatibility mode" where several modes such as WIN7RTM can be selected from a dropdown.

My questions are:
  1. What is the difference between the two features or when should I use which? Or do I need both?
  2. How do these two modes influence each other? So what if I set WinXP SP3 for the former and WIN7RTM for the latter, for instance?
  3. What OS do these modes correspond to? WIN7RTM is obviously Windows 7, but there are some entries which I am not clear about, such as "VMHorizonSetup". And entries for Vista and WINXPSP3 seem to be missing (but WINXPSP1 exists).
  4. Why can multiple entries be selected and what happens in this case. Does it make sense to select WINXPSP1 and WIN7RTM at the same time, for instance?
It would be cool if there exists a little tutorial about this feature here or in the wiki. If there is, please point me to it as I was not able to find it. Thank you.

Re: Questions about ROS compatibility mode

Posted: Fri Jul 06, 2018 8:31 pm
by hbelusca

Re: Questions about ROS compatibility mode

Posted: Sat Jul 07, 2018 8:44 am
by matthiasbasler
Thanks for pointing me to this page.

However, the screenshot is from Win10, not ROS and the descriptions on this page only partly matches what I see in ROS 0.4.8/0.4.9. It is no clear whether the listed "shims" apply to the version dropdown (shown in the screenshot) or the list available in "Change compatibility mode" or both.
Besides, the page answers only one of my questions, the one about what "VMHorizonSetup" and a few other entries mean.

Re: Questions about ROS compatibility mode

Posted: Mon Jul 09, 2018 7:33 pm
by learn_more
The button 'Change compatibility mode' is a so called power-user feature.
It gives you access to all the fixes that are available, instead of just presenting a few (like windows does).
If you run the same code on windows, there is a list of hundreds of fixes available.

1. If you take a peek at; ... 3cb251#l25
this is the translation from the items you see, to the activated items.

If you were to select 'WIN7RTM' in the 'Change compatibility mode' screen, it would have the exact same effect as Selecting the 'Windows 7' item in the dropdown.

2. Most of these modes actually cause conflicts, since (at the moment) they will trigger a case that is unhandled (multiple hooks on the same function), and either way at the moment it would not make much sense to activate multiple.

3. Not all modes are for an OS: 'VMWareHorizonSetup' is a fix for a bug in a setup, and there are a few more like that.

4. Mainly because we do not want to limit the users like windows does, the aim here is to give the user the power to experiment.

Re: Questions about ROS compatibility mode

Posted: Mon Jul 09, 2018 9:34 pm
by matthiasbasler
Thanks a lot for the explanation. This really helped.
Now I know that there is no point experimenting with combinations of several OS modes, for instance.