# AMD hw-accel: powerplay on Fiji (Fury/Nano) [SOLVED]

## Zucca

I've been running all my games for a while now using a kernel that had the CONFIG_DRM_AMD_POWERPLAY disabled. And while I don't need it yet I will definitedly need it later on for OpenCL at least. The games I play run quite smoothly even without powerplay. But if I upgrate 4k at some point I will need it also in games. With the current configuration Supertux Kart pushes my GPU very close to 100% (on a 1920x1200 resolution).

At least with Fiji and Tonga the powerplay is a must if you want the most out of your GPU.

So. At last I decided to compile the powerplay features in my kernel, which is now 4.7.10.. And x11 amdgpu driver is at 1.1.0 version.

After kernel compiling, adding amdgpu.powerplay=1 on kernel command line and recompiling @x11-modules-rebuild I rebooted.

Everything went ok until amdgpu module was loaded. At that point my screens turn off for a moment normally becuase the driver changes the vt resolution. But this time the screen stayded off and my GPU fan ramped up to 100%. I've never heard it go so loud!

I had to ssh in from my laptop to be able to reboot my desktop PC. My intention was to change the kernel command line and disable powerplay. However, my GPU didn't "reset". Monitors were blank all the time and the fan noise stated to irritate my ears.  :Razz:  At that point I thought something bad had happened. So ssh back in and poweroff. Then power back on and everything was ok. I disabled powerplay with amdgpu.powerplay=0 on kernel command line.

So. This isn't any X configuration I have, becuase the fan ramp-up happens before lightdm starts and the state stays over reboots.

What I've read is that the powerplay should work even with 4.5 kernels. So what I'm getting wrong here? Should I upgrade my kernel to, maybe, latest 4.8?

Some specs:

```
CONFIG_X86_AMD_PLATFORM_DEVICE=y

CONFIG_CPU_SUP_AMD=y

CONFIG_X86_MCE_AMD=y

# CONFIG_PERF_EVENTS_AMD_POWER is not set

CONFIG_MICROCODE_AMD=y

# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set

CONFIG_AMD_NB=y

CONFIG_NET_VENDOR_AMD=y

CONFIG_AMD8111_ETH=m

# CONFIG_AMD_PHY is not set

CONFIG_HW_RANDOM_AMD=m

CONFIG_I2C_AMD756=y

CONFIG_I2C_AMD756_S4882=m

CONFIG_I2C_AMD8111=y

CONFIG_DRM_AMDGPU=m

CONFIG_DRM_AMDGPU_CIK=y

CONFIG_DRM_AMDGPU_USERPTR=y

# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set

CONFIG_DRM_AMD_POWERPLAY=y

CONFIG_DRM_AMD_ACP=y

# CONFIG_HSA_AMD is not set

CONFIG_EDAC_AMD64=m

CONFIG_EDAC_AMD64_ERROR_INJECTION=y

CONFIG_AMD_IOMMU=y

CONFIG_AMD_IOMMU_V2=y

# CONFIG_MCE_AMD_INJ is not set

CONFIG_KVM_AMD=m
```

Note that compiling amdgpu in-kernel causes waking up from hibernate to fail.

```
Machine:   Mobo: Gigabyte model: GA-78LMT-USB3 6.0 v: SEx Bios: Award v: F2 date: 11/25/2014

CPU:       Quad core AMD FX-8350 Eight-Core (-HT-MCP-) cache: 8192 KB 

           clock speeds: max: 4000 MHz 1: 1400 MHz 2: 1400 MHz 3: 2100 MHz 4: 1400 MHz 5: 1400 MHz

           6: 2100 MHz 7: 1400 MHz 8: 2100 MHz

Graphics:  Card-1: Advanced Micro Devices [AMD/ATI] RS780L [Radeon 3000]

           Card-2: Advanced Micro Devices [AMD/ATI] Fiji XT [Radeon R9 FURY X]

           Display Server: X.Org 1.18.4 driver: (unloaded: radeon)

           Resolution: 1920x1200@59.95hz, 1920x1080@60.00hz

           GLX Renderer: Gallium 0.4 on AMD FIJI (DRM 3.2.0 / 4.7.10-gentoo-wren, LLVM 3.7.1)

           GLX Version: 3.0 Mesa 12.0.1

```

The integrated GPU driver (radeon) is unloaded (used for another seat, both have seperate X configs and udev settings). But as you can see the acceleration works. It's just that the fan never ramps up when doing some GPU intensive tasks. And that's becuase powerplay being disabled.

So... Anyone here having Fiji card with working powerplay? If yes, I'd like to know how.  :Smile:  Kernel version, amdgpu version etc...

----------

## Zucca

After hours of trying to solve the problem I found the solution:

Do not use amdgpu.powerplay=1 and amdgpu.i2c_hw=1 at the same time. Those options seem to collide.

Although that's a nice way to ramp up your GPU fans if nothing else.

Marking as [SOLVED]...

----------

