All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bug 222128] New: intel-vbtn: HP EliteBook Revolve 810 G3 side buttons ignored - INT33D6 has no VBDL method but firmware sends 0xC0-0xCD events
@ 2026-10-14  2:12 bugzilla-daemon
  0 siblings, 0 replies; only message in thread
From: bugzilla-daemon @ 2026-10-14  2:12 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=222128

            Bug ID: 222128
           Summary: intel-vbtn: HP EliteBook Revolve 810 G3 side buttons
                    ignored - INT33D6 has no VBDL method but firmware
                    sends 0xC0-0xCD events
           Product: Drivers
           Version: 2.5
          Hardware: Intel
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Platform_x86
          Assignee: drivers_platform_x86@kernel-bugs.osdl.org
          Reporter: bmelia@atomicmail.io
        Regression: No

Created attachment 311103
  --> https://bugzilla.kernel.org/attachment.cgi?id=311103&action=edit
acpidump (MSDM removed)

Hardware: HP EliteBook Revolve 810 G3 (convertible)
BIOS: M86 Ver. 01.22 (05/08/2020) - latest available from HP
Kernel: 7.0.0-30-generic
Distro: KDE neon

Problem:
The side volume buttons and rotation lock switch and tablet mode auto rotate do
nothing. intel-vbtn fails
to bind at boot with:

  intel-vbtn INT33D6:00: failed to read Intel Virtual Button driver

Updating the BIOS from 01.18 to 01.22 did not change this. Booting with
acpi_osi=! acpi_osi="Windows 2015" did not help either.

Cause:
The DSDT defines \_SB.VGBI (_HID "INT33D6") with _STA, VGBS, UPBT and GPBT
methods, but no VBDL method. As a result the driver does not detect buttons,
does not enable switches for this machine either, and gives up.

However, the firmware does send the standard virtual button events to this
device:

  Notify (\_SB.VGBI, 0xC0 ... 0xC9)  power, Windows, volume up/down, rotation
lock
  Notify (\_SB.VGBI, 0xCA / 0xCB)    dock / undock
  Notify (\_SB.VGBI, 0xCC / 0xCD)    tablet / laptop mode

Workaround (confirmed working):
Loading this SSDT override through an early initrd adds an empty VBDL method.
The driver then binds and the side volume buttons work normally:

  DefinitionBlock ("", "SSDT", 2, "HACK", "VBDL", 0x00000001)
  {
      External (\_SB.VGBI, DeviceObj)
      Scope (\_SB.VGBI)
      {
          Method (VBDL, 0, Serialized) { }
      }
  }

Suggested fix:
A DMI quirk for this model so intel-vbtn treats the device as having buttons
even without VBDL, and possibly adding it to dmi_switches_allow_list so the
tablet-mode events (0xCC/0xCD) are reported as well.

Attachment: acpidump-clean.txt (output of "acpidump"; MSDM table removed).
Note: the dump includes my SSDT override ("HACK VBDL"), which adds the empty
VBDL method used as the workaround.

I'm happy to test patches.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-14  2:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-14  2:12 [Bug 222128] New: intel-vbtn: HP EliteBook Revolve 810 G3 side buttons ignored - INT33D6 has no VBDL method but firmware sends 0xC0-0xCD events bugzilla-daemon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.