bf63f8acdc
Currently the code expects that the device found at /sys/char/$maj:$min/device for USB devices is a "usb_device". However, at least for some devices, such as for the udl driver, they are instead a "usb_interface". A usb_interface is a child of the usb_device we're interested in, so we walk up one in the /sys path to get there. For example, with a USB device I have, trimmed to show the relevant information: ``` $ udevadm info /dev/dri/card1 P: /devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-4/1-4:1.0/drm/card1 E: DEVTYPE=drm_minor $ udevadm info /sys/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-4/1-4:1.0 E: DEVTYPE=usb_interface E: DRIVER=udl $ udevadm info /sys/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-4 E: DEVTYPE=usb_device E: DRIVER=usb E: BUSNUM=001 E: DEVNUM=009 ``` Signed-off-by: Scott Anderson <scott@anderso.nz> |
||
---|---|---|
.gitlab-ci | ||
amdgpu | ||
android | ||
data | ||
etnaviv | ||
exynos | ||
freedreno | ||
include/drm | ||
intel | ||
libkms | ||
man | ||
nouveau | ||
omap | ||
radeon | ||
tegra | ||
tests | ||
vc4 | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
Android.common.mk | ||
Android.mk | ||
CONTRIBUTING.rst | ||
CleanSpec.mk | ||
Makefile.sources | ||
README.rst | ||
RELEASING | ||
core-symbols.txt | ||
libdrm.pc.in | ||
libdrm_lists.h | ||
libdrm_macros.h | ||
libsync.h | ||
meson.build | ||
meson_options.txt | ||
symbols-check.py | ||
util_double_list.h | ||
util_math.h | ||
xf86atomic.h | ||
xf86drm.c | ||
xf86drm.h | ||
xf86drmHash.c | ||
xf86drmHash.h | ||
xf86drmMode.c | ||
xf86drmMode.h | ||
xf86drmRandom.c | ||
xf86drmRandom.h | ||
xf86drmSL.c |
README.rst
libdrm - userspace library for drm ---------------------------------- This is libdrm, a userspace library for accessing the DRM, direct rendering manager, on Linux, BSD and other operating systems that support the ioctl interface. The library provides wrapper functions for the ioctls to avoid exposing the kernel interface directly, and for chipsets with drm memory manager, support for tracking relocations and buffers. New functionality in the kernel DRM drivers typically requires a new libdrm, but a new libdrm will always work with an older kernel. libdrm is a low-level library, typically used by graphics drivers such as the Mesa drivers, the X drivers, libva and similar projects. Compiling --------- To set up meson: meson builddir/ By default this will install into /usr/local, you can change your prefix with --prefix=/usr (or `meson configure builddir/ -Dprefix=/usr` after the initial meson setup). Then use ninja to build and install: ninja -C builddir/ install If you are installing into a system location you will need to run install separately, and as root.