安装 chromium

周四那天晚上githubsteam登不上了,记录下处理过程。
最后使用了archlinuxcnrepo中的chromium-vaapi

没有具体的编译记录

无法访问 github

晚上9点多的时候发现无法通过chromium访问steam

怀疑是被墙了,用Proxy SwitchyOmega切换到全局代理。还是不行。
YouTube可以访问,说明代理没有问题。怀疑是steam网页的问题。

google找找有没有碰到相同问题的,发现github也访问不了。

临时装了FireFox来测试,发现可以访问githubsteam

怀疑是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 SwitchyOmegaclash冲突了。想了一下,之后就单纯使用clash了,反正已经有了网址过滤切换代理的功能

编译 chromium

为了查找问题,安装了没有硬件加速的chromiumAUR中的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的取消掉

然后修改下载回来的PKGBUILD

1
2
cd ~/.cache/yay/libva-vdpau-driver-chromium
nano PKGBUILD

添加Nvidiapatch。这个可以在chromium-vaapi主题帖中找到,复制回来保存为my.patch
source字段中添加my.patch,在prepare()字段添加下面的内容来启用

1
2
3
cd "${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

可以直接参考archlinuxcngithub上的使用教程,也可以使用下面的方法

1
2
cat /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
2
pacman -Syy
pacman -S archlinuxcn-keyring

安装对应包

1
2
yay chromium-vaapi
yay libva-vdpau-driver-vp9

选择archlinuxcn的包进行安装

验证硬解播放

开一个视频网页,然后打开chrome://media-internals/,查看对应网页的Player Properties。查看kVideoDecoderName显示的内容,如果是MojoVideoDecoder或者GpuVideoDecoder就是开启了硬解。具体可以参考chromium-vaapi主题贴