As I mentioned many times, the "slowness" of R9 290(X) seems to be caused by the driver. Every kernel executes much faster than on a R9 280X, but the card (or the driver) is not able to overlap the execution of the kernels like it is the case with the 280X. On Windows the 3 kernels are completely processed sequentially, so the Linux version is faster because at least one kernel is able to overlap with another kernel. Perhaps a different set of kernels which only need less than 1GB memory will circumvent this behaviour, but I can't give any guarantees because the R9 290(X) has different ACEs than the 280X, too.