diff options
author | Florian Bruhin <me@the-compiler.org> | 2023-08-18 12:29:03 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2023-08-18 12:29:03 +0200 |
commit | adc2e1af7bef3af8ad55e5e41dc6489d284571a8 (patch) | |
tree | 79fad7bfce1965ce50aaf543cdf79e063948e9b9 | |
parent | bee84309c5b5e34b9e57e5bfc15766c345dcadc7 (diff) | |
download | qutebrowser-adc2e1af7bef3af8ad55e5e41dc6489d284571a8.tar.gz qutebrowser-adc2e1af7bef3af8ad55e5e41dc6489d284571a8.zip |
Update install instructions
Closes #7833
-rw-r--r-- | doc/install.asciidoc | 89 |
1 files changed, 34 insertions, 55 deletions
diff --git a/doc/install.asciidoc b/doc/install.asciidoc index ce6bfbd0c..ec53e2fb5 100644 --- a/doc/install.asciidoc +++ b/doc/install.asciidoc @@ -21,73 +21,50 @@ some distributions (notably, Debian Stable and Ubuntu) do only update qutebrowser and the underlying QtWebEngine when there's a new release of the distribution, typically once all couple of months to years. -On Debian / Ubuntu ------------------- +[[debian]] +On Debian / Ubuntu / Linux Mint / ... +------------------------------------- -How to install qutebrowser depends a lot on the version of Debian/Ubuntu you're -running. - -[[ubuntu1604]] -Debian Stretch / Ubuntu 16.04 LTS / Linux Mint 18 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Debian Stretch does have QtWebEngine packaged, but only in a very old and insecure -version (Qt 5.7, based on a Chromium from March 2016). Furthermore, it packages Python -3.5 which is not supported anymore since qutebrowser v2.0.0. - -Ubuntu 16.04 doesn't come with an up-to-date engine (a new enough QtWebKit, or -QtWebEngine) and also comes with Python 3.5. - -You should be able to install a newer Python (3.8+) using the -https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa[deadsnakes PPA] or -https://github.com/pyenv/pyenv[pyenv], and then proceed to -<<tox,install qutebrowser in a virtualenv>>. However, this is currently untested. If you -got this setup to work successfully, please submit a pull request to adjust these -instructions! - -Note you'll need some basic libraries to use the virtualenv-installed PyQt: +With those distributions, qutebrowser is in the official repositories, and you +can install it with `apt install qutebrowser`. ----- -# apt install --no-install-recommends git ca-certificates python3 python3-venv libglib2.0-0 libgl1 libfontconfig1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-cursor0 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libdbus-1-3 libyaml-dev gcc python3-dev libnss3 libasound2 ----- +However, when using a stable variant (e.g. Debian Stable / Ubuntu LTS / Linux +Mint), note that your versions of qutebrowser and the underlying QtWebEngine +will only be updated when there's a new release of your distribution (e.g. +upgrading from Ubuntu 22.04 to 24.04): -// FIXME not needed anymore? -// libxi6 libxrender1 libegl1-mesa +- Ubuntu 20.04, Linux Mint 20: qutebrowser 1.10.1, QtWebEngine 5.12.8 (based on Chromium 69 from 2018) +- Ubuntu 22.04, Linux Mint 21: qutebrowser 2.5.0, QtWebEngine 5.15.9 (based on Chromium 87 from 2020) +- Debian Bookworm: qutebrowser 2.5.3, QtWebEngine 5.15.13 (based on Chromium 87 from 2020) -Debian Buster / Ubuntu 18.04 LTS / Linux Mint 19 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The old versions of the underlying Chromium will lead to various compatibility +issues. Additionally, QtWebEngine on all Debian-based distributions is +https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#browser-security[not covered] +by Debian's security support. -Debian Buster packages qutebrowser, but ships a very old version (v1.6.1 from March -2019). The QtWebEngine library used for rendering web contents is also very old (Qt -5.11, based on a Chromium from March 2018) and insecure. It is -https://www.debian.org/releases/buster/amd64/release-notes/ch-information.en.html#browser-security[not covered] -by Debian's security patches. It's recommended to <<tox,install qutebrowser in a -virtualenv>> with a newer PyQt/Qt binary instead. +It's recommended to <<tox,install qutebrowser in a virtualenv>> with a newer PyQt/Qt binary instead. +If you need proprietary codec support or use an architecture not supported by Qt +binaries, starting with Ubuntu 22.04 and Debian Bookworm, it's possible to +install Qt 6 via apt. By using `mkvenv.py` with `--pyqt-type link` you get a +newer qutebrowser running with: -With Ubuntu 18.04, the situation looks similar (but worse): There, qutebrowser v1.1.1 -from January 2018 is packaged, with QtWebEngine 5.9 based on a Chromium from January -2017. It's recommended to either upgrade to Ubuntu 20.04 LTS or <<tox,install -qutebrowser in a virtualenv>> with a newer PyQt/Qt binary instead. +- Ubuntu 22.04, Linux Mint 21: QtWebEngine 6.2.4 (based on Chromium 90 from mid-2021) +- Debian Bookworm: QtWebEngine 6.4.2 (based on Chromium 102 from mid-2022) Note you'll need some basic libraries to use the virtualenv-installed PyQt: ---- -# apt install --no-install-recommends git ca-certificates python3 python3-venv libglib2.0-0 libgl1 libfontconfig1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-cursor0 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libdbus-1-3 libyaml-dev gcc python3-dev libnss3 libasound2 ----- - -Ubuntu 20.04 LTS / Linux Mint 20 (or newer) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -With those distributions, qutebrowser is in the official repositories, and you -can install it with apt: - ----- -# apt install qutebrowser +# apt install --no-install-recommends git ca-certificates python3 python3-venv libgl1 libxkbcommon-x11-0 libegl1-mesa libfontconfig1 libglib2.0-0 libdbus-1-3 libxcb-cursor0 libxcb-icccm4 libxcb-keysyms1 libxcb-shape0 libnss3 libxcomposite1 libxdamage1 libxrender1 libxrandr2 libxtst6 libxi6 libasound2 ---- Additional hints ~~~~~~~~~~~~~~~~ +- On Ubuntu 20.04 / Linux Mint 20 / Debian Bullseye, no OpenSSL 3 is available. + However, Qt 6.5 https://www.qt.io/blog/moving-to-openssl-3-in-binary-builds-starting-from-qt-6.5-beta-2[moved to OpenSSL 3] + for its binary builds. Thus, you will either need to live with + `:adblock-update` and `:download` being broken, or use `--pyqt-version 6.4` for + the `mkvenv.py` script to get an older Qt. - If running from git, run the following to generate the documentation for the `:help` command (the `mkvenv.py` script used with a virtualenv install already does this for you): @@ -98,7 +75,7 @@ $ python3 scripts/asciidoc2html.py ---- - If you prefer using QtWebKit, there's QtWebKit 5.212 available in - Ubuntu 18.04 / Debian Buster or newer. Note however that it is based on an upstream + those distributions. Note however that it is based on an upstream WebKit from September 2016 with known security issues and no sandboxing or process isolation. - If video or sound don't work with QtWebKit, try installing the gstreamer plugins: @@ -130,6 +107,8 @@ For more information see https://rpmfusion.org/Configuration. # dnf install qt5-qtwebengine-freeworld ----- +It's currently unknown what the Qt 6 equivalent of this is. + On Archlinux ------------ @@ -388,7 +367,7 @@ qutebrowser from source. ==== Homebrew ---- -$ brew install pyqt@5 +$ brew install pyqt@6 $ pip3 install qutebrowser ---- @@ -436,7 +415,7 @@ Installing dependencies (including Qt) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using a Qt installed via virtualenv needs a couple of system-wide libraries. -See the <<ubuntu1604,Ubuntu 16.04 section>> for details about which libraries +See the <<debian,Debian-based distributions section>> for details about which libraries are required. Then run the install script: |