How-to: Install the Stable Version of Qubes-Whonix ™ 16
Table: Qubes-Whonix ™ 16 Release Notices
|Qubes Version Support|
In case technical issues are experienced such as broken
The instructions on this wiki page have bad usability. These are mostly out of control of the Whonix ™ project. See footnote for more information. 
|Qubes-Whonix ™ 15 to Qubes-Whonix ™ 16 Release Upgrade||This is a notice for users who currently have Qubes-Whonix ™ 15 installed.
If Qubes-Whonix ™ 15 is installed and you want to get Qubes-Whonix ™ 16, there is no need to uninstall Qubes-Whonix ™ 15 before proceeding according to the instructions on this wiki page. This is because the new templates (
In this case, App Qubes that were previously configured to use Qubes-Whonix ™ 15 templates will keep using them -- the Templates of any App Qubes are not automatically changed to the newly installed Qubes-Whonix ™ 16 templates. This is a Qubes default and unspecific to Qubes-Whonix ™.  Therefore, a manual change must be applied to App Qubes settings by the user. The rationale is to prevent unexpected changes of an App Qube's Template without the user's consent. 
After the Qubes-Whonix ™ installation has finished, it is recommended to manually change the setting of any App Qubes still using Qubes-Whonix ™ 15 Templates to the Qubes-Whonix ™ 16 Templates. 
|Preexisting Qubes-Whonix ™ 16 Installations||
This is a notice for users who already have Qubes-Whonix ™ 16 installed.
If any user data was stored in Qubes-Whonix ™ VMs, before re-installation, back up any existing data.
If you are already running Qubes-Whonix ™ 16, it must be uninstalled before a complete re-installation is performed. This is also necessary when Qubes-Whonix ™ 16 is bundled as part of future Qubes releases, and auto-configuration is selected during the installation.
Two re-installation options are available (listed in order of preference):
Click the Qubes App Launcher (blue/grey "Q") →
Open the Terminal Emulator (Xfce Terminal)
dom0. This step is mandatory. 
Download Whonix ™ Templates and Configure
dom0, run. 
sudo qubes-dom0-update --enablerepo=qubes-templates-community qubes-template-whonix-gw-16 qubes-template-whonix-ws-16
sudo qubesctl state.sls qvm.anon-whonix
Refer to the footnotes for troubleshooting tips. 
Whonix ™ Disposable Template
sudo qubesctl state.sls qvm.whonix-ws-dvm
There is a bug that may cause the dvm template to run instead of the disposable vm. If this happens, just log off and back on (there is no need to reinstall or set up the disposable vm again). (Source: https://github.com/QubesOS/qubes-issues/issues/3574 [archive] )
Updates over Tor
To force all Template updates over Tor,  use salt in
sudo qubesctl state.sls qvm.updates-via-whonix
To undo this setting, modify
dom0.  See also How-to: Fix dom0 Qubes-Whonix ™ UpdatesProxy Settings.
dom0 updates over Tor, set Qubes'
dom0 UpdateVM to
To revert this change, set Qubes'
dom0 UpdateVM to
sys-firewall or another preferred VM. 
Testers wanted! If you are interested, click on Expand on the right.
The following steps should be completed in
dom0 for both
whonix-ws-16 Templates.  After these settings are applied to the Whonix ™ templates, the
sys-whonix (ProxyVM) and
anon-whonix (App Qube) will inherit the AppArmor kernel settings.
It is unnecessary to recreate the
anon-whonix App Qubes to benefit from the new kernel parameters.  It is also important to verify AppArmor is active in the
anon-whonix VMs after making these changes.
Update and Launch Applications
Before starting applications in the Whonix-Workstation ™ App Qube, update both Whonix-Gateway ™ and Whonix-Workstation ™ Templates.
To launch an application like Tor Browser:
Qubes App Launcher (blue/grey "Q")→
Tor Browser (AnonDist)
It is recommended to refer to these additional references:
- specifically: Qubes feature request: self-contained Qubes templates including meta scripts (salt) / improve Qubes-Whonix installation usability (#6948) [archive]
- generally: Linux User Experience versus Commercial Operating Systems
- This is also true for other distribution Templates. For example, users of the Qubes
debian-10Template will not have all their App Qubes updated to the new
debian-11Template by default when it is downloaded.
- For example, this could result in breakage if custom-installed applications in the old Template were not available in the new Template.
This is required to make sure
- version file
/srv/formulas/base/virtual-machines-formula/qvm/whonix.jinjacontains the current version number of Whonix ™ is up to date,
- a recent version of Qubes repository definition files,
- Qubes salt,
- qubes-core-admin-addon-whonix [archive],
- as well as qubes-mgmt-salt-dom0-virtual-machines [archive] are installed and up to date.
- version file
It should not be necessary to manually update that file because the Qubes
dom0stable package should have updated it already. If it didn't, then the cause is general issues unspecific to Whonix ™.
- The following Qubes issues have been resolved:
- Useful because it has a progress indicator while the subsequent
qubesctlcommand does not. (Qubes feature request: add salt download progress indicator [archive]) It very confusing to have a long running download command with progress bar, specifically over Tor.
- Insufficient by itself - the subsequent
qubesctlcommand that follow is mandatory as per phase out manual use of qubes-dom0-update by user / replace it by salt [archive] and Dev/Qubes#salt.
--enablerepo=qubes-templates-communitycan be omitted if Qubes Community Templates Repository is already enabled in
- Qubes Community Templates Repository should already be enabled as per Qubes default unless disabled by user, restored Qubes-Whonix ™ from backup or some other edge case.
- Recommending to type
--enablerepo=qubes-templates-communityis bad usability since users cannot copy from their VM browser where they are most likely reading this to
dom0. But too many people reported this issue. had to enable Qubes templates community repository [archive]
- If Qubes Community Templates Repository is not enabled in
dom0, explicitly add
--enablerepo=qubes-templates-communityor enable through editing dom0 file
- If not done above, already, would also download both Whonix-Gateway ™ and Whonix-Workstation ™ Templates.
Before executing the call in this section standalone without prior running of
- No progress indicator is shown. Qubes feature request: add salt download progress indicator [archive]
- Do not interrupt the salt process once it has started or this can lead to an unstable system [archive].
qubesctlstill does not work, try shutting down Qubes OS and rebooting the machine. Please report if this step was necessary for you!
- https://github.com/QubesOS/qubes-mgmt-salt-dom0-virtual-machines/blob/master/qvm/whonix-ws-16-dvm.sls [archive]
- In Qubes-R4 and above, RPC/qrexec UpdatesProxy is used to update Templates
- salt [archive]
- https://github.com/QubesOS/qubes-mgmt-salt-dom0-virtual-machines/blob/master/qvm/updates-via-whonix.sls [archive]
- https://groups.google.com/forum/?_escaped_fragment_=topic/qubes-users/_jI2uWPPMMA#!topic/qubes-users/_jI2uWPPMMA [archive]
Or manually set the torified UpdateVM in
qubes-prefs updatevm sys-whonix
To revert this change in
qubes-prefs updatevm sys-firewall
Debian has enabled AppArmor by default since the
busterrelease, but Fedora has not. This matters because Qubes is Fedora-based and therefore uses the
dom0(not VM) kernel by default. Therefore this step is still required even though Whonix ™ is based on a recent enough Debian version.
- Since Qubes R3.0, App Qubes inherit the kernelopts setting of their Template [archive].