FWIW, I've run MC as a server in a VM (both Windows and Linux VMs) for years at a time. For the server, the video card has historically been mostly irrelevant unless you plan to actually watch videos on the VM server itself (the client's video card is what's important for video playback); the only GPU related task the server normally might be performing is transcoding for clients like Panel, Gizmo, or JRemote. Historically that's been CPU bound in MC, but in MC25 Hendrik has implemented hardware acceleration for encoding, so having direct GPU access would actually be useful for an MC server instance that's going to be transcoding a lot of video. But if you've got CPU cores to burn, you can just throw those at the problem instead and it will work fine too, especially if you're not going to be transcoding many concurrent streams. Two or three virtual cores from a modern i7 should be plenty for one or two transcoding streams.
The main limitations I encountered of using a Linux VM for an MC server are that:
1) TV will be unavailable even on Windows clients because the server doesn't support it.
2) Windows clients won't be able to use the "play local file if available" client option, but Linux clients will be (due to longstanding path incompatibilities)
3) Certain activities can only be done on the server (cover art changes, importing files, CD ripping), and having the server in a VM can be inconvenient (for example ripping CDs can be challenging). This one is a general server VM problem, not a Linux VM problem specifically.