Some adjustment is needed.
After more testing, it appears that correct default display property name for Whonix VM is Virtual-1
, not Virtual-0
(this seems to correspond to the virtio video model, see below).
Just tested now: using newly built Whonix VM 15.0.1.0.3, on first boot the expected 1920x1080 resolution did not launch. It appears that it is caused by the fact that Whonix VM default display name is Virtual-1
and not Virtual-0
, and thus it could not launch the correct settings for Virtual-0
. Replacing Virtual-0
by Virtual-1
in the skel file fixes the error (now boots into 1920x1080 mode on first boot).
Explanation (empiric findings):
It seems that current Whonix KVM video settings (virtio video model type):
<video>
<model type='virtio' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
result in a Virtual-1
display value inside the Whonix VM (by the way is there a specific reason for using virtio driver instead of virt-manager default qxl driver?).
When replacing these values by default values set by virt-manager for a new virtual machine (qxl video model):
<video>
<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
Whonix VM display is now set to Virtual-0
.
Could you please test it on your own hardware?
- → boot a Whonix VM (gw or ws): what does the “display” setting show? (expected:
Virtual-1
).
- → shut down the vm. In virt-manager, change the “video” model from virtio to QXL. Reboot the vm. What does the “display” setting show? (expected:
Virtual-0
)…
If you confirm my findings I assume we can safely replace Virtual-0
by Virtual-1
in vm-config-dist/displays.xml at master · Kicksecure/vm-config-dist · GitHub
Another, maybe even safer solution would be to duplicate Virtual-0
settings for Virtual-1
, just in case. This seems to work in all scenarios (correct Virtual-0
or Virtual-1
settings are picked up by the machine automatically depending on the video driver used):
<?xml version="1.0" encoding="UTF-8"?>
<channel name="displays" version="1.0">
<property name="Default" type="empty">
<property name="Virtual-0" type="string" value="Virtual-0">
<property name="Active" type="bool" value="true"/>
<property name="Resolution" type="string" value="1920x1080"/>
<property name="RefreshRate" type="double" value="60"/>
<property name="Rotation" type="int" value="0"/>
<property name="Reflection" type="string" value="0"/>
<property name="Primary" type="bool" value="true"/>
<property name="Position" type="empty">
<property name="X" type="int" value="0"/>
<property name="Y" type="int" value="0"/>
</property>
</property>
<property name="Virtual-1" type="string" value="Virtual-1">
<property name="Active" type="bool" value="true"/>
<property name="Resolution" type="string" value="1920x1080"/>
<property name="RefreshRate" type="double" value="60"/>
<property name="Rotation" type="int" value="0"/>
<property name="Reflection" type="string" value="0"/>
<property name="Primary" type="bool" value="true"/>
<property name="Position" type="empty">
<property name="X" type="int" value="0"/>
<property name="Y" type="int" value="0"/>
</property>
</property>
</property>