mirror of
				https://github.com/QubesOS/qubes-doc.git
				synced 2025-11-03 12:05:39 -05:00 
			
		
		
		
	Merge branch 'devel-overhead-cfg' of https://github.com/woju/qubes-doc
This commit is contained in:
		
						commit
						45e6e0b155
					
				
					 3 changed files with 41 additions and 0 deletions
				
			
		
							
								
								
									
										37
									
								
								configuration/gui-configuration.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								configuration/gui-configuration.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
---
 | 
			
		||||
layout: doc
 | 
			
		||||
title: GUI Configuration and Troubleshooting
 | 
			
		||||
permalink: /doc/gui-configuration/
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
GUI Configuration and Troubleshooting
 | 
			
		||||
=====================================
 | 
			
		||||
 | 
			
		||||
Video RAM adjustment for high-resolution displays
 | 
			
		||||
-------------------------------------------------
 | 
			
		||||
 | 
			
		||||
**Problem:** You have a 4K external display, and when you connect it, you can't click on anything but a small area in the upper-right corner.
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
The buffer is too small, and internal desktop resize fails.
 | 
			
		||||
 | 
			
		||||
**Solution:** 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.
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
							
								
								
									
										1
									
								
								doc.md
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								doc.md
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -128,6 +128,7 @@ Configuration Guides
 | 
			
		|||
 * [Resize Disk Image](/doc/resize-disk-image/)
 | 
			
		||||
 * [RPC Policies](/doc/rpc-policy/)
 | 
			
		||||
 * [Changing your Time Zone](/doc/change-time-zone)
 | 
			
		||||
 * [GUI Configuration and Troubleshooting](/doc/gui-configuration)
 | 
			
		||||
 * [Installing ZFS in Qubes](/doc/zfs/)
 | 
			
		||||
 * [Mutt Guide](/doc/mutt/)
 | 
			
		||||
 * [Postfix Guide](/doc/postfix/)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -90,6 +90,9 @@ to set the policy using current mechanism.
 | 
			
		|||
| `admin.vm.feature.List`                | vm        | -         | -                                         | `<feature>\n`                                             |
 | 
			
		||||
| `admin.vm.feature.Get`                 | vm        | feature   | -                                         | value                                                     |
 | 
			
		||||
| `admin.vm.feature.CheckWithTemplate`   | vm        | feature   | -                                         | value                                                     |
 | 
			
		||||
| `admin.vm.feature.CheckWithNetvm`      | vm        | feature   | -                                         | value                                                     |
 | 
			
		||||
| `admin.vm.feature.CheckWithAdminVM`    | vm        | feature   | -                                         | value                                                     |
 | 
			
		||||
| `admin.vm.feature.CheckWithTemplateAndAdminVM`| vm | feature   | -                                         | value                                                     |
 | 
			
		||||
| `admin.vm.feature.Remove`              | vm        | feature   | -                                         | -                                                         |
 | 
			
		||||
| `admin.vm.feature.Set`                 | vm        | feature   | value                                     | -                                                         |
 | 
			
		||||
| `admin.vm.tag.List`                    | vm        | -         | -                                         | `<tag>\n`                                                 |
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue