WSL环境下使用OpenCV+Mediapipe出现libEGL警告问题求助
WSL环境下MediaPipe结合OpenCV处理视频时出现libEGL依赖错误
环境背景
- Windows 11 + WSL
- WSL内创建Anaconda环境,通过该环境启动Jupyter Lab
- 使用OpenCV加载AVI视频,结合MediaPipe提取手部和姿态关键点
可正常运行的初始化代码
import cv2 import mediapipe as mp import pandas as pd import numpy as np import tensorflow as tf mp_hands = mp.solutions.hands mp_pose = mp.solutions.pose mp_drawing = mp.solutions.drawing_utils cap = cv2.VideoCapture('/Ready0/MVI_0025_0003.avi') columns = ['frame', 'hand_landmarks', 'pose_landmarks'] df = pd.DataFrame(columns=columns)
报错代码段
with mp_hands.Hands(max_num_hands=2) as hands, mp_pose.Pose() as pose: while True: ret, img = cap.read() if not ret: break
错误信息
libEGL warning: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri) libEGL warning: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri) # 重复警告信息省略
已尝试但无效的操作
网上找到的命令MESA_LOADER_DRIVER_OVERRIDE=i965 ./kiwix-deskop,分别在Windows命令提示符和WSL的Anaconda环境中执行:
- Windows cmd执行结果:
'MESA_LOADER_DRIVER_OVERRIDE' is not recognized as an internal or external command, operable program or batch file.
- WSL环境执行结果:
-bash: ./kiwix-deskop: No such file or directory
解决方案
1. 安装缺失的MESA驱动依赖包
在WSL终端执行以下命令,安装包含swrast_dri.so的库:
sudo apt update sudo apt install mesa-utils libgl1-mesa-glx libgl1-mesa-dri
2. 验证库是否安装成功
执行命令确认文件存在:
ls /usr/lib/dri/swrast_dri.so
若输出文件路径,则说明安装成功。
3. 正确设置环境变量并启动Jupyter Lab
在WSL中激活你的Anaconda环境后,先设置环境变量强制使用软件渲染,再启动Jupyter Lab:
conda activate your_env_name # 替换为你的Anaconda环境名 export MESA_LOADER_DRIVER_OVERRIDE=swrast jupyter lab
4. 强制MediaPipe使用CPU运行(可选)
如果上述方法仍有问题,可以在初始化MediaPipe的Hands和Pose时指定使用CPU,避免尝试GPU加速:
with mp_hands.Hands(max_num_hands=2, device='cpu') as hands, mp_pose.Pose(device='cpu') as pose: while True: ret, img = cap.read() if not ret: break # 后续处理逻辑
内容的提问来源于stack exchange,提问作者Shahrad
相关产品推荐
相关产品推荐

