General Settings
THIS PAGE IS INTENDED FOR TRANSLATION but MAY ALSO BE USED FOR REFERENCE
As with much of computing, users will benefit from some basic understanding of English
However:
Click here to GOOGLE AUTO-TRANSLATE THIS PAGE
!/usr/bin/env bash
Copyright (c) Alex Genovese https://github.com/qqxproject/qqX
Licence: GPL3 https://www.gnu.org/licenses
EXTRACTED from qqX version 1.13.04 / 05
The actual source code may also be translated but Google may sometimes complain.
Click here to translate the actual current version
Settings file for qqX - quickemu quickget X terminal project
qqX installer will create a hidden folder at $HOME & will place the settings there
Settings may normally opened and edited via the qqX menu interface
Alternatively, may be edited via the file manager, usually ctrl-h to unhide/hide files
shellcheck disable=SC2034,SC2154
SET THE DEFAULT GENERAL VM FOLDER, where the Virtual Machines are normally stored
Installation pre-set is "$HOME/VMQs" - Reconfigure as appropriate
Contains the .conf files and the 'InstanceName' containers
Default_VM_Folder="$HOME/VMQs"
ADD any EXTRA FOLDERS OR SUB-FOLDERS where VM's may be located
leave blank for none, set one entry per folder as +=("/full/path/folder") or +=("$Default_VM_Folder/folder")
or multiple as quoted and space separated as in +=("/full/path/folder" "/full/path/folder" "/full/path/folder")
or as in +=("$HOME/VMQs/folder" "$HOME/VMQs/folder" "$HOME/VMQs/folder")
Extra_VM_Folder+=("")
Extra_VM_Folder+=("")
Extra_VM_Folder+=("")
GENERAL COLOR & THEMING
Yellow 3 (recommended), Blue 4, Cyan 6 (brighter blue), Red 1
On Ubuntu purple, recommend 1 or 6 More: https://en.wikipedia.org/wiki/ANSI_escape_code8-bit
X_Shade="3"
Translation LANGUAGE for [tx] pop-ups
@ 2025, the following have DIRECT PAIR Google data files and are KNOWN WORKABLE
af ar az bg bn ca cs cy da de el es et fa fi fr gl gu hi hr ht hu id is it ja ka ko lt lv mr ms nl no pa pl pt
ro ru sk sl sq sr sv sw th tr uk ur vi zh zh-TW See https://cloud.google.com/translate/docs/languagesautoml
qqX messages will normally display in English but will use one of the listed languages in limited amounts, if set or detected
Set here, FROM PAIRS LIST, if a non-autodetected option is preferred
This setting will also affect browser output, although forcing may be used
Default_TxLang=""
Set here to FORCE A BROWSER TRANSLATION in a language that is not in the list but is known to translate
See https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
NOT ALL WILL WORK, but those two char that have been assigned are
Iso_639_1_List="aa ab ae af ak am an ar as av ay az ba be bg bi bm bn bo br bs ca ce ch co cr cs cu cv cy da de dv dz ee el en eo es et eu "
Iso_639_1_List+="fa ff fi fj fo fr fy ga gd gl gn gu gv ha he hi ho hr ht hu hy hz ia id ie ig ii ik io is it iu ja jv ka kg ki kj kk kl km "
Iso_639_1_List+="kn ko kr ks ku kv kw ky la lb lg li ln lo lt lu lv mg mh mi mk ml mn mr ms mt my na nb nd ne ng nl nn no nr nv ny oc oj om "
Iso_639_1_List+="or os pa pi pl ps pt qu rm rn ro ru rw sa sc sd se sg si sk sl sm sn so sq sr ss st su sv sw ta te tg th ti tk tl tn to tr "
Iso_639_1_List+="ts tt tw ty ug uk ur uz ve vi vo wa wo xh yi yo za zh zu"
Note that forced languages will normally show internal pop-ups in English but alternatives may be default set, if direct pair listed above
Forced_TxLang=""
Other SETTINGS SECTIONS AVAILABLE
VM SELECTOR INTERFACE
'QUICKEMU' & 'QUICKGET' SOURCE
qqX UPDATES
EDITOR & BROWSER PROGRAMS
BOOT DEFAULTS, MSR, LOCALE, SCREENS and SIZES
SHARED or SECOND DRIVES
ERROR HANDLING
QEMU VERSIONING
qqX CUSTOM BOOTING & EXTRA ARGS
TIANO BIOS
CUSTOM SETTINGS & DEVELOPMENT
VM SELECTOR
Normally the first opening menu, used to select VM's. Default style A
Style may be previewed in the menu. Suggest E or B as numbers of distros increases
VM_SelectorStyle="A"
OPTIONAL: select VM's to show AT THE TOP of the list
Where [n,0] is the full path general folder / sub-folder & [n,1] is the .conf file
eg
VM_Array[0,0]="$Default_VM_Folder" ; VM_Array[0,1]="windows-11.conf"
VM_Array[1,0]="$Default_VM_Folder/MAC" ; VM_Array[1,1]="macos-catalina.conf"
VM_Array[2,0]="/media/xxx/Storage/VMQs" ; VM_Array[2,1]="windows-insider.conf"
ADD here. Make sure to remove the '' in order to activate the line
VM_Array[0,0]="$Default_VM_Folder" ; VM_Array[0,1]=""
VM_Array[1,0]="$Default_VM_Folder" ; VM_Array[1,1]=""
VM_Array[2,0]= ; VM_Array[2,1]=
MUST BE set as CONTIGIUOUS, non-sparse, no numeric sequence gaps
ie: 0, 1, 2, 3 ... when counting the first number of the first pair, on each line
COMMENT OUT with any Non-Present VM entries
ITEMS PER LINE
Number counts starts at 0, may be adjusted to match terminal size and/or VM quota
Style A setting, default ="4"
VM_Select_Items_style_A_PerLine=
Style B setting, default ="1"
VM_Select_Items_style_B_PerLine=
Style C & D setting, default ="3"
VM_Select_Items_style_C_PerLine=
Style E setting, default ="2"
VM_Select_Items_style_E_PerLine=
Default is set internally at ="7" but certain internal functions may temporarily reduce this to as low as 2 or 3
Use with caution. Suggest 5 or 6 as lowest setting. Normally leave blank
Force_GetList_NewLinePoint=
For custom vm selector styles: see notes in the file "qqX_VM_array_and_Select", in the folder qqX.main
For custom main menu: see file "qqX_main_menu_interface"
Also see qqX wiki
FIND DISTRO
Set number of distros showing before find option shows on menu. Useful for large collections
Set value at 2x actual. Suggest around 15 or 20 distros, eg set @ 30 or 40, default = 32
ShowFindPoint="32"
FILTERS
From version 1.13, defaults to showing desktop focussed distros only, with in-menu filter selection for other types
="all" ="desktop" ="server-cl" etc to force otherwise, see filter menu for full list
VM_ListingFilterDefault=
'QUICKEMU' & 'QUICKGET' SOURCE
IMPORTANT @ 2024/04 quickemu underwent major changes
TO KEEP qqX STABLE, built-in releases were introduced from qqX version 1.8 onwards
These are essentially identical to the official releases, except for changes to the version number, for identification purposes
Quickemu is a good project but it has suffered at times from an intermittent maintenance cycle with
short notice releases and often months long periods of community-only activity
The idea is still to REMAIN CLOSELY CONNECTED TO THE QUICKEMU SOURCE but to protect qqX from any unexpected API or code changes
and to have the possibilty, if needed or wished, of allowing in selected pre-release community contributions
2024/04 was A TURNING POINT which came at the end of what was a frustratingly long period for many people
during which fixes and features from the quickemu community had accumulated and sat there waiting to be merged
However @ 2025/04 patchy upstream maintainence and developer differences continue
Running of STANDARD QUICKEMU FILES is NOW DEPRECATED as not all of the features and functions will work
qqX versions now contain multiple downstream fixes and general improvements, plus various adjustments to runtime process controls
To run qqX generated machines in original upstream mode, use 'quickemu -vm distro-name.conf' at the command line
Versions may be start default set and additionally hot-swapped via the standard qqX menus
Branches - Source code and diff comparisons are at https://github.com/qqxproject/quickemu/branches
Named versions are generally as follows
FreeSpirit - As FreeBird, or as FreeBird but more spirited, with newer ideas and fixes if they are EXPECTED TO BE STABLE
Probably includes some official pre-release, or qqX and Community pre-release, or both
FreeBird - Based on time tested FreeSpirit or on official code. Generally tested as STABLE
Contains the usual qqX additions and tweaks. May contain a few official pre-release improvements
HomeBird - An older FreeBird release. Just in case of the unforeseen
Echo - An older official quickemu release. Should generally work with qqX. May be useful?
System - The latest official quickemu release, as it is on the system. Use with caution. New releases can often have problems
Custom/Dev - Your own customised or development version. SEE THE NOTES TOWARDS THE END OF THE SETTINGS FILE
Set qqX start default in the settings file as quoted "name" or may be set blank for qqX selected
FreeBird or FreeSpirit are recommended
QE_SourceVersion="FreeBird"
qqX UPDATES
Checks quietly for new GitHub releases (set =1 if not required)
Disable_qqX_upd_Checks=
Hide beta releases (when checking is enabled) Default = blank (show)
Hide_qqX_BetaUpdates=
Option for a Specified folder, in which sub folder "qqX.releases" gets to be placed, other than the usual like ~/Downloads
Give full path eg "/media/xxx/Storage/qqX.files"
Specified_Updates_Location=
OTHER PROGRAMS
TEXT EDITOR
Leave blank to use system defaults for editing the settings file, otherwise give "name" of a specific editor
eg. gedit, pluma, gnome-text-editor, kate, mousepad, leafpad ... If not found qqX will try defaults
For qt based distros, eg KDE, LXQT, then Kate is recommended, for gnome base use gnome-text-editor
Typing/pasting 'xdg-mime query default text/plain' at the terminal may help
TextEditor=
FILE MANAGER
Allows opening of the VM folder into new window, to view log files and contents (distro behaviour may vary)
XDG default followed by popular names selected in the following order: caja, nautilus, dolphin, pcmanfm
Terminal command 'xdg-mime query default inode/directory' may help
May be left blank, if not known. Or may be set ="no" to hide menu options, if name cannot be resolved
FileManager=
WEB BROWSER
Allows opening of VM homepages and other URL's (distro behaviour may vary)
Terminal command 'xdg-settings get default-web-browser' may help
Known issue https://discourse.ubuntu.com/t/firefox-snap-testing-2021-2022/24663/93
XDG default followed popular names selected in the following order: firefox, google-chrome, falkon
Give quoted name or may be left blank, if not known. Or may be set ="no" to hide menu options, if name cannot be resolved
WebBrowser=
BOOT DEFAULTS
For BIOS settings, see TIANO BIOS further down
SCREEN %PERCENTAGE may be added here or INDIVIDUALLY in the .conf file as 'Custom_SDL_ScreenPercent'
Use just the value, eg. ="68" Suggested values from 50 to 70 as a percentage of the physical monitor
From quickemu 4.8 onwards, where value is integer from 25 to 99 & for Linux VM's, SDL only
Default_SDL_ScreenPercent="60"
VM SCREEN SIZE may be added here. Standard values are suggested. Oddball sizes may cause unsharp display
Or INDIVIDUALLY in the .conf file as 'Custom_SDL_ScreenSize'
From quickemu 4.9.5 onwards For Linux VM's, SDL only
qqX still allows percent as a value in later code. Size, if present, takes priority over percent
Windows determines its own sizes, as does earlier code for Macs
For later code MacOS should now use Size as per release in the conf files. See qqX wiki notes for Mac
Set Linux sizes as ="XxY" Eg 3200x1800 2560x1440 2560x1080 1600x900 1920x1080 1920x720 etc
Default_SDL_ScreenSize=""
PHYSICAL MONITOR SIZE - quickemu 4.9.5 onwards
Set here, if 'xrandr' is not detecting size correctly eg 3840x2160
PhysicalMonitor=
PHYSICAL MONITOR - SELECTION See Extra Args section
GL GRAPHICS by default are "on". Individually, placing gl as = "off" in the .conf file will reverse this
This state may be toggled from the main menu or set here to normally boot as "off"
While "on" can give enhanced output, "off" has increased distro compatibility and also allows scaling in SDL mode
Leave blank for "on" or set =1 for "off" Individually, both states of "on" or "off" may be set in the .conf file
SetGL_DefaultAsOff=
LOCALE
Setting to =1 will increase the use of more locale-centric language/typeface features, if needed
BUT this may upset some input/output filters .... (CAUTION)
AllowMoreLocale=
MSR
Set =1 for more prompting. Standard prompting will be less active in warning situations
Setting MSR_Warnings to =1 will unhide minor warnings on the standard (non technical) interface
MSR_Warnings= Verbose_MSR_dialog=
File location for default KVM behaviour for unhandled machine-specific registers
Leave blank for standard settings. Edit here if your OS locates 'modprobe.d' differently
quickemu / qwrap / qqX default is "/etc/modprobe.d/kvm-quickemu.conf"
KVM_MSR_ModProbeFile=
KILL DIALOG
Time adjuster for pkill display. Adds a delay to allow background processes time to output to screen
Normal recommended integer = 2 to 10 secs Adjust if your guest/host combo's find this too fast or slow
Originally intended, primarily, to handle the "gl_version 46" output. This particular is now filtered from QEMU 8.0 on
P_Kill_WaitSecs="4"
SHARED or SECOND DRIVES
May be auto-created in qqX via the utils menu
The Shared drive is a useful when in SDL mode & available to all VMs while a Second drive is a quick way to expand
an individual VM's storage. Use Gparted, 'Disks' or similar, inside a VM, to set a file table, format and mount
Give SharedDrive full location here eg. ="$Default_VM_Folder/SharedDrive/shared.qcow2"
SET SharedDrive_Conf as ="no-shared" IN THE .CONF FILE to individually stop the Shared Drive from loading
SharedDrive=""
For WINDOWS, the drive should be set as GPT & formatted as NTFS. The process should carried out by a Linux OS
MAC OS older than and including 10.13 Mojave 2018 might need a flag IN THE .CONF FILE to stop possible drive conflicts
Quickemu code has the following note: "VirtIO Block Media doesn't work in High Sierra (at all) or the Mojave (Recovery Image)"
Development tests with Mojave show both a Shared NTFS and a Second APFS to be working
SET MacLegacyDrive as ="true" to load Second Drive (& not Shared) as 'ide-hd' instead of 'virtio-blk-pci'
SharedDrive always loads as 'virtio-blk-pci' See https://en.wikipedia.org/wiki/MacOS_version_history
qqX adds SecondDrives to the .CONF FILE, eg as ="Windows-11/storage.qcow2"
ERRORS
QEMU ERROR FILTER - QL LOG
Add here any 'errors' that changes in QEMU might throw up and that we want to generally ignore eg. "warning" or "deprecated"
Add QemuError_VM_Filter=("warning" "deprecated") eg. to the .conf file for INDIVIDUALLY problematic distros
@ 2023/12 Defaults: QemuErrorFilter=("gl_version" "signal 15 from pid")
2024/07 add https://discussion.fedoraproject.org/t/selinux-alert-gst-plugin-scan-getattr-run-pcscd-pcscd-comm/79378
MacOS can often throw "usb_desc_get_descriptor" if the mouse/keyboard setting is not quite right
but these not always critical and can be session supressed in the [ql] menu, then permanently in the .conf when the config is okay
Add any new values to the checking arrays as double quoted & space separated. Use the '+=' for further lines
QemuErrorFilter=("gl_version" "signal 15 from pid" "gst-plugin-scan")
QemuErrorFilter+=("")
FIXES for QUICKEMU'S QEMU 'args'
Selected fixes & hot-fixes for the quickemu code that gets passed to QEMU
where quickemu has not yet fixed things or has released the fix. Some may not be needed or may be distro specfic
Set = blank to disable, if causing problems or if not needed with your particular installation. Set = 1 to activate
FixArgs_hpet=1 FixArgs_smartcard=1
QEMU VERSION
QEMU version 8.1.0 or newer is currently required for all functions to work
while QEMU version 6.1.0 is baseline for GL functions
An overide may be used, if needed. Set =1 to force version present on system
QemuShortVerOveride=
Hardcoded quickemu default is 'qemu-system-x86_64' with machine 'q35'
For unexpected QEMU changes, system may be set here, if required
At the cmd line, type: "qemu-system-x86_64 -machine help" to see machine options
QEMU_Default_SystemType= QEMU_Default_MachineType=
qqX CUSTOM BOOTING, including simple tweaks or the Arm, Risc-V and other machine & system types
The file "Qemu_ShortArgs_List.txt" in the VM folder may be used as the basis for INDIVIDUAL custom boot scripts
Run the VM in the boot mode required, eg sdl, spice etc. Verbose output may be used, esp. if the VM is not expected to boot
Then either via the Utils menu or manually from the VM folder the ShortArgs file may be renamed as "Qemu_ShortArgs_Custom.txt"
Edits may be made line by line. Comments and blank lines may be used, and will be ignored
See qqX wiki for further how to details and discussion
Set default menu style to load up if a custom args file is present. Set =1 for Hybrid instead of Standard. (may be in menu toggled)
PreferHybridCustomMenus=
Extra QEMU args may be added here, as GLOBAL. Also add ad hoc via the main menu
Format = "group quoted" with single-space separated elements eg: ExtraArgs="-device tpm-tis,tpmdev=tpm0"
See https://qemu.readthedocs.io/en/latest/system/invocation.html
ExtraArgs=
Extra QUICKEMU parameters to be used GLOBALLY at VM run time
Format = "group quoted" with single-space separated elements eg: Extra_QE_Params="--screen 0"
See quickemu --help for full list NB not all options can be applicable CAUTION
Of note: "--full-screen" only works with spice display ... && will overide --screenpct
DUAL DISPLAY users should set "--screen 0" or "--screen 1" to select the monitor
See quickemu project main page for more details: https://github.com/quickemu-project/quickemu
Extra_QE_Params=
HEADLESS commands may be set using Extra_QE_Params using "--display none" BUT
to avoid this affecting all machines it is recommended to add 'HeadlessDisplay' as ="true" to the .conf file
NB headless ONLY RUNS IN SPICE and an SSH connection may need to be set as an extra QE parameter
Originally: https://github.com/quickemu-project/quickemuheadless
--ssh-port port
: Set ssh-port manually
BUT Improved from Quickemu 4.9.1 https://github.com/quickemu-project/quickemu/pull/835
--access : Enable remote spice access support. 'local' | 'remote' | 'clientipaddress'
May be set INDIVIDUALLY by placing eg ACCESS="1.1.1.1" in the .conf file (NB 'ACCESS' in CAPS, but value in lower case)
Note that if unset then quickemu will default this to = local
VERBOSE BOOT
Set =1 to normally display the qemu args, with okay dialogue, in human readable & before booting
Set blank for log file only. NB A main menu toggle is also available and a log file is always outputted to the VM's folder
VerboseArgs=
TIANO BIOS
The Tiano boot system that is used by quickemu will require updating if there are feature or security changes made to the code
(03/2024) Quickemu, currently places edk.fd vars into the VM folder. And there they remain
It is theoretically possible that system updates containing feature changes may seek variables in these files that don't exist
Quickemu will also place binary files, in the case of MacOS, which are only downloaded by running Quickget
There are also .bin files listed in the Quickemu code for use by some Linux distros
qqX features an [rtv] option which may be run manually, to Refresh (the) Tiano Variables (and such)
But to avoid tedium, this feature defaults to periodically auto-running. Set = 1 to turn this off, if required (?)
RtvManualOnly=
In manual-only mode, qqX will remind you, from time to time, to run the updater
The MacOS reminder runs more frequently, as this is viewed as more critical
As above, set = 1 to turn these off too, if required (?)
RtvStdRmdOff= RtvMacosRmdOff=
Standard Arm AAVMF source folder = "/usr/share/AAVMF" >> Variations may be placed here
Defaults to auto-update, as below
RtvArmFolder=
The Tiano core provides a 3 second window to access the BIOS via the escape key
This allows you to select a boot from ISO option and can also be useful for Windows updates
Instance Session overides can be toggled from the Utilities menu, or individually by placing
'BootStyle' either as ="fast" or ="slow" in the .conf file
Default ="fast" as this will slightly speed up the normal boot sequence
BootStyle="fast"
Set ="fast" to skip the ISO boot checks and instructions
Default ="slow" as this only shows if BootStyle has been specifically set to slow
Also use 'BootStyleMsg' for individual overides in the .conf if wished
BootStyleMsg="slow"
CUSTOM SETTINGS FILE
The qqX upgrader utility will tidy up and possibly remove any 'obsolete' code and comments from this file
For advanced custom tweaks or things that you want to keep safe, you should make a custom settings file
next door to this one, in '.qqX' in your home folder (normally use ctrl-h to unhide) "$HOME/.qqX/custom_settings"
CUSTOM QUICKEMU & QUICKGET and DEVELOPMENT
Sometimes different quickemu/quickget versions maybe be needed, or different custom versions produced
Official versions may be downloaded at https://github.com/quickemu-project/quickemu/releases
Remember that official releases of quickget tend to check quickemu for the version number
In the past, different quickget/quickemu release/custom versions have been generally mix/matchable
as long as, a structure similar to quickemu 4.4 onwards has been used
Place 'Custom' scripts in a 'QE.Custom' sub-folder to "$Default_VM_Folder/qqX.custom" in a similar manner
to that used for FreeBird. This preset path will be auto-checked
For 'Dev' give full path of your Quickemu source clone here, "$HOME/Files/myClone"
QE_DevPath may be left set. This path will only be used if Version is set to 'Dev'
QE_DevPath=
QE_SourceVersion may also be set here as a temporary overwrite to the main settings at the top of the script
This will get reset here, if doing a settings update
QE_SourceVersion="Dev"
Inside the folder, all script names should be as standard. Plus, add all ancilliary scripts, such as macrecovery/chunkcheck etc
qqX will select this folder and will also add it to '$PATH' to make sure the correct ancilliaries are found
NB no spaces in path, as quoted paths can only be added to the end of $PATH and we need the source path as first
Branches - Source code and diff comparisons are at https://github.com/qqxproject/quickemu/branches
Named versions are generally as follows
FreeSpirit - As FreeBird, or as FreeBird but more spirited, with newer ideas and fixes if they are EXPECTED TO BE STABLE
Probably includes some official pre-release, or qqX and Community pre-release, or both
FreeBird - Based on time tested FreeSpirit or on official code. Generally tested as STABLE
Contains the usual qqX additions and tweaks. May contain a few official pre-release improvements
HomeBird - An older FreeBird release. Just in case of the unforeseen
Echo - An older official quickemu release. Should generally work with qqX. May be useful?
System - The latest official quickemu release, as it is on the system. Use with caution. New releases can often have problems
Custom/Dev - Your own customised or development version. See the notes here, at the end of the settings file
FreeBird is default. Set blank for default
End of Settings
https://code.visualstudio.com/
vim:tabstop=2:shiftwidth=2:expandtab