Before upgrading my kernel (4.8.16), there was always a problem where at boot the refresh rate was too high, so my screen would flicker. I could only set the refresh rate to 120Hz max without any flickering. This was due to a bug or feature that had yet to be added to the kernel (was fixed in the DAL patched unofficial kernel). After upgrading the kernel to 4.9.3 I noticed that on boot there was no flickering at 144Hz anymore, but when trying to play games and videos there are issues with low frame rates. I then went to the display menu to check settings and noticed that the monitor now says "unknown". I installed 4.10.0 rc 3 from the rawhide repo with the same results. Distro: Fedora 25 GPU: ASUS Strix AMD R9 380 4GB Monitor: MG278Q (2560 x 1440 @ 144Hz)
Please attach the dmesg output. Can you bisect? What does xrandr say about the mode, and what framerate does e.g. glxgears report?
Please attach the Xorg log file and output of glxinfo as well.
Created attachment 252491 [details] Dmesg Output
xrandr [CODE] xrandr: Failed to get size of gamma for output default Screen 0: minimum 2560 x 1440, current 2560 x 1440, maximum 2560 x 1440 default connected primary 2560x1440+0+0 0mm x 0mm 2560x1440 0.00* [/CODE] Glxgears [CODE] 2799 frames in 5.0 seconds = 559.599 FPS 3023 frames in 5.0 seconds = 604.556 FPS 2909 frames in 5.0 seconds = 581.332 FPS 2969 frames in 5.0 seconds = 593.634 FPS 2996 frames in 5.0 seconds = 598.985 FPS [/CODE] I am using wayland, so what is the equivalent of the xorg log file?
Created attachment 252501 [details] Glxinfo
dmesg shows that the amdgpu driver fails to initialize due to missing microcode: amdgpu 0000:01:00.0: Direct firmware load for amdgpu/tonga_k_smc.bin failed with error -2
You need updated firmware: http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/amdgpu
I have never had to deal with the firmware before. Where do I place them? Do I need to recompile the kernel?
grab the latest firmware from the linux firmware git tree. Then copy it to where ever your distro stores it (usually /lib/firmware/amdgpu). If you are using an initrd, please make sure you've updated the initrd to include the new firmware. If you build the driver into the kernel image (rather than as a module), you'll need to include the firmware in the kernel image as well.
Works now. Like you said, just needed to add the latest firmware to /lib/firmware/amdgpu/ and then run mkinitrd /boot/initramfs-4.9.3-200.fc25.x86_64.img 4.9.3-200.fc25.x86_64 --force. Still not able to handle 144Hz, but works just as it did before the update to the kernel. Thanks for the help you two!