@IanH To add to what Gerd has already linked to, I wrote a diary entry recently to try and simplify the process. See also this readme in github. I’m running it on Linux but I’m sure it’d also run from WSL in Windows too.
You can edit that script and the map style that it uses if you want to test the effect of simple changes. Running it for an English county takes only a minute or so on my (quite old) laptop; you can also use QMapShack to look at the resulting maps.
One more thing - individual Garmin devices vary, certainly in rendering, and QMapShack doesn’t necessarily match how a map would appear on any particular one. A bit of experimentation with styles is often required.