Reuse XRDP's X server for VirtualGL
This commit is contained in:
@@ -404,7 +404,7 @@ ENV UNPRIVILEGED_USER_GROUPS=
|
|||||||
ENV UNPRIVILEGED_USER_SHELL=/bin/bash
|
ENV UNPRIVILEGED_USER_SHELL=/bin/bash
|
||||||
ENV RDP_TLS_KEY_PATH=/etc/xrdp/key.pem
|
ENV RDP_TLS_KEY_PATH=/etc/xrdp/key.pem
|
||||||
ENV RDP_TLS_CERT_PATH=/etc/xrdp/cert.pem
|
ENV RDP_TLS_CERT_PATH=/etc/xrdp/cert.pem
|
||||||
ENV ENABLE_VIRTUALGL=false
|
ENV ENABLE_XDUMMY=false
|
||||||
ENV PATH=/opt/VirtualGL/bin:${PATH}
|
ENV PATH=/opt/VirtualGL/bin:${PATH}
|
||||||
ENV VGL_DISPLAY=:0
|
ENV VGL_DISPLAY=:0
|
||||||
## Workaround for AMDGPU X_GLXCreatePbuffer issue:
|
## Workaround for AMDGPU X_GLXCreatePbuffer issue:
|
||||||
@@ -435,6 +435,7 @@ RUN printf '%s\n' 'exec xfce4-session' > /etc/skel/.xsession
|
|||||||
|
|
||||||
# Create /etc/skel/.xsessionrc file
|
# Create /etc/skel/.xsessionrc file
|
||||||
RUN printf '%s\n' \
|
RUN printf '%s\n' \
|
||||||
|
'export VGL_DISPLAY=${DISPLAY:?}' \
|
||||||
'export XDG_CACHE_HOME=${HOME:?}/.cache' \
|
'export XDG_CACHE_HOME=${HOME:?}/.cache' \
|
||||||
'export XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg' \
|
'export XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg' \
|
||||||
'export XDG_CONFIG_HOME=${HOME:?}/.config' \
|
'export XDG_CONFIG_HOME=${HOME:?}/.config' \
|
||||||
|
|||||||
@@ -23,9 +23,6 @@ docker run \
|
|||||||
> **Important:** some software (like Firefox) need the shared memory to be increased, if you
|
> **Important:** some software (like Firefox) need the shared memory to be increased, if you
|
||||||
encounter any problem related to this you may use the `--shm-size` option.
|
encounter any problem related to this you may use the `--shm-size` option.
|
||||||
|
|
||||||
> **Important:** enabling VirtualGL support requires the `--privileged` option and the X server
|
|
||||||
required for VirtualGL will conflict with the host X server.
|
|
||||||
|
|
||||||
## Environment variables
|
## Environment variables
|
||||||
|
|
||||||
* `UNPRIVILEGED_USER_UID`: unprivileged user UID (`1000` by default).
|
* `UNPRIVILEGED_USER_UID`: unprivileged user UID (`1000` by default).
|
||||||
@@ -34,7 +31,7 @@ required for VirtualGL will conflict with the host X server.
|
|||||||
* `UNPRIVILEGED_USER_PASSWORD`: unprivileged user password (`password` by default).
|
* `UNPRIVILEGED_USER_PASSWORD`: unprivileged user password (`password` by default).
|
||||||
* `UNPRIVILEGED_USER_GROUPS`: comma-separated list of additional GIDs for the unprivileged user (none by default).
|
* `UNPRIVILEGED_USER_GROUPS`: comma-separated list of additional GIDs for the unprivileged user (none by default).
|
||||||
* `UNPRIVILEGED_USER_SHELL`: unprivileged user shell (`/bin/bash` by default).
|
* `UNPRIVILEGED_USER_SHELL`: unprivileged user shell (`/bin/bash` by default).
|
||||||
* `ENABLE_VIRTUALGL`: enable VirtualGL support in the container (`false` by default).
|
* `ENABLE_XDUMMY`: enable an X dummy server (`false` by default and requires the `--privileged` option).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ printf -- '%s\n' "Creating \"${CONTAINER_NAME:?}\" container..."
|
|||||||
--shm-size 2g \
|
--shm-size 2g \
|
||||||
--publish 3322:3322/tcp \
|
--publish 3322:3322/tcp \
|
||||||
--publish 3389:3389/tcp \
|
--publish 3389:3389/tcp \
|
||||||
--env ENABLE_VIRTUALGL=true \
|
--env ENABLE_XDUMMY=true \
|
||||||
--device /dev/dri:/dev/dri \
|
--device /dev/dri:/dev/dri \
|
||||||
"${IMAGE_NAME:?}" "$@" >/dev/null
|
"${IMAGE_NAME:?}" "$@" >/dev/null
|
||||||
|
|
||||||
@@ -44,8 +44,8 @@ unset UNPRIVILEGED_USER_PASSWORD
|
|||||||
# Dump environment variables
|
# Dump environment variables
|
||||||
export-env > /etc/profile.d/env.sh
|
export-env > /etc/profile.d/env.sh
|
||||||
|
|
||||||
# Enable xdummy service if ENABLE_VIRTUALGL is true
|
# Enable xdummy service if ENABLE_XDUMMY is true
|
||||||
if [ "${ENABLE_VIRTUALGL:?}" = 'true' ]; then
|
if [ "${ENABLE_XDUMMY:?}" = 'true' ]; then
|
||||||
ln -s /etc/sv/xdummy /etc/service/
|
ln -s /etc/sv/xdummy /etc/service/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user