Just finished up initial work on a project.
Been wanting to move my Polaris cards over to LINUX but the high power consumption was a drawback - so I did some digging and found that AMD DOES in fact allow for undervolting and underclocking on them under LINUX with a bit of work.
Apparently one of their employees has written a "ROCm-smi" utility (also called ROC-smi in some places) that is similar in concept to the long-running Nvidia utility - but it's still pretty basic and limited from what I've seen of it, and I have not tried it out yet.
Instead, I went the route pioneered by Phoronix in their
https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/amd-linux/918649-underclocking-undervolting-the-rx-470-with-amdgpu-pro-success article, with some additional input from
https://github.com/ktsol/dwarfing/blob/master/amdgpu-mod.sh, and did a bit of patching work on the applicable AMDGPU module that is in charge of voltage and clock control.
Just getting the drivers installed and working was a bit of a nightmare, but the key there proved to be
https://math.dartmouth.edu/~sarunas/amdgpu.html - which I THINK also offers the option to make NVidia and AMD COEXIST ON LINUX for the first time in a few years (but this time around the Nvidia card has to be the "primary" display-running card)
Test system was one of my FM2 motherboards with A10-7860K APU (never did figure out how to get X working on the iGPU - yet - but haven't tried VERY hard yet), using my pair of Sapphire RX 470 reference cards, a Gigabyte 480 4GB I just got on a "refurb" sale, and a MSI 480 8GB that was also on sale recently.
Cards are STOCK at this point - I plan to BIOS mod them eventually for memory straps - so the hashrates aren't impressive.
Before I did my patching to the kernel module, the system was pulling about 770 watts (the iGPU DOES work on this setup, but can't do ETH on it so it's doing D.Net RC5-72 work - which adds about 30 watts to that total).
After kernel mods (I went with 830 mv instead of the Phoronix 818 just to be conservative, and a "fixed" 20% underclock at this point instead of the dwarfing "configurable" option or the Phoronix 13%), I ended up with the SAME hashrate at about 540 watts.
At this point, I can easily add a 5'th card and STILL come in under my 700 watt "standard rig" target (motherboard only has 5 slots anyway).
A low wattage motherboard/CPU setup would probably be able to run 6 cards on a 700ish watt rig, though I might have to do a bit more "fine tuning" to get it to that point.
I'm not sure how far this could be pushed, might play with it some more over the rest of the week to find out - and DEFINITELY will be adding a 5'th RX card before I call it "done".
I'm also thinking about cleaning up the setup, setting it up with "generic" admin/password type access, and pushing it out as a "basic" mining OS for contributions, as AMD-capable mining OSs at this point are either kinda limited (rxOC) or CHARGE way too bloody much (EthOS, the MONTHLY charge for SimpleMining, don't get me started on PIMP).
One thing I DO want to figure out is how to get X to run the display on the iGPU instead of the first discrete GPU - I THINK I know how to do it, and I THINK it will work without causing stuff like fan/clocks control to stop working (like FGLRX had major issues with).
I did specifically size it to fit on a 16GB USB drive, as those are pretty much the "entry level" any more, but I am sure I could get it down to 8 without a lot of work - there's stuff from the standard XUbuntu installation that is NOT needed that I've not uninstalled yet.
(edit) 5'th card up and running, now for more fine tuning like strap mods.