* urgent fix for sonoma and #1114
(cherry picked from commit 960c34eca9)
* improved macos fix
Should also work on AMD RYZEN but please re-test
Same lines as already Ryzen tested but further testing on older ryzen and notebooks would be a good idea
improves on #1116
hopefull solves any other issues from #1114
(cherry picked from commit e4b876c2ef)
* MacOs update variant using more Haswell
See #1117
A recent macOS Sonoma update included a change to the handling of USB controllers that made the virtual keyboard and mouse inoperative. Changing the USB controller from ehci to xhci fixes it. This change also works for Big Sur and later, so the USB controller is set to xhci for Big Sur through Sonoma.
This adds disk_format=${disk_format:-qcow2} variable that defaults to
qcow2 format, so the vm.conf files can use $disk_format to specify the
format of the $disk_img when this is different from the default qcow2.
* Add windows languages, many bugfixes
Entering a release, edition, or OS with only part of a valid one will now throw an error, rather than attempting to download
i.e. $quickget windows 1 > "ERROR! Windows 1 is not a supported release", rather than attempting to download a nonexistent ISO
* Replace "languages" with "editions" to improve consistency
* Remove unnecessary code, hardcode windows editions to not waste time
* Add windows server, LTSC
* Windows server requires IDE drive
* Update Windows Guests section in README.md
* Improve support for windows server
Add back the language array, change stylization of languages in list
* Fix quickget show-iso-url and test-iso-url creating unnecessary directory
* Beautify output, add show-iso-url and test-iso-url for Windows (fully) and macOS (sorta)
* (NON-FUNCTIONAL) macrecovery shell script.
* Semi-functional (although incomplete) macrecovery shell script
Rough draft. To be completed, cleaned up and simplified (very much so)
hoping to merge into quickemu & replace the python macrecovery dependency.
* macrecovery shell script now successfully downloads the image. TODO: Verification
* Merged macrecovery functions into quickget. Chunkcheck (C) to replace macrecovery's image verification
Chunkcheck written by MCJack123: https://gist.github.com/MCJack123/943eaca762730ca4b7ae460b731b68e7
* Replace C chunkcheck binary with the Python equivalent. Re-add python to dependencies.
* force macOS guests to usually boot with core counts which are powers of 2; fix#865
* Add support for macOS Sonoma
* Fix issue where script would be unable to find chunkcheck if installed system-wide
* Update README verbiage
* Add headers to web_get function; macOS can now be downloaded via aria2; clean up code & output
* Add support for macOS Sonoma
* Fix use of wrong operator (>) which touches a file
* Small correction to README
* macOS switched from wget to default downloader (aria2/wget)
* Replace wget with cURL for downloading macOS chunklist file
* Fix variable naming in generate_id function
Added new configuration file option "sound_card" and new command-line
switch "--sound-card" to change the virtual sound hardware. Allowed
options are "intel-hda" (default), "ac97", "es1370", "sb16", and "none".
Also changed default sound card for Solaris to "ac97" and for FreeDOS to
"sb16".
* Add initial Solaris/Illumos support
* Fix OpenIndiana kernel panic on boot
The OpenIndiana kernel panics on boot in the AHCI driver. Switching the
machine type from "q35" to "pc" seems to fix the issue.
* Fix Illumos/OpenIndiana USB controller issue.
* Add openindiana support
* Updated quickget with current OpenIndiana release
* Change OpenIndiana video card to vmware-svga
OpenIndiana's default Xorg configuration doesn't work with QXL, virtio,
or VGA, but it does with vmware-svga.
* Updated man pages for OpenIndiana support
* Changed default Solaris/OpenIndiana boot to legacy
The OpenIndiana installer defaults to MBR partition table and BIOS boot
code even in EFI mode, so changed quickget to set 'boot="legacy"' in the
configuration file.
---------
Co-authored-by: Phil Clifford <philip.clifford@gmail.com>
Currently, the virtio specification does not include provision for the TRIM (aka DISCARD) command that allows a guest operating system to signal the disk hardware that blocks have become unused so that the underlying device may clear the physical data.
The TRIM/DISCARD command was introduced for SSD disks as an extension to the AHCI specification that is used in SATA systems.
With Virtual Machines we can use this command to tell QEMU's Qcow2 driver to reclaim unused space in the disk image. This ensures the disk image file is kept to the smallest size possible where without the TRIM/DISCARD command it grows to it's maximum configured size and never shrinks again when data is deleted.
Let's swap our default disk driver from `virtio-blk-pci` which does not support TRIM to `ahci` which does.
(We cannot use `virtio-scsi-pci` when running macOS, like we do in our default disk device, because macOS does not support SCSI disks at all on x86_64 systems.)
Currently, the virtio specification does not include provision for the TRIM (aka DISCARD) command that allows a guest operating system to signal the disk hardware that blocks have become unused so that the underlying device may clear the physical data.
The TRIM/DISCARD command was introduced for SSD disks as an extension to the AHCI specification that is used in SATA systems.
With Virtual Machines we can use this command to tell QEMU's Qcow2 driver to reclaim unused space in the disk image. This ensures the disk image file is kept to the smallest size possible where without the TRIM/DISCARD command it grows to it's maximum configured size and never shrinks again when data is deleted.
Let's swap our default disk driver from `virtio-blk-pci` which does not support TRIM to `virtio-scsi-pci` which does.
QEMU 7.0 introduces a change/regression where it is not possible to use GL accerlation via GTK/SDL displays and also bring up SPICE: https://gitlab.com/qemu-project/qemu/-/issues/1036
This patch prevents Quickemu from bringing up SPICE when GTK or SDK are selected as the display.
Run QEMU with '-vga none' to avoid having two scanouts, one for VGA and another for virtio-vga-gl.
- Workaround for a GTK assertion failure in gtk_widget_get_realized().
- Allows seamless mouse in macOS when using the qxl-vga device.
- Enables sane default resolutions in all support macOS versions.
* Add spice-app as display option
* Rework how we set the default OUTPUT
variable display is never set and display_param_check is already checked when parsing options
* enable overriding the gl param
3d acceleration is not stable on some setups (looking at you, nvidia)
Co-authored-by: Matej <spindler.matej@gmail.com>
* Extra OVMF search paths needed for Solus
who have moved things around
also spotted a possible typo to investigate in the void additions
* Revert "updated submodule position"
This reverts commit 9648f79b81b5e72465785993bc62469130ac848f.
* minor cleanup
* try realign submodule backwards
- add support to choose preferred usb-controller either ehci (USB2.0) or xhci (USB 3.0)
- add support to choose preferred keyboard either ps2, usb or virtio
- add support to choose preferred keyboard-layout
- add support to choose preferred mouse either ps2, usb, tablet, virtio
- fix some bugs regarding missing variables - releated to MONTITOR_TELNET_* and SERIAL_TELNET_*
- Support implemented on commandline as well as for configuration file
- support commandline parameter --serial, --serial-telnet-host and
--serial-telnet-port
- support serial options: 'socket', 'telnet' and 'none'
- add support to find free ports for monitor-telnet and serial-telnet
- replace nc with socat
- change default port for monitor-telnet to 4440
- some bugfix
- Add commandline parameter --public-dir for custom directory
- Add commandline parameter --monitor for qemu-monitor support
- Add commandline parameter --monitor-telnet-host and --monitor-telnet-port to configure qemu-monitor via telnet
- <VMNAME>.ports enhanced to provide data for monitor-telnet
- Support implemented on commandline as well as for configuration file
- Fixed bug regarding extra_args
- add suport for custom ssh-port and spice-port
- add suport for alternate viewer: 'remote-viewer' and 'none'
- support implemented on commandline as well as for configuration file
* Add support for FreeDOS 1.2 to quickget
* Add support for freedos guests to quickemu
* Add support for FreeDOS 1.3 to quickget
* Force qemu to keep booting from cd after formatting disk
* Adjust VM settings
* Refactor FreeDOS to use create_vm
* Add FreeDOS to README
* Add unzip to README as a dependency
* Add extra_args option in vm conf file
I added this simple piece of code for any extra arguments one wants to use.
You just add extra_args variable to your vm conf file.
ex. add host disk partition
extra_args="-drive file=/dev/sdb2,cache=none,if=virtio"
This is the easiest way to "extend" quickemu functionality.
* add missing variable
* Add support for braille terminal
fixes#307
* Add braille to Readme
* quote tidying
* currently requires sdl display
noted in the docs rather than forcing so if Qemu and/or brtty provide
a solution we will get immediate or easy benefit.
* add needed sdl to braille examples
Haiku is incompatible with the q35 machine type, as it emulates a ICH9
host chipset. Instad, the "pc" machine type needs to be used (emulates
I44FX).
https://wiki.qemu.org/Features/Q35
CD-ROM (iso), Disk, Internet and Audio are working now.
Also added forced LiveCD booting (because release named latest-iso, not latest-img).
Did some tweaks with '-machine' and '-cpu'. Now these VMs will run with 'qemu32' processor since KolibriOS throw an MTRR error (I didnt get how to fix it by any other way).