Step 1Slice the onion into thick slices. If you're using the garlic, slightly crush the cloves using the side of a knife.
Step 2Place the onion, garlic, bratwursts, butter, pepper to taste and beer in a large stockpot. Bring to a boil. Reduce the heat and simmer very gently for 1 hour.
Step 3Meanwhile, fire up an outdoor grill. About 45 minutes before service, remove the bratwursts from the beer broth and grill them to a deep brown color, 10 to 15 minutes, depending on the heat of the grill, turning them as needed. Return the bratwursts to the pot as they're done. When all the bratwursts are in the pot, once again bring them to a simmer. Cook gently for 1 minute, then reduce the heat to a very low simmer and simmer an additional 20 minutes.
Step 4Serve the bratwursts from the pot on the rolls, topping them with sauerkraut, brown mustard, horseradish and onions to taste.