As an example, depending on the type of applications and how they’re used, you should expect about 15-25 users per GPU on an M10 before framebuffer exhaustion. The M10 has 4x 8GB GPUs on it and you’d allocate 1 GPU per RDSH VM. The user density varies between deployments as applications and how they’re used vary, not to mention environment optimisations, monitors and resolutions etc all vary and they all impact framebuffer usage. 15-25 users per GPU would give you between 60-100 users per M10 which should be achievable.
However, in any new GPU / vGPU deployment, I’d recommend the T4 GPU over the M10 due to the stage of their lifecycle (M10s were released in 2016). As has been shown many times and also with feedback on here to support it, it’s the 8GB of framebuffer that is typically the limiting factor when it comes to RDSH deployments, not the encoding or processing, meaning that the 8GB on the M10 isn’t really sufficient for modern and more importantly future RDSH deployments forcing customers to scale out their deployments and not up, hence my recommendation to avoid it for new installations, and go for the T4.
As you’re using Hyper-V, you’ll need to use Passthrough (it doesn’t support vGPU), so if you went with the T4, you’d need multiple GPUs per DL380.
Regarding licensing, you’d want to use “vApps”. This is licensed per Concurrent User (not total user), so match it to your CALs and you should be fine.
Which generation of DL380 do you have?
How many concurrent users do you support in you RDSH environment?