FUCK XUBUNTU!
That is all....
Get your BIOS settings from Windows - then just flash to BIOS. Xubuntu is good once you've gotten this part out of the way...
well except I used to get 27mhs per 470/570 and now I get 22mhs cause I haven't updated to ROCm Kernal - cause I know when I try everything will fall apart...
I can't even actually USE the ROCm kernel, because it uses the "radeon" driver for my 270, which in turn gives me an error about needing DRM V3.x.x instead of 2.50 (even though I am not trying to mine on the 270). I had to compile my own custom kernel with CONFIG_DRM_AMDGPU_SI=Y in the config and also amdgpu.si_support=1 radeon.si_support=0 in the kernel parameters. It was the only way to make it use the "amdgpu" driver for both cards.
Adding the kernel is easy though and there's no risk, because you can always just select the old kernel from the grub menu if it breaks. Just boot to your old kernel and uninstall the ROCm one.
Flashing the BIOS is no problem and I've already done that...but the other thing is that the -cclock/mclock/cvddc/mvddc params don't seem to work. I get the message "AMD ADL library not found" when it starts up and I don't know where to get those libraries or where to put them. I downloaded and compiled AMD "ADL_SDK_V10.2" (had to #include a couple standard libraries in the adl_structures.h file in order to do that) but it just gave me a useless "adlutils" binary, which also gives the same ADL library not found error when I try to use it.
Also apparently it crashes after a few minutes. Same BIOS works in windows for days, gets +1 Mh/s (24.3 in Win7 without the dag fix vs 23.4 in Linux), and I can even undervolt it further with afterburner. I have no idea what voltages or clocks it's actually using in Linux either because I have no way to monitor it. Only thing I can see is temperature and fan speed. I'm guessing the memory is not actually clocking above 2000 even though it's supposed to be 2050 which I set in BIOS. That would explain the lower hash rate. I added GRUB_CMDLINE_LINUX="amdgpu.vm_fragment_size=9" to /etc/default/grub as well but still not getting dagfix hashrates.
It's a fuckin' shit show trying to get it to even run, let alone run well.
You can use OhGodATool to monitor voltages and can modify values too (however doesn't seem to work properly with mydrivers)
https://github.com/OhGodACompany/OhGodAToolI use rocm kernel and rocm-smi gives decent stats too like below
==================== ROCm System Management Interface ====================
================================================================================
GPU DID Temp AvgPwr SCLK MCLK Fan Perf OverDrive ECC
5 67df 36.0c 49.51W 1075Mhz 1950Mhz 67.84% auto 0% N/A
However overclocking is broken at the moment. Using 17.40 drivers.
For me the performance is 0.4-0.5 Mh/s lower than windows. However the gpus are a lot more stable than windows.