VirtualBox

Changeset 93422 in vbox for trunk


Ignore:
Timestamp:
Jan 24, 2022 8:03:33 PM (3 years ago)
Author:
vboxsync
Message:

doxygen: add initial documantation for VBoxDRMClient service, bugref:10134.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/VBox-doc.c

    r93115 r93422  
    143143 *          - @ref pg_vgsvc_clipboard
    144144 *      - 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.
    146151 *      - crOpenGL.
    147  *      - VBoxClient / VBoxTray.
    148152 *      - pam.
    149153 *      - ...
  • trunk/src/VBox/Additions/x11/VBoxClient/display-drm.cpp

    r93380 r93422  
    1818 */
    1919
    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.
    2224 *
    2325 * This service supposed to be started on early boot. On start it will try to find
    2426 * compatible VMSVGA graphics card and terminate immediately if not found.
    2527 * VMSVGA functionality implemented here is only supported starting from vmgfx
    26  * driver version 2.10 which was introduced in vanilla Linux kernel 4.6. When compatible
     28 * driver version 2.10 which was introduced in Linux kernel 4.6. When compatible
    2729 * graphics card is found, service will start a worker loop in order to receive screen
    2830 * update data from host and apply it to local DRM stack.
    2931 *
    3032 * 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
    3234 * which display should be set as primary on Desktop Environment level. As well as
    3335 * receive screen layout change events obtained on Desktop Environment level and send it
     
    3638 * Logging is implemented in a way that errors are always printed out, VBClLogVerbose(1) and
    3739 * VBClLogVerbose(2) are used for debugging purposes. Verbosity level 1 is for messages related
    38  * to daemon itself (excluding IPC), level 2 is for IPC communication debugging. In order to see
     40 * to service itself (excluding IPC), level 2 is for IPC communication debugging. In order to see
    3941 * logging on a host side it is enough to do:
    4042 *
     
    4244 *
    4345 *
    44  * Threads
     46 * Service is running the following threads:
    4547 *
    4648 * DrmResizeThread - this thread listens for display layout update events from host.
     
    6264 *
    6365 *
    64  * Locking
    65  *
    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.
    6769 *     It is used by each thread - DrmResizeThread, DrmIpcSRV and IpcCLT-XXX.
    6870 *
    69  * g_monitorPositionsCritSect - serializes access to host interface when guest Desktop
     71 * #g_monitorPositionsCritSect - serializes access to host interface when guest Desktop
    7072 *     Environment reports display layout changes.
    7173 */
     
    869871{
    870872    int         rc;
     873    /** DRM client thread (IpcCLT-%u). */
    871874    RTTHREAD    hThread = 0;
    872875    RTPROCESS   hProcess = 0;
     
    980983
    981984    RTLOCALIPCSERVER hIpcServer;
     985    /** DRM IPC server thread (DrmIpcSRV). */
    982986    RTTHREAD vbDrmIpcThread;
    983987    int rcDrmIpcThread = 0;
    984988
     989    /** DRM resize thread: receive resize data from host and apply it to local DRM stack (DrmResizeThread). */
    985990    RTTHREAD drmResizeThread;
    986991    int rcDrmResizeThread = 0;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette