You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server 20.04 x64运行Qt6 EGLFS程序报0x300b错误如何解决

解决方案

错误码说明

0x300b对应的EGL标准错误为EGL_BAD_ALLOC,表示驱动无法为EGL surface分配所需资源,结合前置的DRI2: failed to authenticate警告,问题核心出在DRI2渲染通路的权限校验或资源分配环节。

可按以下步骤逐一排查:

  • X11权限校验
    如果你是在安装了Xorg的环境下运行程序,先执行命令开放本地用户的X服务访问权限:
    xhost +local:
    
    远程ssh运行的话需要额外设置DISPLAY变量:
    export DISPLAY=:0
    
    配置完成后重新运行程序测试。
  • 升级Mesa驱动
    你当前使用的Mesa 21.0版本对Qt6 EGL通路的适配存在已知问题,可升级到最新稳定版Mesa:
    sudo add-apt-repository ppa:kisak/kisak-mesa
    sudo apt update && sudo apt upgrade -y
    
    升级完成后重启系统再测试。
  • 指定eglfs后端
    Qt6 eglfs默认优先使用KMS/DRM后端,如果你在有X11的环境下运行,可强制指定用x11后端:
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/Qt6_libs ./myproject -platform eglfs:device=x11
    
    纯无桌面环境下检查/dev/dri/目录是否存在card0、renderD128设备节点,不存在则说明显卡驱动未正常加载。
  • 检查设备权限
    执行命令查看DRI设备的权限配置:
    ls -l /dev/dri/
    
    确认设备组为video、权限为660,配置异常可临时修改测试:
    sudo chmod 666 /dev/dri/*
    
  • root权限测试
    以上步骤都无效的话,临时用root权限运行程序排查权限问题:
    sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/Qt6_libs ./myproject -platform eglfs
    
    若root可正常运行,说明普通用户的polkit或udev规则配置存在异常,可针对性调整对应规则。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:54:05