- Timestamp:
- Jan 24, 2022 8:03:33 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/VBox-doc.c
r93115 r93422 143 143 * - @ref pg_vgsvc_clipboard 144 144 * - VBoxControl. 145 * - VBoxVideo. 145 * - Linux, Solaris and FreeBSD specific guest services and drivers. 146 * - @ref pg_vboxdrmcliet (Linux only). 147 * - VBoxClient. 148 * - VBoxVideo. 149 * - Windows Guests. 150 * - VBoxTray. 146 151 * - crOpenGL. 147 * - VBoxClient / VBoxTray.148 152 * - pam. 149 153 * - ... -
trunk/src/VBox/Additions/x11/VBoxClient/display-drm.cpp
r93380 r93422 18 18 */ 19 19 20 /* 21 * General notes 20 /** @page pg_vboxdrmcliet VBoxDRMClient - The VMSVGA Guest Screen Resize Service 21 * 22 * The VMSVGA Guest Screen Resize Service is a service which communicates with a 23 * guest VMSVGA driver and triggers it to perform screen resize on a guest side. 22 24 * 23 25 * This service supposed to be started on early boot. On start it will try to find 24 26 * compatible VMSVGA graphics card and terminate immediately if not found. 25 27 * VMSVGA functionality implemented here is only supported starting from vmgfx 26 * driver version 2.10 which was introduced in vanillaLinux kernel 4.6. When compatible28 * driver version 2.10 which was introduced in Linux kernel 4.6. When compatible 27 29 * graphics card is found, service will start a worker loop in order to receive screen 28 30 * update data from host and apply it to local DRM stack. 29 31 * 30 32 * In addition, it will start a local IPC server in order to communicate with Desktop 31 * Environment specific service(s). Currently, it will propagate to IPC client information 33 * Environment specific service(s). Currently, it will propagate to IPC client information regarding to 32 34 * which display should be set as primary on Desktop Environment level. As well as 33 35 * receive screen layout change events obtained on Desktop Environment level and send it … … 36 38 * Logging is implemented in a way that errors are always printed out, VBClLogVerbose(1) and 37 39 * VBClLogVerbose(2) are used for debugging purposes. Verbosity level 1 is for messages related 38 * to daemonitself (excluding IPC), level 2 is for IPC communication debugging. In order to see40 * to service itself (excluding IPC), level 2 is for IPC communication debugging. In order to see 39 41 * logging on a host side it is enough to do: 40 42 * … … 42 44 * 43 45 * 44 * Threads46 * Service is running the following threads: 45 47 * 46 48 * DrmResizeThread - this thread listens for display layout update events from host. … … 62 64 * 63 65 * 64 * Locking65 * 66 * g_ipcClientConnectionsListCritSect - protects access to list of IPC client connections.66 * The following loack are utilized: 67 * 68 * #g_ipcClientConnectionsListCritSect - protects access to list of IPC client connections. 67 69 * It is used by each thread - DrmResizeThread, DrmIpcSRV and IpcCLT-XXX. 68 70 * 69 * g_monitorPositionsCritSect - serializes access to host interface when guest Desktop71 * #g_monitorPositionsCritSect - serializes access to host interface when guest Desktop 70 72 * Environment reports display layout changes. 71 73 */ … … 869 871 { 870 872 int rc; 873 /** DRM client thread (IpcCLT-%u). */ 871 874 RTTHREAD hThread = 0; 872 875 RTPROCESS hProcess = 0; … … 980 983 981 984 RTLOCALIPCSERVER hIpcServer; 985 /** DRM IPC server thread (DrmIpcSRV). */ 982 986 RTTHREAD vbDrmIpcThread; 983 987 int rcDrmIpcThread = 0; 984 988 989 /** DRM resize thread: receive resize data from host and apply it to local DRM stack (DrmResizeThread). */ 985 990 RTTHREAD drmResizeThread; 986 991 int rcDrmResizeThread = 0;
Note:
See TracChangeset
for help on using the changeset viewer.