安装 chromium
周四那天晚上github和steam登不上了,记录下处理过程。
最后使用了archlinuxcn的repo中的chromium-vaapi
没有具体的编译记录
无法访问 github
晚上9点多的时候发现无法通过chromium访问steam。
怀疑是被墙了,用Proxy SwitchyOmega切换到全局代理。还是不行。YouTube可以访问,说明代理没有问题。怀疑是steam网页的问题。
google找找有没有碰到相同问题的,发现github也访问不了。
临时装了FireFox来测试,发现可以访问github和steam。
怀疑是chromium的问题。命令行启动,发现有错误输出
ERROR:ssl_client_socket_impl.cc(941)] handshake failed; returned -1, SSL error code 1, net_error -100
对比可以访问的网站和不可以访问的网站,发现不可以访问的网站证书都是DigiCert Inc。按照这个思路尝试访问Apple官网,发现也不行。
遇事不决想要重新安装chromium-vaapi。发现AUR中的chromium-vaapi-bin包已经删掉了。
重装了chromium包,发现还是不行。
找到原因
第二天清空chromium配置,发现可以正常访问。从Google同步了数据之后,又不行了。
那就是同步的数据中造成了这个问题。开始排查
停用了Proxy SwitchyOmega后,就正常了。
那问题就是Proxy SwitchyOmega和clash冲突了。想了一下,之后就单纯使用clash了,反正已经有了网址过滤切换代理的功能
编译 chromium
为了查找问题,安装了没有硬件加速的chromium。AUR中的chromium-vaapi-bin包已经删掉了,只能手动编译chromium-vaapi
第一次编译,失败。
fatal error: error in backend: IO failure on output stream: No space left on device
记起来之前为了编译速度配置了在内存中编译,修改配置,然后重新编译
编译的时候,有人说是
今天digicert的ocsp/crl ip被墙了
3个小时后,终于编译完成了。
下面是走过的弯路
然后开始编译必要的libva-vdpau-driver-chromium,看AUR页面上的说明,我还需要手动修改脚本后再编译
If you are having issues with NVidia, you need to build a patched libva-vdpau-driver-chromium
先下载包,但是不安装1
pacman libva-vdpau-driver-chromium
在询问diff的取消掉
然后修改下载回来的PKGBUILD1
2cd ~/.cache/yay/libva-vdpau-driver-chromium
nano PKGBUILD
添加Nvidia的patch。这个可以在chromium-vaapi的主题帖中找到,复制回来保存为my.patch
在source字段中添加my.patch,在prepare()字段添加下面的内容来启用1
2
3cd "${srcdir}"
patch -Np1 -i "${srcdir}/my.patch"
cd ../
其中最后切换工作目录的操作不确定是不是对的
手动编译并安装包1
makepkg -si --skipchecksums
之后才发现是不需要上面这些操作的
重新安装
chromium-vaapi的页面上有提到archlinuxcn上有预编译包
Precompiled binaries of this wonderful package are available on archlinuxcn repository. Enjoy.
最后的解决记录
使用 archlinuxcn
可以直接参考archlinuxcn在github上的使用教程,也可以使用下面的方法1
2cat /etc/pacman.d/mirrorlist
nano /etc/pacman.d/mirrorlistcn
输入中国源镜像列表上的所有镜像,格式参考已有的mirrorlist。
然后修改pacman配置启用1
nano /etc/pacman.cnf
仿照其他源输入下面的内容1
2[archlinuxcn]
Include = /etc/pacman.d/mirrorlistcn
然后刷新pacman数据库,并导入密钥1
2pacman -Syy
pacman -S archlinuxcn-keyring
安装对应包
1 | yay chromium-vaapi |
选择archlinuxcn的包进行安装
验证硬解播放
开一个视频网页,然后打开chrome://media-internals/,查看对应网页的Player Properties。查看kVideoDecoderName显示的内容,如果是MojoVideoDecoder或者GpuVideoDecoder就是开启了硬解。具体可以参考chromium-vaapi的主题贴