Replace w32tm with NTP on 2008 domain controller

ntpw32timewindows-server-2008-r2

We have a 2008 R2 domain spread over many sites around the world and have been using the built in w32tm service for quite some time. We have found that the times are inaccurate in the order of seconds between devices in the domain.
More importantly we have some devices (Cisco switches) mark the DCs time servers as insane and do not sync their time at all.
Cisco states that insane is used rejects NTP servers with large offsets – however we , and others on the web have found that this is also done for the SNTP server in Windows 2xxx.

So we have begun experimenting with replacing the W32TM service with a real NTP service as this article from Microsoft implies this is allowed. I say implied as it doesn't specifically mention DCs but its an article on how the whole hierarchy works.

The Windows Time service (W32Time) can be completely disabled. If you
choose to implement a third-party time synchronization product that
uses NTP…

This avoids the need to re-point our clients

However we now get errors from DCdiag – Some we can probably say are false positive type results for example "A Time Service could not be located" and an expected result for this message "the 32Time service is disabled"
However we also get in the Locator checks the message "The server holding the PDC Role is down"

So my questions are – has anyone done this sort of replacement , does anyone know if the PDC emulator actually relies on the W32Tm . Alternatively is there a better way to do this
The alternative seems to me is to run a separate NTP hierarchy which has the problem of where do I put it and I then have two known different clock sources in the domain and have to re-point our clients, or wait to upgrade to 2016.

Best Answer

I have some experience with this software. It is a porting of GNU NTP to Windows. It has successfully substituted the W32Time service of a windows server. Linux boxes and PCs with W32time are configured to take its sync source from that server without problems (I had a lot of them when linux boxes had to synchronize with the server with W32Time).

Substituing the native service with the new one is as easy as enable GNU NTP and disable W32Time