The most common reason is a mismatch between TeamViewer IDs or a wrong password. Double-check the ID the other side is sharing — even one digit off and the connection won't go through. Also confirm both devices are running the same major version: version 15 on one end and version 12 on the other often causes a handshake failure.
Lag during a remote session usually comes down to the local network, not the service itself. Run a quick speed test and check for packet loss. If you're on Wi-Fi, switching to a wired connection typically drops latency by 30–50%. Also close any bandwidth-heavy apps on both ends — video streaming or large downloads will tank session quality immediately.
This happens when the remote machine's display driver isn't compatible with the capture method TeamViewer uses. On the remote side, go to Options — Display and switch the rendering mode from DirectX to Basic. On headless servers with no monitor attached, you'll need a dummy HDMI plug to force a display signal — otherwise the screen stays black by design.
Corrupted installation files are usually the culprit. Uninstall completely using the official TeamViewer uninstaller (not just Add/Remove Programs), reboot, then download a fresh installer from the official site. On macOS, also check System Preferences — Security & Privacy and make sure Screen Recording and Accessibility permissions are granted.