I've had a lot of trouble configuring my 290X. It seems to be stable now (24 hours) getting 2.6Mh/s with a version of sgminer for darkcoin from badman74, now a week or two old - I'll probably work on the latest version today now that things seem stable. I have not yet found a good configuration for scrypt mining with cgminer on the 290X - that has been terrible so far.
Doing lots of tweaking, I think I've found a pattern. Whenever things get out of hand - intensity too high, for example - and the system (Win7 64 for me) gets unstable enough that it flashes a message that the video driver has become unstable and has recovered - then it does not really recover. Instead, the recovery seems to cap the memory clock rate at 150.
This means that all future test results are misleading. You can change various things, and the changes have an effect, but mysteriously you never again get high performance from your card. Eventually a hard boot removes the cap, perhaps causing all your tweaking to produce different results for a while, until the momentary crash and faux recovery kick in again.
The behavior seems to apply for all recent versions of AMD Catalyst drivers.
I found out this was happening by using a stand-alone utility freebie to watch the card's behavior - gpu-z from techpowerup. The AMD Catalyst control center display seemed to give unreliable results.
fwiw, here's what I'm using now in a bat file:
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_USE_SYNC_OBJECTS 1
setx DISPLAY 0
cd (appropriate directory)
sgminer.exe --kernel darkcoin -o poolstuff -u username -p password -I 18 --lookup-gap 2 --shaders 2816 --thread-concurrency 32765 -g 1 -w 512 --gpu-engine 1040 --gpu-memclock 1200 --auto-fan --temp-hysteresis 10
I wouldn't suggest you copy it too literally. The "shaders" setting (which may or may not matter at all) is for a 290X, not a 290. The temp-hysteresis is
probably much higher than needed. Intensity was dialed back from 19 out of annoyance at instability. The memclock setting might be important - it is less than spec for the card, but seems to have helped with stability so that I never get the dreaded faux recovery message now. Maybe
tl;dr Check your 290(X) GPU memory clock actual values during testing with something like gpu-z - see if it has become locked at 150, regardless of what value you might have asked for.
Hope this helps someone.
Edit: Update - after lots more drama with my 290X it's now stable again, even at memclock 1250. The drama included driver rollback and card re-install so I'm no longer sure whether the "locked memory clock" was a cause or just an artifact of other problems. Keep it in mind though if you get weird 290X behavior.