All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@kernel.org
To: platform-driver-x86@vger.kernel.org
Subject: [Bug 222128] New: intel-vbtn: HP EliteBook Revolve 810 G3 side buttons ignored - INT33D6 has no VBDL method but firmware sends 0xC0-0xCD events
Date: Wed, 14 Oct 2026 02:12:47 +0000	[thread overview]
Message-ID: <bug-222128-215701@https.bugzilla.kernel.org/> (raw)

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.

                 reply	other threads:[~2026-10-14  2:12 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-222128-215701@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.