Of course, it should be worth noting that you're going to need a decently powerful (and probably relatively recent) system to run DeSmuME. Don't expect to be playing Pokemon on your old 486 (at least, at anything resembling normal speeds).

I tried LEGO harry potter, it run OK, about 12fps, but I do think a powerful PC is definitely recommended..

It's dependent largely on the games you're trying to run, I think. For example, the Pokemon games (Diamond/Pearl/Platinum/HeartGold/SoulSilver) are a bit infamous for bogging down even on decent systems, which is one reason I mentioned them. The more a game uses 3D and other special effects, the more likely it's going to require more system resources... but you know that.

You can run NO$GBA through Wine? I'd probably have been reluctant to try that. (Well, aside from the fact that my Linux system is mostly ten year-old hardware...)

I run NO$GBA with wine and it is still buggy, so I installed No$Zoomer in wine which runs NO$Zoomer and then runs NO$GBA through No$Zoomer which allows you to make adjustments and get it running well. The downside is that the process for running nozoomer is buggy, and I believe you have to delete an INI file each time before running it or it doesn't load the No$Zoomer first. And you always have to launch No$Zoomer each time. But it does run much better than desmume if you do it this way. Strange how it runs better in Wine, I know.