Stop insinuating and just make it known. There is a problem. It cannot be denied. Do something or suffer the consequences.
That way, by the time you have to fire him, everyone knows and is accepting of why.
Idk, you sound like a caring person, but that could bite you in the ass, if you lose sight of what works best for the long run.
If you continue to get frustrated with this guy, you will have to become a nagging source to get him to fulfill his duty. This is going to make you both miserable, as well as everyone else who relies on him in his position. Give him an HONEST shot, and if he still cant preform, set him off knowing you tried.