KDE5下搜狗拼音输入法输入框乱码及黑边的解决办法
个人摸索得到的方法,如有转载,请注明作者和出处。
——by realasking
我使用的是基于ArchLinux的Antergos系统,此前一直用fcitx的双拼输入法,在KDE桌面下,使用的是kimpanel前端,一切都很好,今天突然想换一下搜狗拼音输入法,却没想到遇到了一些问题。
在我从源里安装好fcitx-sogoupinyin后,首先遇到的问题是每次输入都会出现双输入框,一个是kimpanel的,没有候选字输出,一个是搜狗拼音的,候选框中全部都是乱码,经过尝试,发现只要停用kimpanel就好。
但又遇到另外一个问题,就是sogoupinyin启动后,切换输入法时会出现一个黑块儿,而输入时输入框四周都会出现黑框,这显然是渲染引擎的问题,在网上搜索了一下,却没有针对KDE5环境的方案,于是尝试自己解决:
1.尝试用kwin_x11替代kwin_wayland——没有效果;
2.检查compositing状态:
qdbus org.kde.KWin /KWin supportInformation|grep Compositing
发现其中有如下内容:
Compositing is not active
3.检查direct rendering:
glxinfo |grep direct
显示:
direct rendering: Yes
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
glxinfo |grep "version string"
显示:
server glx version string: 1.4
client glx version string: 1.4
OpenGL core profile version string: 3.3.0 NVIDIA 340.102
OpenGL core profile shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL version string: 3.3.0 NVIDIA 340.102
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL ES profile version string: OpenGL ES 2.0 NVIDIA 340.102 340.102
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.00
显然驱动没有问题
4.检查混成器设置:
系统设置->显示和监控->混成器
发现混成器后端默认的是OpenGL 2.0,猜想是否这个设置太低,于是将其改为了OpenGL 3.1。注销桌面重新登录后,发现输入框已经正常了,而且执行:
qdbus org.kde.KWin /KWin supportInformation|grep Compositing
显示内容也变成了:
useCompositing: true
windowsBlockCompositing: true
Compositing
Compositing is active
Compositing Type: OpenGL
至此,KDE5下搜狗拼音终于能正常工作了。