[Experience sharing] UOS1070专业版下,某些机型deepin-ocr的GPU处理异常问题解决方法
Tofloor
poster avatar
186******01
deepin
a day ago
Author

UOS1070专业版,deepin-ocr支持直接截屏并识别文字,非常方便、高效、准确。

但deepin-ocr的vulkan GPU加速机制,在某些机型下(如兆芯 KX-6000G 的 C-1080 GPU),会被vulkan支持不完整的显卡驱动误导,错误地启用GPU加速。表现为只识别奇数行文字,且速度异常的慢。(还有一些显卡根本不支持vulkan倒不会出现运行问题,如 KX-6640MA C-960 GPU,ocr启动就因vulkan调用失败而直接转CPU正常完成识别)

2025年4月份已发帖求助:https://bbs.deepin.org/post/286627 。11月份,向deepin开发社区提交缺陷报告,建议增加是否启用GUP加速的配置功能,以适应某些机型的GPU特殊情况。今天去 gitee下载 deepin-ocr 源码看了一下,源码版本已在仓库版上做了优化,增加了GPU开关配置。编译安装后,正确设置配置文件,运行识别与速度均正常。

如果从仓库安装的deepin-ocr版本出现运行异常,可以采用以下源码编译安装方式解决:

一、下载源码编译安装

1、下载源码:https://gitee.com/deepin-community/deepin-ocr

2、完全卸载 deepin-ocr 软件:用 purge 参数完全删除

3、确认安装依赖:按照源码文件中 debian 目录下 control 文件的依赖包说明

4、编译/安装:按 README.md 文件说明

二、修正配置文件目录,修改GPU配置参数

**但这个源码编译的 install 配置还是有个bug:**配置文件被安装放置在 /usr/local/... 目录下,导致deepin-ocr启动找不到配置文件。处理步骤如下:

1、拷贝配置文件到正确的目录:找到 /usr/local/share/dsg/configs/deepin-ocr/deepin-ocr.common.json,拷贝到:/usr/share/dsg/configs/deepin-ocr 目录(如果没有deepin-ocr目录,就创建一个)

2、编辑配置文件,禁用GPU配置参数:缺省为启用GPU。将 deepin-ocr.common.json 中的 “value: true” 参数修改为 false,保存退出。

OK了,命令行运行deepin-ocr,无论电脑是否有GPU,就会出现“GPU is not enabled” 的提示,从而绕开某些机型有问题的 GPU vulkan 支持问题。

三、注意事项

1、如果apt从仓库安装的deepin-ocr运行正常,无需以上处理,可以忽略是否采用GPU加速。一般情况下CPU识别与GPU加速的速度差异不大。

2、程序卸载:以上源码安装的程序,未纳入包管理,无法通过apt或dpkg查找/卸载。卸载需要按编译后的 buile/install_manifest.txt 文件清单删除程序文件。

Reply Favorite View the author
All Replies

No replies yet