mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-03 01:17:45 +03:00
Merge pull request #20092 from fbuihuu/tag-xgi-z7z9-graphic-chip-as-master-of-seat-take2
login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to…
This commit is contained in:
commit
ef1a927848
36
hwdb.d/60-seat.hwdb
Normal file
36
hwdb.d/60-seat.hwdb
Normal file
@ -0,0 +1,36 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# This file lists graphic devices that don't have a DRM driver and fall back to
|
||||
# a frame-buffer one instead. Since commit 6260d28b8a, frame-buffer devices are
|
||||
# no more considered as graphical capable.
|
||||
#
|
||||
# The matches have the 'fb' prefix to make sure that only the framebuffer
|
||||
# device, and not the (parent) PCI device, is tagged with 'master-of-seat'.
|
||||
#
|
||||
# Allowed properties are:
|
||||
# ID_TAG_MASTER_OF_SEAT=1
|
||||
|
||||
#########################################
|
||||
# eXtreme Graphic Innovation (XGI)
|
||||
#########################################
|
||||
|
||||
# Z7/Z9 (XG20 core), a rather ancient graphic chip, doesn't have a DRM driver
|
||||
# and falls back to vesafb.
|
||||
fb:pci:v000018CAd00000020*
|
||||
ID_TAG_MASTER_OF_SEAT=1
|
||||
|
||||
#########################################
|
||||
# HyperV
|
||||
#########################################
|
||||
|
||||
# HyperV currently doesn't do DRM, hence we need to synthesize for HyperV's fb
|
||||
# device instead.
|
||||
fb:pci:v00001414d00005353*
|
||||
ID_TAG_MASTER_OF_SEAT=1
|
||||
|
||||
#########################################
|
||||
# Parallels
|
||||
#########################################
|
||||
|
||||
fb:pci:v00001ab8d00004005*
|
||||
ID_TAG_MASTER_OF_SEAT=1
|
@ -25,6 +25,7 @@ hwdb_files_test = files('''
|
||||
60-evdev.hwdb
|
||||
60-input-id.hwdb
|
||||
60-keyboard.hwdb
|
||||
60-seat.hwdb
|
||||
60-sensor.hwdb
|
||||
70-joystick.hwdb
|
||||
70-mouse.hwdb
|
||||
|
@ -67,6 +67,7 @@ UDEV_TAG = Word(string.ascii_uppercase, alphanums + '_')
|
||||
# Those patterns are used in type-specific matches
|
||||
TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'),
|
||||
'evdev': ('name', 'atkbd', 'input'),
|
||||
'fb': ('pci'),
|
||||
'id-input': ('modalias'),
|
||||
'touchpad': ('i8042', 'rmi', 'bluetooth', 'usb'),
|
||||
'joystick': ('i8042', 'rmi', 'bluetooth', 'usb'),
|
||||
@ -163,6 +164,7 @@ def property_grammar():
|
||||
('IEEE1394_UNIT_FUNCTION_VIDEO', Or((Literal('0'), Literal('1')))),
|
||||
('ID_VENDOR_FROM_DATABASE', name_literal),
|
||||
('ID_MODEL_FROM_DATABASE', name_literal),
|
||||
('ID_TAG_MASTER_OF_SEAT', Literal('1')),
|
||||
)
|
||||
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
|
||||
for name, val in props]
|
||||
|
@ -18,9 +18,6 @@ SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat"
|
||||
SUBSYSTEM=="leds", TAG+="seat"
|
||||
SUBSYSTEM=="backlight", TAG+="seat"
|
||||
|
||||
# HyperV currently doesn't do DRM, hence we need to synthesize for HyperV's fb device instead
|
||||
SUBSYSTEM=="graphics", KERNEL=="fb[0-9]", DRIVERS=="hyperv_fb", TAG+="master-of-seat"
|
||||
|
||||
# Allow efifb / uvesafb to be a master if KMS is disabled
|
||||
SUBSYSTEM=="graphics", KERNEL=="fb[0-9]", IMPORT{cmdline}="nomodeset", TAG+="master-of-seat"
|
||||
|
||||
@ -29,6 +26,11 @@ SUBSYSTEM=="graphics", KERNEL=="fb[0-9]", IMPORT{cmdline}="nomodeset", TAG+="mas
|
||||
SUBSYSTEM=="pci", ENV{ID_PCI_CLASS_FROM_DATABASE}=="Display controller", \
|
||||
ENV{DRIVER}=="", IMPORT{cmdline}="nomodeset", TAG+="seat", TAG+="master-of-seat"
|
||||
|
||||
# Synthesize a seat for graphic devices without DRM and that fall back to fb
|
||||
# device instead. Such HWs are listed in hwdb.
|
||||
SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", ATTRS{modalias}=="?*", IMPORT{builtin}="hwdb fb:$attr{modalias}"
|
||||
ENV{ID_TAG_MASTER_OF_SEAT}=="1", TAG+="master-of-seat"
|
||||
|
||||
SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="seat", TAG+="master-of-seat"
|
||||
|
||||
# Allow individual USB ports to be assigned to a seat
|
||||
@ -45,11 +47,6 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="2230", ATTR{idProduct}=="000[13]", ENV{ID_AUT
|
||||
# http://git.qemu.org/?p=qemu.git;a=blob;f=docs/multiseat.txt
|
||||
SUBSYSTEM=="pci", ATTR{vendor}=="0x1b36", ATTR{device}=="0x000a", TAG+="seat", ENV{ID_AUTOSEAT}="1"
|
||||
|
||||
# Video adapter of Parallels virtualization platform
|
||||
# Seat should be synthesized for it. But there's no in-kernel driver for this
|
||||
# device so matching by vid/pid.
|
||||
SUBSYSTEM=="pci", ATTRS{vendor}=="0x1ab8", ATTRS{device}=="0x4005", TAG+="seat", TAG+="master-of-seat"
|
||||
|
||||
# Mimo 720, with integrated USB hub, displaylink graphics, and e2i
|
||||
# touchscreen. This device carries no proper VID/PID in the USB hub,
|
||||
# but it does carry good ID data in the graphics component, hence we
|
||||
|
Loading…
Reference in New Issue
Block a user