Commits on Source (17)
-
It avoids using autoconf conditionals and defining -rpath manually, and makes HAVE_KMS available in the Makefile.am.
cb6880d7 -
The new KMS window represents an output from the DRM subsystem into a given connector through the specified CRTC, or in simpler term, an output screen. It allows running a "window" even in the case where no window manager are presents, but it also makes sense in windowed environment thanks to DRM leasing features.
24d7a104 -
Implement the vout window interface for the KMS module to allocate the framebuffer once for multiple playback and split the connector selection and KMS initialization and cleanup from the vout_display. This is done as a submodule for now, the display module will actually be splitted afterwards.
8cb9abbf -
KMS is really the windowing part, put DRM framebuffer vout display into a separate file.
62319a9d -
The framebuffer from the previous KMS state was lost and not recoverable once the KMS module exited. It was only possible to reset the state by switching TTY and switching back to the one where KMS was used.
c2323ece -
This is breaking the plugin option, but --kms is a really bad naming for selecting the device it's rendering onto (is it the device file? the connector?), and it would have been much better suited for enabling or not the KMS window.
e7bd4152 -
Avoid additional indentation level by using early exit on error.
1027773f -
Apply the settings from the video output configuration, since KMS is able to do rescaling and cropping.
85891915 -
d263a9c1
-
28f8f7b7
-
Add an option, --kms-connector, to target an arbitrary connector instead of using the first suitable connector available. This is an equivalent to selecting the output screen in the VLC API.
2a8106a8 -
This is not using drmAvailable() which only checks against minor=0, since card0 might not be available or not support DRM while card1 might support it and be selected by --kms-device. In addition, print the debug information about the current underlying DRM driver implementation used. Note that according to NVidia's DRM documentation[^1]: DRM-NVDC does not populate the drmVersionPtr structure's date, major, minor, and patchlevel fields. [^1]: https://docs.nvidia.com/jetson/l4t-graphics/group__direct__rendering__manager.html#gaabb52f28bfc81b9af64866f88131d513
c78dc6f3 -
Shifts is more usual and easier to read here.
bdf1d32b -
Not all planes can be used with every CRTC, and especially when there are multiple connectors plugged. Check that the corresponding CRTC is compatible with the plane we probed before selecting it. This avoids drmModeSetPlane failing with invalid CRTC -EINVAL errors.
2987ee05 -
The path to card* is different on Linux and on other systems like some BSD ones supporting the DRM infrastructure.
17cc375d -
DRM_DIR_NAME can be different, for instance on OpenBSD.
6218609a -
Reports the different available connectors when opening the KMS vout window module, with naming like most Wayland compositors and DRM info tools. This does not implement hotplug support though.
2a491074
Showing
- configure.ac 1 addition, 1 deletionconfigure.ac
- include/vlc_vout_window.h 3 additions, 0 deletionsinclude/vlc_vout_window.h
- modules/video_output/Makefile.am 7 additions, 3 deletionsmodules/video_output/Makefile.am
- modules/video_output/drm_display.c 642 additions, 0 deletionsmodules/video_output/drm_display.c
- modules/video_output/kms.c 284 additions, 554 deletionsmodules/video_output/kms.c
- modules/video_output/opengl/Makefile.am 4 additions, 0 deletionsmodules/video_output/opengl/Makefile.am
- modules/video_output/opengl/egl_display_gbm.c 15 additions, 4 deletionsmodules/video_output/opengl/egl_display_gbm.c
modules/video_output/drm_display.c
0 → 100644