Well, my ThinkPad Carbon X1 4th gen works with both bbswitch and acpi_call. (Just bbswitch causes a warning somewhere in the tlp.) But acpi_call is not part of Tumbleweed, that is why I added bbswitch. And especially because acpi_call looks as an orphan piece of code. If there are devices not supported by bbswitch, my solution is not correct from the packaging aspect of view. So I can imagine three ways to continue: 1. Easy way. Needs user interaction. tlp.spec: Recommends: call_ACPI_method bbswitch.spec: Provides: call_ACPI_method acpi_call.spec: Provides: call_ACPI_method 2. Hardware specific way. Use hardware ZYPP symbols instead of Recommends. It should work out of the box, but it will require a collection of board ids: bbswitch.spec: acpi_call.spec: Supplements: packageand(tlp:modalias(pci:{a hardware ZYPP symbol provided by supported device})) tlp.spec: nothing special Then these packages recommendations will depend on the hardware. It needs some work to identify all systems that have battery control support, and then pick an unique (probably PCI) ID. 3. Correct way. Identify a reason, why some devices are not supported in bbswitch, and improve the bbswitch module. It would need to involve a kernel developer.