Preheat oven to 350°F (175°C).
Pat duck dry and prick the skin all over with a fork, avoiding the meat underneath.
Season the cavity with salt, pepper, and marjoram, then stuff with onion, garlic, and thyme.
Season the skin generously with salt and pepper.
Place duck breast-side up on a rack set in a roasting pan.
Roast 1 hour 45 minutes to 2 hours, draining excess fat from the pan every 30–45 minutes, until the skin is deeply golden and crisp.
Rest 15 minutes before carving.