Linux ARM版Vivaldiを入れてみた

Operaの共同創設者でCEOだったJon Stephenson von Tetzchnerによって設立されたVivaldi Technologiesによって開発されているウェブブラウザがあります．
これまでx86/x64プラットホームのWindows/macOS/Linux版が提供されていましたが，2017/12/05にLinux ARM版(armhf)がリリースされました．

Vivaldi for Linux ARM, Raspberry Pi | Vivaldi Browser

Vivaldi on Raspberry Pi | Vivaldi Browser Help

Raspberry PiのRaspbianがメインのようですが，他のARM環境でも試したら普通に動きました :)

といってもやはりRAM512MBのようなマシンでは辛いですね．RAM2GBのマシンだと今のところいい感じそうです．Midoriやqutebrowserでうまく表示できないMastodonやgmail/Google+なども問題なく表示できますし，Chromeの拡張機能も使えます．

Linux ARM版Vivaldiの入手と確認

deb pkgダウンロード

$ wget https://downloads.vivaldi.com/stable/vivaldi-stable_1.13.1008.34-1_armhf.deb

hash

hashとか見当たらないけど手元ではこんな感じだった

$ md5sum vivaldi-stable_1.13.1008.34-1_armhf.deb
7515f51385a9a264ad5bb7612438aeda vivaldi-stable_1.13.1008.34-1_armhf.deb
$ sha1sum vivaldi-stable_1.13.1008.34-1_armhf.deb
6b103d205f6aa7a5f3b394ba8d32dc9ca87bf0cd vivaldi-stable_1.13.1008.34-1_armhf.deb
$ sha256sum vivaldi-stable_1.13.1008.34-1_armhf.deb
e7af5d021bf0c2968fcf0271e8f741552e34bcf2d032318eb8ea95356067297d vivaldi-stable_1.13.1008.34-1_armhf.deb
$ sha512sum vivaldi-stable_1.13.1008.34-1_armhf.deb
f47f2d26e8045af9ba680129feca765cf3f9dc7ea76930071e9688ef50aa78a482b40ba5747fb4470d30520177bda371ec79e5a210a93dcf2e49251425001c6d vivaldi-stable_1.13.1008.34-1_armhf.deb

パッケージ情報確認

$ dpkg-deb -I ./vivaldi-stable_1.13.1008.34-1_armhf.deb
新形式 debian パッケージ、バージョン 2.0。
サイズ 45154158 バイト: コントロールアーカイブ = 9840 バイト。
1269 バイト、 16 行 control
15872 バイト、 442 行 * postinst #!/bin/sh
12544 バイト、 324 行 * postrm #!/bin/sh
1220 バイト、 42 行 * prerm #!/bin/sh
Package: vivaldi-stable
Version: 1.13.1008.34-1
Architecture: armhf
Maintainer: Vivaldi Package Composer <packager@vivaldi.com>
Installed-Size: 131921
Pre-Depends: dpkg (>= 1.14.0)
Depends: gconf-service, libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.16), libcairo2 (>= 1.6.0), libcups2 (>= 1.4.0), libdbus-1-3 (>= 1.2.14), libexpat1 (>= 2.0.1), libfontconfig1 (>= 2.8.0), libgcc1 (>= 1:4.4.0), libgconf-2-4 (>= 3.2.5), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.28.0), libgtk-3-0 (>= 3.9.10), libnspr4 (>= 2:4.9-2~), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libx11-6 (>= 2:1.4.99.1), libx11-xcb1, libxcb1 (>= 1.6), libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6 (>= 2:1.2.99.4), libxrandr2 (>= 2:1.2.99.3), libxrender1, libxss1, libxtst6, ca-certificates, fonts-liberation, libnss3 (>= 3.26), xdg-utils (>= 1.0.2), wget
Recommends: adobe-flashplugin, chromium-codecs-ffmpeg-extra
Conflicts: vivaldi-beta, vivaldi-preview
Replaces: vivaldi-beta, vivaldi-preview
Provides: www-browser
Section: web
Priority: optional
Homepage: https://vivaldi.com
Description: A new browser for our friends
Vivaldi browser is made with power users in mind by people who love the Web.

導入

とりあえずDebian jessie armhf/Ubuntu 16.04 LTS aarch64で動いている．

Debian/Ubuntu等

$ sudo dpkg -i ./vivaldi-stable_1.13.1008.34-1_armhf.deb

以下のように依存パッケージが足りない場合は，

dpkg: 依存関係の問題により vivaldi-stable:armhf の設定ができません:
vivaldi-stable:armhf は以下に依存 (depends) します: libnss3 (>= 3.26)...しかし:
パッケージ libnss3:armhf はまだインストールされていません。

dpkg: パッケージ vivaldi-stable:armhf の処理中にエラーが発生しました (--install):
依存関係の問題 - 設定を見送ります

こんな感じで足りないpkgが入るはず．その後見送られていたvivaldi-stableの設定の続きも実行される．

$ sudo apt install -f

64bit ARM環境

aarch64でも試した．
既にadd archtecture armhfして色々入れていた環境に入れてクリーンな環境で検証していないけど多分こんな感じ．

$ sudo dpkg --add-architecture armhf
$ sudo apt update
$ sudo dpkg -i ./vivaldi-stable_1.13.1008.34-1_armhf.deb
$ sudo apt install -f

—-追記—-
クリーンなDragonBoard 410cにDebian stretch aarch64(lonaro)を入れた環境でも確認したがこの手順でokだった :)
—-追記終わり—-

.debが使えない環境

deb以外の環境ではこんな感じで適当な場所に展開して動かせた．

$ mkdir -p ~/opt/vivaldi
$ ar p vivaldi-stable_1.13.1008.34-1_armhf.deb data.tar.xz | tar xJ -C ~/opt/vivaldi
$ rm vivaldi-stable_1.13.1008.34-1_armhf.deb
$ ~/opt/vivaldi/opt/vivaldi/vivaldi

Slackwareだと以下のsctiptが使えそう(未確認)

This script will find the latest Vivaldi binary package, download it and repackage it into Slackware format.

問題

sandbox

もし，こんなエラーが出たら

$ ~/opt/vivaldi/opt/vivaldi/vivaldi
[13021:13021:1205/215600.516642:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/matoken/opt/vivaldi/opt/vivaldi/vivaldi-sandbox is owned by root and has mode 4755.
Aborted[This script will find the latest Vivaldi binary package, download it and repackage it into Slackware format.](https://gist.github.com/ruario/dcbba70da900dac68fcc883542ff7ace "This script will find the latest Vivaldi binary package, download it and repackage it into Slackware format.")

こんな感じでオーナーとパーミッションを設定したらok.

$ chmod 4755 ~/opt/vivaldi/opt/vivaldi/vivaldi-sandbox
$ sudo chown root.root ~/opt/vivaldi/opt/vivaldi/vivaldi-sandbox

若しくは --no-sandbox option

$ ~/opt/vivaldi/opt/vivaldi/vivaldi --no-sandbox

日本語豆腐問題

￼￼￼

とりあえず適当な日本語フォント(今回はVLゴシック)を入れて，Vivaldiを再起動で直った．(Dejavuが入っていたので指定してみたけど直らなかった)

$ sudo apt install fonts-vlgothic

関連

ARM版VivaldiとりあえずRaspberry PiではないARMのDebianで動かしてみた 豆腐は多分設定で直るんだろうけどどこや……

ここにあった しかしこの板にはまともなフォント入ってなかった

Dejavuが入ってたのでそれ指定してみたら変わらず

aarch64でも動かそうとしてたんだけどdisk fullで諦めた