921电子技术网-个人搭建学习 - Qt WebEngine
type: channel
link: https://992211.xyz/tag/Qt WebEngine/
items: Cadence Virtuoso IC251 在 WSL 中按 F1 卡死：Doc Assistant 本地端口通信故障的根因与修复

Cadence Virtuoso IC251 在 WSL 中按 F1 卡死：Doc Assistant 本地端口通信故障的根因与修复
type: item
date: 2026-07-13T15:30:26+08:00
description: Cadence Virtuoso IC251 在 WSL 中按 F1 卡死：Doc Assistant 本地端口通信故障的根因与修复{{badge:已解决}}注意：本文保留可复现的系统配置、环境变量和命令；已移除具体工艺名及私有工程路径。现象在 WSL2 / RHEL 8.10 中启动 Cadence Virtuoso Studio IC25.1-64b.ISR3.31，在 Layout XL 内按 F1 后界面长时间无响应。CIW 或启动日志中会反复出现：*WARNING* obShowTag for tool "layout" ... status 40 = obcSocketConnectionError WARNING (HELPAPI-041): Failed to launch Doc Assistant because port communication could not be established.F1 调用的是 Cadence 的 Doc Assistant，不是系统浏览器。因此“没有安装浏览器”不是根因。先确认 F1/F2 的实际绑定按键Layout 默认作用F1打开帮助，调用 Doc AssistantF2geSave()，保存当前编辑内容所以本问题的触发点是 F1。如果 F2 后出现无响应，应先区分是保存、已有未完成操作，还是先前 F1 调用遗留的阻塞。根因链路flowchart LR A[Layout 按 F1] --> B[Doc Assistant: cda -server] B --> C[Qt WebEngine] C --> D[生成 .CDA_port 本地端口文件] D --> E[Virtuoso 显示帮助]故障时，cda -server 在创建 .CDA_port 前退出；Virtuoso 一直等待本地端口，因此最后报 HELPAPI-041。本次修复确认涉及四项条件：IC251 的 cda25.12 版本解析入口；Qt WebEngine 所需的 Mesa DRI 与 libpng12 运行时依赖；WSL/root 下的 XDG_RUNTIME_DIR、sandbox 和 GPU 启动参数；IC251 所需的 resolver ABI 兼容库与独立临时目录。最终保留的修复1. 补齐 cda25.12 的安装根目录解析入口cd /eda/cadence/IC251/bin ln -s cda cda25.12 cds_root cda25.12 # 预期：/eda/cadence/IC251没有该入口时，Doc Assistant 会出现无法确定安装根目录的错误，并在本地端口建立前退出。2. 安装 Qt WebEngine 和 Virtuoso 的运行依赖dnf install -y mesa-dri-drivers libpng12mesa-dri-drivers 提供 Qt WebEngine 所需的 swrast_dri.so。libpng12 可通过下列检查确认是 IC251 的运行依赖：checkSysConf IC25.1 -P libpng123. 仅在 IC251 启动环境中配置 Doc Assistant将下面配置加入 ~/.bashrc。它只在 CDS_INST_DIR 指向 IC251 时生效，不会影响其他 Cadence 版本。if [ "$CDS_INST_DIR" = "/eda/cadence/IC251" ]; then # 兼容库为 IC251 提供所需的 resolver ABI alias。 export LD_PRELOAD="$HOME/.local/lib/libcadence_ic251_resolv_compat.so${LD_PRELOAD:+:$LD_PRELOAD}" export LD_LIBRARY_PATH="$HOME/.local/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" export CDA_ENABLE=true export PAR_GLOBAL_TEMP="$HOME/.cadence_tmp" # Qt WebEngine 以 root 身份运行时必须使用私有运行目录。 export XDG_RUNTIME_DIR=/tmp/cadence-xdg-runtime-root mkdir -p "$XDG_RUNTIME_DIR" chmod 700 "$XDG_RUNTIME_DIR" # WSL/root 下关闭 Chromium sandbox，并避免 GPU 初始化失败。 export QTWEBENGINE_DISABLE_SANDBOX=1 export…