FS#38980 - [linux] 3.13 Automated GPU switching non-functional/freezing
Attached to Project:
Arch Linux
Opened by nikku (nikku) - Friday, 21 February 2014, 16:52 GMT
Last edited by Gerardo Exequiel Pozzi (djgera) - Monday, 08 December 2014, 16:32 GMT
Opened by nikku (nikku) - Friday, 21 February 2014, 16:52 GMT
Last edited by Gerardo Exequiel Pozzi (djgera) - Monday, 08 December 2014, 16:32 GMT
|
Details
The automated GPU switching introduced in 3.13 doesn't work
at all with my AMD/AMD system (cpu - AMD A10-5750M, gpu -
AMD 8970M). My systems power led changes color when the dGPU
is active which allows me to easily monitor it's status.
Since upgrading to 3.13, my system either freezes and reboots just seconds after starting X, or the automated switching doesn't appear to function at all. Both results are 100% reproducable and they depend on the actions of the user. 10-12 seconds or so after booting to the CLI the dGPU will be switched off automatically. If I run startx BEFORE this happens, I am left with a usable system without any automated switching (note that manual vga_switcheroo switching doesn't work in 3.13 - this is a serious problem for notebook users who run on battery). If I run startx AFTER the dGPU is switched off, X temporarily pauses with errors regarding resume from sleep and boots into the WM. 1-2 seconds later my mouse begins to hitch, the screen freezes, and the speakers pop and the system reboots. I attempted to quickly grab a dmesg output but this doesn't seem possible even when I type it in time. To grab something of use I experimented with removing the xrandr offload provider switch in the openbox autostart file. I booted into X before the dGPU was switched off, and did not move the mouse. The dGPU switched off, and I moved the mouse and it switched back on. The screen froze for a few seconds but all went back to normal. I have attached the dmesg output. I tried the exact same thing but this time did not move the mouse after the dGPU switched off for 20 seconds. This time when the dGPU switched back on, the screen stayed permanently frozen and eventually turned black. The mouse cursor was movable but the system didn't respond to alt-ctl-del or the power button. |
This task depends upon
Closed by Gerardo Exequiel Pozzi (djgera)
Monday, 08 December 2014, 16:32 GMT
Reason for closing: No response
Monday, 08 December 2014, 16:32 GMT
Reason for closing: No response
If I disable kdm.service,the system start fine in console mode.
This disable power management for radeon cards.
It is a kernel bug: https://bugzilla.kernel.org/show_bug.cgi?id=65761
X really does not like being started while it's asleep (speaker pop and reboot). I don't know if others experience this but it's 100% reproducable on my laptop. I can't find any mention of it elsewhere which is strange
edit: runpm=0 works great, and while vga_switcheroo functionality is returned it doesn't quite work right. It disables the dGPU like normal, but the screen then immediately freezes and doesn't become responsive again.
HP dv6z laptop with 6755g2 dual gpu ( Note that i dont have intel )
After Login to desktop using kdm, the desktop freezes regularly for 5-10 seconds every 5-10 seconds. My laptop temperatures are under control so there is no restart but they are elevated.
It looks like that automatic dgpu switching is broken. The dgpu keeps on turning on and off (along with the freeze which maybe caused by it)
i can confirm this by a) looking at the dgpu temperature in a kde widget 2) Using watch cat /sys/kernel/debug/vgaswitcheroo/switch - the discrete gpu status keeps on switching between dynPwr and dynOff
i can use console by tty switch using Cntrl-Alt-F2. There is no hang in console. Top says that 2 kworker processes get active regularly
Killing X using cntrl-backspace just hangs and i start getting error - CPU soft lockup CPU#1 stuck for 23s! [X:352]. AFter this reboot also halts due to the hanged kworker processes and i have to manually shutdown.
radeon.runpm=0 will probably work, but for now i have gone back to 3.14.6. dmesg attached. sorry if its too long, i think the on-off produced a lot of output