Bug 192921

Summary: Low frame rates and unrecognized monitor after kernel upgrade
Product: Drivers Reporter: stevengruspier
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: NEW ---    
Severity: normal CC: alexdeucher
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 4.10.0 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: Dmesg Output
Glxinfo

Description stevengruspier 2017-01-20 02:39:55 UTC
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)
Comment 1 Michel Dänzer 2017-01-20 02:50:50 UTC
Please attach the dmesg output.

Can you bisect?

What does xrandr say about the mode, and what framerate does e.g. glxgears report?
Comment 2 Michel Dänzer 2017-01-20 02:51:17 UTC
Please attach the Xorg log file and output of glxinfo as well.
Comment 3 stevengruspier 2017-01-20 02:57:37 UTC
Created attachment 252491 [details]
Dmesg Output
Comment 4 stevengruspier 2017-01-20 03:00:59 UTC
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?
Comment 5 stevengruspier 2017-01-20 03:01:48 UTC
Created attachment 252501 [details]
Glxinfo
Comment 6 Michel Dänzer 2017-01-20 03:19:40 UTC
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
Comment 7 Alex Deucher 2017-01-20 13:21:31 UTC
You need updated firmware:
http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/amdgpu
Comment 8 stevengruspier 2017-01-20 16:24:58 UTC
I have never had to deal with the firmware before. Where do I place them? Do I need to recompile the kernel?
Comment 9 Alex Deucher 2017-01-20 16:28:57 UTC
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.
Comment 10 stevengruspier 2017-01-20 17:03:28 UTC
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!