[systemd-devel] Alienware graphics amplifier scancodes

Lennart Poettering lennart at poettering.net
Thu May 28 09:48:49 PDT 2015

On Wed, 27.05.15 15:59, Mario Limonciello (mario_limonciello at dell.com) wrote:

> Hi,
> Some Alienware notebooks and desktops support an external graphics
> housing called the "Alienware Graphics Amplifier". It allows the usage
> of a larger or more modern graphics card than your gaming PC would
> already support.  In order to provide a good experience, systems that
> support it can provide notification to the OS via the scancodes on the
> the keyboard controller of events related to the cable.
> The following 4 events are supported (and the presumed OS response):
> * Cable plugged in (An app on the existing display or terminal would
> tell the user to reboot the system to activate)
> * Undock cable pressed (An app would let the user know to reboot the
> system to complete undock process; also when supported by GFX driver,
> driver can clean up and work without a reboot)
> * Undock hotkey pressed (Same result as undock cable expected)
> * Surprise removal of cable (System immediately reboots).
> The first three events I think it would make sense to assign to a
> keycode that a userspace application in X land can pickup and recognize,
> but I'm at a loss what makes most sense (prog1, prog2, prog3 maybe?).
> This userspace application hasn't yet been made or decided, I just want
> to pave the path for it first.
> The fourth event I'm submitting a kernel patch
> (https://lkml.org/lkml/2015/5/27/817) so that the kernel would issue a
> reboot when this was detected, so I believe it would  make sense to mark
> it 'unknown' in systemd.
> Also, these don't show up in xev output, but they do show up in evtest.
> Can I get some advice on these?  I'll gladly submit a bug with a patch
> afterward.

You are aware that the kernel has PCI hotplug support? It sounds
really weird rebooting the machine due to hotplug events. That's not
how these things are done... 

Are you sure the kernel folks would be happy with a patch that
chickens out and instead of proper PCI hotplug just always reboots?

Also, why map this to input events at all? If it's really deemed OK to
do such a weird reboot-on-unplug logic, then this should probably be a
uevent or so...

But generally, this all appears very questionnable to me...


Lennart Poettering, Red Hat

More information about the systemd-devel mailing list