diff --git a/Dockerfile b/Dockerfile index d608cfa..4147cec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -168,9 +168,9 @@ RUN mkdir -p build && cd build \ && make -j$(nproc) # ============================================================================= -# PYTHON DEPENDENCIES (MAVProxy, pymavlink) +# PYTHON DEPENDENCIES (MAVProxy, pymavlink, empy) # ============================================================================= -RUN pip3 install --user --break-system-packages pymavlink mavproxy pexpect pybullet numpy pillow opencv-python +RUN pip3 install --user --break-system-packages pymavlink mavproxy pexpect pybullet numpy pillow opencv-python empy==3.3.4 # ============================================================================= # COPY PROJECT FILES diff --git a/docker-compose.yml b/docker-compose.yml index b012e31..df96d06 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,21 +38,23 @@ x-common: &common count: all capabilities: [ gpu ] - # Environment variables - use XWayland for OpenGL compatibility + # Environment variables - Wayland with GPU environment: - # X11/XWayland display (better for OpenGL in containers) + # Wayland display &common-env - - DISPLAY=${DISPLAY:-:0} + - WAYLAND_DISPLAY=${WAYLAND_DISPLAY:-wayland-0} - XDG_RUNTIME_DIR=/run/user/1000 + # X11 fallback + - DISPLAY=${DISPLAY:-:0} # GPU - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=all - # Force X11/XCB for Qt (more stable for OpenGL than native Wayland) - - QT_QPA_PLATFORM=xcb - - QT_X11_NO_MITSHM=1 + # Qt platform - Wayland first, then X11 + - QT_QPA_PLATFORM=wayland + - QT_WAYLAND_DISABLE_WINDOWDECORATION=1 # OpenGL settings - __GLX_VENDOR_LIBRARY_NAME=nvidia - - LIBGL_ALWAYS_SOFTWARE=0 + - __NV_PRIME_RENDER_OFFLOAD=1 # Gazebo paths - GZ_SIM_SYSTEM_PLUGIN_PATH=/home/pilot/ardupilot_gazebo/build - GZ_SIM_RESOURCE_PATH=/home/pilot/ardupilot_gazebo/models:/home/pilot/ardupilot_gazebo/worlds:/home/pilot/RDC_Simulation/gazebo/models