FS#53281 - Changing power state of discrete GPU does not work in Dell XPS 9560 / Precision 5520

Attached to Project: Arch Linux
Opened by Daniel Playfair Cal (hedgepigdaniel) - Sunday, 12 March 2017, 22:52 GMT
Last edited by Tobias Powalowski (tpowa) - Wednesday, 14 June 2017, 07:15 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 23
Private No

Details

Description:


Additional info:
* linux 4.9.11-1
* bbswitch 0.8-64


Steps to reproduce:
* Install Arch linux on a Dell XPS 9560 or Precision 5520 with a discrete nvidia GT 1050M GPU
* Install bbswitch and attempt to enable or disable the discrete GPU
* Notice that it doesn't work (reading /proc/acpi/bbswitch does not consistently reflect the intended change, more details in this kernel bug: https://bugzilla.kernel.org/show_bug.cgi?id=156341#c32)

The conclusion from the kernel bug thread was to add the boot option acpi_rev_override=1 to the boot parameters, but this does not work on Arch because CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set in the kernel configuration (because https://bugs.archlinux.org/task/47989)

I can confirm that recompiling the Arch kernel with that flag set and then adding the boot parameter acpi_rev_override=1 fixes the issue and bbswitch works as expected.
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Wednesday, 14 June 2017, 07:15 GMT
Reason for closing:  Fixed
Additional comments about closing:  on trunk
Comment by Pauli (pl) - Thursday, 16 March 2017, 09:17 GMT
The underlying problem is that without the acpi_rev_override boot flag, changing the GPU power state might hardlock the system. This causes hardlocks e.g. when starting X, suspending the system or starting programs with optirun to make use of the GPU.

Another option with the stock Arch kernel is to set boot parameters acpi_osi=! acpi_osi="Windows 2009", but it breaks touchpad and causes issues with the keyboard, so it is not preferable.

Enabling CONFIG_ACPI_REV_OVERRIDE_POSSIBLE for the stock kernel should not cause issues for other users, since it (as far as I can see) just allows the boot parameter to be optionally used. However, it would stop XPS 15 and XPS 13 (sound issues some models) users from having to keep compiling their own otherwise identical kernels just to be able to set the boot flag until the issues are resolved.
Comment by Tiago Espinha (Tiago) - Monday, 29 May 2017, 09:57 GMT
I too have an XPS 15 9560 (2017 model) and I can confirm that having this flag set solves a number of issues with the computer hanging when switching the GPU ON and OFF.

Could we re-enable this so users don't require a custom kernel for such a basic feature? From what I read, Ubuntu has this CONFIG enabled in its kernel.
Comment by Patrick Brennan (patrick.brennan) - Monday, 05 June 2017, 02:11 GMT
FWIW, there was a Kernel patch proposed to fix this upstream; however, it was not accepted. Thus users of the XPS 15 (9560) will most likely require this kernel option indefinitely:

https://bugzilla.kernel.org/show_bug.cgi?id=156341#c32
https://lkml.org/lkml/2017/2/27/531

Loading...