mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2024-10-01 01:25:40 -04:00
a18174dc5e
Thank you to @unman for the initial sentence case pass.
58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
---
|
||
lang: en
|
||
layout: doc
|
||
permalink: /doc/gui-configuration/
|
||
ref: 184
|
||
title: GUI configuration
|
||
---
|
||
|
||
## Video RAM adjustment for high-resolution displays
|
||
|
||
When a qube starts, a fixed amount of RAM is allocated to the graphics buffer called video RAM.
|
||
This buffer needs to be at least as big as the whole desktop, accounting for all displays that are or will be connected to the machine.
|
||
By default, it is as much as needed for the current display and an additional full HD (FHD) display (1920×1080 8 bit/channel RGBA).
|
||
This logic fails when the machine has primary display in FHD resolution and, after starting some qubes, a 4K display is connected.
|
||
If the buffer is too small, and internal desktop resize fails.
|
||
|
||
To increase the minimum size of the video RAM buffer:
|
||
|
||
```sh
|
||
qvm-features dom0 gui-videoram-min $(($WIDTH * $HEIGHT * 4 / 1024))
|
||
qvm-features dom0 gui-videoram-overhead 0
|
||
```
|
||
|
||
Where `$WIDTH`×`$HEIGHT` is the maximum desktop size that you anticipate needing.
|
||
For example, if you expect to use a 1080p display and a 4k display side-by-side, that is `(1920 + 3840) × 2160 × 4 / 1024 = 48600`, or slightly more than 48 MiB per qube.
|
||
After making these adjustments, the qubes need to be restarted.
|
||
|
||
In the case of multiple display with different orientations or if you plug/unplug displays, the following code will set correct memory size using xrandr.
|
||
```sh
|
||
qvm-features dom0 gui-videoram-min $(xrandr --verbose | grep "Screen 0" | sed -e 's/.*current //' -e 's/\,.*//' | awk '{print $1*$3*4/1024}')
|
||
```
|
||
|
||
The amount of memory allocated per qube is the maximum of:
|
||
- `gui-videoram-min`
|
||
- current display + `gui-videoram-overhead`
|
||
|
||
Default overhead is about 8 MiB, which is enough for a 1080p display (see above).
|
||
So, the `gui-videoram-overhead` zeroing is not strictly necessary; it only avoids allocating memory that will not be used.
|
||
|
||
You might face issues when playing video, if the video is choppy instead of
|
||
smooth display this could be because the X server doesn't work. You can use the
|
||
Linux terminal (Ctrl-Alt-F2) after starting the virtual machine, login. You can
|
||
look at the Xorg logs file. As an option you can have the below config as
|
||
well present in `/etc/X11/xorg.conf.d/90-intel.conf`, depends on HD graphics
|
||
though -
|
||
|
||
```bash
|
||
Section "Device"
|
||
Identifier "Intel Graphics"
|
||
Driver "intel"
|
||
Option "TearFree" "true"
|
||
EndSection
|
||
```
|
||
|
||
## GUI Troubleshooting
|
||
|
||
See [GUI Troubleshooting](/doc/gui-troubleshooting) for issues relating to the Qubes graphical user interface and how to fix them.
|