Commit Graph

619 Commits

Author SHA1 Message Date
Martin Wimpress f2087c376b chore: white space clean up 2024-04-11 23:48:44 +01:00
Martin Wimpress 0d5b97e186 chore: update version to 4.9.3. close #458 2024-04-11 23:48:44 +01:00
Chase Covello 26ceeed84b Fix USB input devices after macOS Sonoma update
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.
2024-04-11 22:08:12 +01:00
zen0bit 3c221ebdf1 Revert "quickemu default disk size increse"
This reverts commit 48313a94ab56aa0d9272c021de97bbc7e128bb60.
2024-04-11 22:08:12 +01:00
guyosi 6247838abb quickemu default disk size increse
this increases the default disk size from 16 to 32, fixing issues #738  and #944
2024-04-11 22:08:12 +01:00
gmt4 5d497ed2a0 quickemu: Support $disk_format var for $disk_img
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.
2024-04-11 22:08:12 +01:00
Balazs Kiss ed8d613b8e Add the missing keyboard_layout 2024-04-11 22:08:12 +01:00
stone-w4tch3r f0b4d63412 small help improvement 2024-04-11 22:08:12 +01:00
Liam 98e44bbaa8 Extract the first numerical output from free --giga 2024-04-11 22:08:12 +01:00
Liam b3802a356e Add warning when quickemu does not support smartcard
Co-authored-by: Phil Clifford <philclifford@users.noreply.github.com>
2024-04-11 22:08:12 +01:00
Liam 6216adf6a8 Check whether smartcard is supported 2024-04-11 22:08:12 +01:00
Liam 3e22c2b3de Add support for windows languages & windows server
* 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
2024-04-11 22:08:12 +01:00
Liam 8ab2590e5b inbuilt macOS downloading
* 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
2024-04-11 22:08:12 +01:00
zen0bit d680eecbdc Revert "add disk health check"
This reverts commit 0e4fc7e79a.
2024-04-11 22:08:12 +01:00
Alex Genovese 59865c894e add disk health check 2024-04-11 22:08:12 +01:00
Doc Norberg 286ac1bcfe Add options to directly specify VM width and height on cmdline or config 2024-04-11 22:08:12 +01:00
David A Brown d958ae1dbe Redo of quickemu indentation - no code changes. 2023-11-25 16:13:04 +00:00
Phil Clifford b232bbfcfe Align usage() to edited README.md 2023-11-12 17:21:34 +00:00
Martin Wimpress ba1a3f4f3b
chore: bump version to 4.9.1 2023-11-10 14:15:21 +00:00
David A Brown 2a7fca0c7f resizing screen support for wayland 2023-11-10 10:49:10 +00:00
colino17 ca7faf6fad Add "--access" variable to toggle on remote Spice access
Add "--access" variable to toggle on remote Spice access
2023-11-10 10:39:00 +00:00
0x4A6F 9ebf81ba46 chore: bump version to 4.9 2023-11-10 10:32:37 +00:00
Chase Covello 1586042e34 Added support for changing virtual sound hardware
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".
2023-10-16 11:41:43 +01:00
Phil Clifford 6eeb3db45c
Improve test for presence of smbd (#754)
Will now work with nix / nixOS

Co-authored-by: omernaveedxyz <omernaveedxyz@users.noreply.github.com>
2023-10-16 11:36:31 +01:00
Alejandro 941b325269 Adjusted check values 2023-10-16 11:35:00 +01:00
zenobit 4e516f7455
fix nproc (#780)
Better handling available cores
2023-10-16 10:50:51 +01:00
Martin Wimpress 513a1b18c9
chore: bump version to 4.8 2023-06-14 12:33:25 +01:00
Martin Wimpress 5d26df5443
fix: detect the 1920x1080 OpenCore firmware 2023-06-14 10:33:05 +01:00
Martin Wimpress b938e9e9e8
feat: add quickemu macOS Ventura support 2023-06-14 10:09:55 +01:00
David Brown a6217167b4 issu590: fixed typo in change that was missing continuing \ 2023-06-14 09:44:42 +01:00
David Brown 8e9fba398d Issue: 591 - line breaks in generated scrip 2023-06-14 09:44:42 +01:00
David Brown d431d91618 Issue 650 - Allow --screenpct which will scale VM's screen size 2023-06-14 09:44:15 +01:00
Chase Covello 215633947e
Add initial Solaris/Illumos/OpenIndiana support (#697)
* 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>
2023-04-30 11:51:54 +01:00
Martin Wimpress cb6d6d2ad7
chore: bump version to 4.7 2023-04-26 11:46:18 +01:00
Martin Wimpress bacb7b1a8f
Bump the version to 4.6 2023-02-04 00:24:24 +00:00
Donny Kurnia 23982c3f9d use long hv-* attributes for qemu 6.0.0 2022-12-14 16:37:06 +00:00
Martin Wimpress d13509b5a7
Bump version to 4.5 2022-12-11 20:47:44 +00:00
Dani Llewellyn 9a7ee71804
Revert "macOS: swap disk controller from virtio-blk-pci to ahci"
This reverts commit 881adb289a.
2022-12-11 20:39:46 +00:00
Dani Llewellyn 332f5b59f9
Revert "Defaults: Switch default disk from virtio-blk-pci to virtio-scsi-pci"
This reverts commit fb8deb10e8.
2022-12-11 20:39:29 +00:00
Martin Wimpress 215597eead
Bump version to 4.4 2022-10-21 08:49:14 +01:00
Dani Llewellyn 881adb289a macOS: swap disk controller from virtio-blk-pci to ahci
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.)
2022-10-21 08:44:23 +01:00
Dani Llewellyn fb8deb10e8 Defaults: Switch default disk from virtio-blk-pci to virtio-scsi-pci
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.
2022-10-21 08:44:23 +01:00
Martin Wimpress 7db5167cac
Bump version to 4.3 2022-09-22 09:18:25 +01:00
Martin Wimpress ddbbc23d34
Replace discrete Hyper-V Enlightenments with hv_passthrough
https://www.qemu.org/docs/master/system/i386/hyperv.html#supplementary-features
2022-09-22 09:16:41 +01:00
Martin Wimpress 62b258c296
Refactor GUEST_TWEAKS for Windows 2022-09-22 09:13:48 +01:00
Martin Wimpress 19b9e8e910
Drop -smbios 2022-09-22 09:12:46 +01:00
Martin Wimpress 8c1d867110
Enable grab-on-hover for SDL. Fixes #541 2022-09-20 14:18:19 +01:00
Martin Wimpress e97b57352c
Do not use SDL for audio. Close #542
The QEMU manpage states: "This backend is available on most systems, but you should use your platform’s native backend if possible."
2022-09-20 13:53:59 +01:00
Martin Wimpress a29dcef6ed
Apply display= if set in the VM configuration. Close #520 2022-09-20 13:02:48 +01:00
Martin Wimpress 5b14be93e0
Bump version to 4.2 2022-09-19 11:32:44 +01:00
Martin Wimpress d1d7920f0a
Bump version to 4.1 2022-08-19 23:46:51 +01:00
Martin Wimpress b19188c2dd
Update comment 2022-08-19 23:46:31 +01:00
Martin Wimpress b05208c892
Catch reconfigured USB devices for pass-through. Close #433 2022-08-19 22:39:43 +01:00
Martin Wimpress 2e15b1219f
Allow persist MAC addresses for bridged interfaces. Fixes #287 2022-08-19 21:15:36 +01:00
Martin Wimpress ae57996d54
Configure network via VM configuration file. Fixes #478 #418 2022-08-19 18:47:38 +01:00
Martin Wimpress 0ee102dc4b
Do not enable SPICE when GTK or SDL are the selected display. Fixes #466
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.
2022-08-19 17:56:39 +01:00
Martin Wimpress 1b151955b0
Refactor DISPLAY_RENDERER configuration 2022-08-19 17:49:59 +01:00
Martin Wimpress eba2d52ba0
Optimise GPU acceleration for Windows guests 2022-08-19 17:49:08 +01:00
Martin Wimpress b6dbfcbc35
Optimise GPU acceleration for Linux guests 2022-08-19 17:48:26 +01:00
Martin Wimpress c22d0355b9
Refactor Display: status message 2022-08-19 17:42:58 +01:00
Martin Wimpress 92f3466d08
Make shellcheck happy 2022-08-19 17:40:57 +01:00
Martin Wimpress 55384b70b7
White space and comments 2022-08-19 17:40:22 +01:00
Martin Wimpress d0a59e161d
Configure audio device to best match the display 2022-08-19 17:35:08 +01:00
Martin Wimpress 9b5a6a44ac
Ensure only one scanout is present. Ref #222
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.
2022-08-19 17:33:50 +01:00
Martin Wimpress 2071816ede
Add initial support for macOS Ventura 2022-08-19 17:20:06 +01:00
Martin Wimpress c147560731
Refactor guest tweak for Batocera, KolobriOS, ReactOS, Haiku & FreeDOS 2022-08-19 17:16:54 +01:00
Martin Wimpress d8417a6abe
Make shellcheck happy 2022-08-18 17:51:55 +01:00
Martin Wimpress 13abd0c5a7
Move MSR warning to an appropriate section of the status messages 2022-08-18 17:51:31 +01:00
Martin Wimpress 3f05e41e13
Clean up status messages 2022-08-18 16:02:59 +01:00
Martin Wimpress 74e72404b4
Automatically press any key when booting Windows install. Close #231 2022-08-18 16:02:35 +01:00
Martin Wimpress fd105ab8f5
White space clean up 2022-08-18 12:57:24 +01:00
Martin Wimpress 10c35369a1
Don't pass-through the CPU for macOS guest on Intel CPU hosts. Close #502 2022-08-18 10:50:29 +01:00
Deihim Poornader 309057f984 Add udp port forward
Add udp port forward, which can be useful for windows rdp udp acceleration.
2022-08-18 09:48:35 +01:00
Deihim Poornader 6474505dc2 Update quickemu
Limit spice to localhost, preventing potential unauthorized access.
2022-08-18 09:48:22 +01:00
Dani Llewellyn e19a2ce837 Remove duplicate option (usb_controller)
the default for `usb_controller` is set twice in `quickemu` script.

Remove the second `usb_controller` default setting.
2022-08-18 09:46:29 +01:00
3nprob 8e8c65eac6
Allow overriding some VM arguments via env vars (#519)
* allow overriding MACHINE_TYPE,MAC_DISK_DEV,NET_DEVICE,SMM via env vars

* allow overriding EFI_CODE,EFI_EXTRA_VARS
2022-08-18 09:45:10 +01:00
Mikael Bak 600ada52ae
Add reactos (#423)
* Add initial support for ReactOS

* Move code block to be able to override default cdrom settings
2022-08-18 09:44:09 +01:00
Martin Wimpress 54908fa3da
Bump the version to 4.0 2022-08-01 11:21:47 +01:00
MatejSpindler 7ce97daf27
Add multiscreen mode (#473)
Enable multiscreen with max_outputs for the virtio-vga if user configures max_outputs in the .conf file
2022-08-01 09:23:19 +01:00
infokiller e8b1b7cb3e
Add support for spice-app (#510)
* 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>
2022-08-01 09:22:12 +01:00
Martin Wimpress 39da52a3bf
Bump the version to 3.16 2022-07-29 11:45:59 +01:00
Martin Wimpress 974c9ab5fa
White space clean up 2022-07-29 09:31:10 +01:00
kaikikokuke 601273de40
Updates MSRs alert comment to include windows (#507)
Adds windows to MSRs alert comment in addition to macOS
2022-07-24 01:22:01 +01:00
Phil Clifford ecc37fa329
Additional OVMF paths for recently updated Solus hosts (#422)
* 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
2022-07-24 00:59:39 +01:00
Phil Clifford 7d1e909088
Cleanly Add Batocera (#403)
just batocera

removed leakage from ludos
2022-07-24 00:59:15 +01:00
Radomir Ochtyra 9e368b64bc Add support for "extra_args" in commandline 2022-07-24 00:58:14 +01:00
Radomir Ochtyra 1174282660 fix code duplication 2022-07-24 00:58:14 +01:00
Radomir Ochtyra 29efdbbdc0 Improve support for keyboard, mouse and usb-controller
- 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
2022-07-24 00:58:14 +01:00
Radomir Ochtyra a13e6735e7 Add support to connect guest-console via serial
- 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
2022-07-24 00:58:14 +01:00
Radomir Ochtyra bd00b34067 Add support to send command to QEMU-Monitor
- Add commandline parameter --monitor-cmd
- Support implemented on commandline as well as for configuration file
2022-07-24 00:58:14 +01:00
Radomir Ochtyra 21788f525d Add support for qemu-monitor and custom public-directory
- 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
2022-07-24 00:58:14 +01:00
Radomir Ochtyra 8a2057715c Add support to reuse remote-client when call command again and support for other clients
- 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
2022-07-24 00:58:14 +01:00
Martin Wimpress 187da46c3b
Bump version to 3.15 2022-04-22 09:53:12 +01:00
Martin Wimpress 6cea15885b
Bump version to 3.14 2022-03-11 16:17:22 +00:00
Phil Clifford 09a707846c
Fixed boot problems and logic correction in FreeDOS support. Fixes #382 (#421)
* minor correction in freedos

* freedos fix - boot problems needed smm on
2022-03-11 15:25:36 +00:00
nqvrg ebc83ebacf
Add FreeDOS support (#374)
* 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
2022-02-24 22:31:23 +00:00
nqvrg 480b916398
Add some whitespace-formatting rules (#379)
* Embed whitespace rules for vim at the end of quickemu and quickget files

* Add .editorconfig file with some basic whitepace rules
2022-02-23 11:45:39 +00:00
Martin Wimpress 7fe2980b13
Bump version to 3.13 2022-02-23 09:53:41 +00:00
Martin Wimpress d1a984ff12
Minor code cleanup 2022-02-23 09:53:27 +00:00
Martin Wimpress 921d06e025
Minor code clean up 2022-02-23 03:33:32 +00:00
Martin Wimpress 6694a3af5f
Test for Windows and macOS before calculating available RAM
Prevents throwing a syntax error when launching KolibriOS.
2022-02-22 02:37:44 +00:00
Martin Wimpress 2d271e3176
Tidy up the KolibriOS support 2022-02-22 02:28:04 +00:00
Martin Wimpress 45eaaa08c2
Add GhostBSD
Includes MATE and XFCE editions.
2022-02-21 23:32:50 +00:00
Martin Wimpress 2490060192
Refactor Braille support 2022-02-21 07:10:13 +00:00
Martin Wimpress 5bfec8a9d3
Consolidate BSD, Haiku and Linux guests 2022-02-21 05:57:59 +00:00
Martin Wimpress 8f41c4c90f
Drop shorthand options 2022-02-21 05:33:23 +00:00
Martin Wimpress 22c664ad93
Bump the version to 3.12 2022-02-21 05:30:27 +00:00
Martin Wimpress 056afa9575
Fix SPICE audio. Close #272 2022-02-21 05:23:43 +00:00
Blaz 167be4da1d
Add extra_args option in vm conf file (#280)
* 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
2022-02-21 02:33:25 +00:00
Blaz 99af8f9923
Update quickemu (#279) 2022-02-21 02:32:45 +00:00
Phil Clifford 87c9cdb690
Ovmf secure firmware dedupe (#356)
* Remove duplicate elif option

This option ended up in twice

* white space
2022-02-19 11:45:02 +00:00
Phil Clifford ace017236c
Add support for braille terminal (#310)
* 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
2022-02-17 10:35:40 +00:00
Martin Wimpress b933bf77d5
Merge branch 'master' into merging-fixes 2022-02-17 09:49:19 +00:00
Phil 1560060d62 correction to secureboot firmware 2022-01-31 03:19:45 +00:00
Phil daa730a2d9 Merge branch 'void' into mud-plus-void 2022-01-31 02:19:19 +00:00
Phil 2dcc05abac Merge remote-tracking branch 'nqvrg/add-haiku'
into merging-updated-distros
2022-01-17 04:50:03 +00:00
Phil f1604ee722 Merge remote-tracking branch 'guinuxbr/master' into merging-updated-distros 2022-01-17 01:52:23 +00:00
zenobit 3ef5ff47bc added initial support for void linux 2022-01-16 04:38:45 +01:00
Giorgio Gallo 3bcf36f625
Check for both qemu-system-x86_64 and qemu-img 2022-01-03 22:34:39 +01:00
nqvrg 98266009f0 Allow using a different chipset on quickemu
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
2021-12-26 19:22:14 +01:00
Vitaliy Krylov 82be8d324c Improved support of KolibriOS:
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).
2021-12-23 20:36:34 +03:00
Vitaliy Krylov 310d2d3aa1 Adding KolibriOS support
It can download and boot this OS. There is one requirement: 7z.
Its not completed yet (at least internet and sound dont work)
2021-12-22 00:13:47 +03:00
guinuxbr 74068d240b Added openSUSE path for OVMF 2021-12-20 21:51:38 +00:00
Martin Wimpress 12fbf6b02f
Bump version to 3.11 2021-12-08 10:54:41 +00:00
Martin Wimpress 9cf2d9ac3c Correct OSK location 2021-12-08 10:50:50 +00:00
Martin Wimpress 5eb6a20402 Change USB controller for Big Sur and Monterey to nec-usb-xhci 2021-12-08 10:50:50 +00:00
Martin Wimpress 4325a1e79a Disable S3 for macOS to try and prevent installs suspending 2021-12-08 10:50:50 +00:00
Martin Wimpress b40f1d8925 Update OEM fields in quickemu to match unattended
Change references to Quickemu Project, instead of Wimpys World
2021-12-08 10:42:54 +00:00
Martin Wimpress 2a0ba4d10a Enable network during Windows installs 2021-12-08 10:42:54 +00:00
Martin Wimpress 9210054c05 Enable VirtIO for Windows disks 2021-12-08 10:42:54 +00:00
Martin Wimpress 20ca3aff8d
Bump version to 2.3.4 2021-12-06 11:44:22 +00:00
Martin Wimpress ace30551fc
Always disable S3 on WIndows
This should prevent fresh installs from failing during the multiple reboots
2021-12-06 11:38:26 +00:00
Phil f8aee430ec Re-disabled network for re-appearance of #115 2021-12-06 11:00:08 +00:00
Martin Wimpress 59e9a73e4c
Clairfy QEMU not found messages 2021-12-03 16:54:33 +00:00
Jinming Wu, Patrick 194b303a54 add a display setting in the conf file 2021-12-03 13:49:34 +00:00
Martin Wimpress ca0f144351
Bump version to 2.3.3 2021-12-03 11:33:56 +00:00
Martin Wimpress e6823edde7
Make port scans non-blocking 2021-12-03 11:33:41 +00:00
Martin Wimpress 4f0bbfc667
Add --delete-disk and --delete-vm options. Close #227 2021-12-03 11:33:17 +00:00
Leonardo Brondani Schenkel 566faa97d8 Fix case statement
The correct separator is "|" and not ",".
2021-11-15 12:33:32 +00:00
Martin Wimpress 084b632eae
Disable S3 when booting Windows with SecureBoot #162
Disabling S3 is required while booting Windows with SecureBoot enable. Disabling S3 is not the cause of #162
2021-11-15 10:41:08 +00:00
Martin Wimpress f8e7f10ffd
Consistent formatting of GUEST_TWEAKS 2021-11-13 19:07:50 +00:00
Martin Wimpress 20e5b02e43
Disable S3 when SecureBooting Windows on Arch Linux. Close #220 2021-11-13 19:07:30 +00:00
Martin Wimpress 1036cd7ec9
Tune all display devices to have 64MB VRAM. Close #211
64MB VRAM is sufficient to run 3840 x 2160 with page flipping., even though qemu support a max of 2560x1600. No need to tune this since 64MB is relatively small in the great scheme of things.

References:
  - https://www.ovirt.org/develop/internal/video-ram.html
  - https://stafwag.github.io/blog/blog/2018/04/22/high-screen-resolution-on-a-kvm-virtual-machine-with-qxl/
  -
2021-11-13 18:52:10 +00:00
Martin Wimpress 95748059b9
Update comments about macOS VirtIO support 2021-11-13 18:18:24 +00:00
Zach Bacon 6d7b87254c This adds OMVF support in solus
however secureboot in OMVF isn't enabled in solus.
2021-11-13 18:17:21 +00:00
Martin Wimpress e53021d029
When SPICE is requested, also use SPICE for audio. Close #209 2021-11-13 16:30:56 +00:00
Martin Wimpress 16f379e044
Bump version to 2.3.2 2021-11-13 15:57:50 +00:00
Martin Wimpress 5c490be79a
Correct comment indentation 2021-11-13 15:56:58 +00:00
Martin Wimpress 743b051526
Make shellcheck happy 2021-11-13 15:56:36 +00:00
Martin Wimpress 72704684dd
Replace incorrect references to AuthenticIntel with GenuineIntel #223 2021-11-13 15:53:18 +00:00
Martin Wimpress e5053ec566
Add USB pass-through and WebDAV via SPICE for macOS. Close #223 Close #196 2021-11-13 15:51:58 +00:00
Martin Wimpress cff40f8db0
Allocate VRAM for all display devices #211 2021-11-13 15:31:40 +00:00
Martin Wimpress 9197e0c981
Fix seamless mouse via SPICE for macOS by only using VGA. Close #222 2021-11-13 15:30:36 +00:00
Martin Wimpress d3506d1c4a
Remove disabling S3 (Suspend to RAM). Close #162 2021-11-08 15:11:25 +00:00
Martin Wimpress b38e220f6c
Do not prevent macOS running when AVX2 is absent. Close #201 2021-11-07 23:51:50 +00:00
Gary Graham 979a11ca1b confused file names
added secboot file to non-secboot. whoops. fixed.
2021-11-07 23:26:58 +00:00
Gary Graham c5e8a8e8e2 ovmf_path_gentoo
Add Gentoo's paths for OVMF.
2021-11-07 23:26:58 +00:00
Phil Clifford 2f8b14d2c7 fix for shortcut presumption 2021-11-07 23:24:08 +00:00
Dani Llewellyn 87fea6c845
Re-enable networking during Windows installation (#193)
* Force Windows VMs to use AHCI for the cdrom and hard disk devices.
* Re-enable networking during Windows installation.
2021-11-07 23:20:50 +00:00
Martin Wimpress 8f832a843b
Revert "Rename swtpm socket". Close #192
This reverts commit c5efb7d79d.
2021-11-01 18:31:57 +00:00
Blaz 82ea95918d fix for virtio-vga-gl to be usable
See https://github.com/wimpysworld/quickemu/issues/107#issuecomment-951943497
2021-10-30 08:58:35 +01:00
Martin Wimpress 81e8a8db9c
Bump version to 2.3.1 2021-10-29 11:27:02 +01:00
Martin Wimpress cd908c5a85
Bump version to 2.3.0 2021-10-29 09:51:05 +01:00
Martin Wimpress 66fb440359
Bump version to 2.2.9 2021-10-28 22:44:13 +01:00
Martin Wimpress 528064383b
Add support for QEMU Guest Agent 2021-10-27 22:20:57 +01:00
Martin Wimpress c5efb7d79d
Rename swtpm socket 2021-10-27 22:20:57 +01:00
Adam Fairbrother 6e851ff1c8
Added support for Bridge mode networking. (#160)
* Added support for Bridge mode networking.

added config file option "bridge"
set to a correctly configured bridge device to enable qemu-bridge-helper

* Added Docs for Bridge network feature
2021-10-27 22:07:14 +01:00
Martin Wimpress 95b5f84816
Bump version to 2.2.8 2021-10-27 15:46:37 +01:00
Martin Wimpress ea8f459977
Make shellcheck happy 2021-10-27 12:18:10 +01:00
Martin Wimpress 1421492f87
Add initial support for macOS Monterey 2021-10-27 11:56:56 +01:00
Martin Wimpress 5367286915
Unify process related status messages 2021-10-27 11:42:28 +01:00
Martin Wimpress 5c0a7885c9
Reduce wait for swtpm initialisation 2021-10-25 15:57:15 +01:00
Martin Wimpress 835ce6bce5
Minor cleanup 2021-10-25 15:42:33 +01:00
Martin Wimpress 61ac7ad809
Correct typo 2021-10-25 15:42:01 +01:00
Martin Wimpress 205023fd50
Add -display none option. Close #110
Using the -display none option will start the VM with SPICE enabled but no display attached. The .ports file in the VM directory can be used to lookup the SSH and SPICE ports used by the VM.
2021-10-25 15:37:17 +01:00
Martin Wimpress 0567229405
Fix VMNAME 2021-10-25 15:14:59 +01:00
Martin Wimpress ed2ba41cb5
Bump version to 2.2.7 2021-10-25 14:38:33 +01:00
Martin Wimpress c6659a5b77
Fix shortcuts. Close #141 2021-10-25 14:32:19 +01:00
Martin Wimpress 33adadc988
Make shellcheck happy 2021-10-25 14:31:45 +01:00
Martin Wimpress 3257768677
Derive the absolute VMPATH 2021-10-25 14:31:07 +01:00
Martin Wimpress 91e7e18955
Add support for virtio-vga-gl on QEMU 6.1 and newer. Close #107 2021-10-25 14:03:59 +01:00
Martin Wimpress 4003144cf6
Add ports file. Close #156 2021-10-25 13:40:35 +01:00
Martin Wimpress 5c53dec449
Increase disk_size for macOS and display MSR alerts more often. Close #153 2021-10-25 12:54:41 +01:00
Martin Wimpress db855be6ed
Fallback to /etc/os-release if lsb_release is not available 2021-10-25 11:17:32 +01:00
Martin Wimpress 23e3da40e3
Remove erroneous EFI_VARS references 2021-10-25 11:17:32 +01:00
Martin Wimpress 0598fb3321
Make sure Legacy boot is in legacy mode 2021-10-25 11:17:32 +01:00
Martin Wimpress 145dc472af
Show full $EFI_CODE path in boot status 2021-10-25 11:17:32 +01:00
Martin Wimpress 207ebde501
Remove test stub 2021-10-25 11:17:32 +01:00
Martin Wimpress 44673e94c6
Add guards for $EFI_CODE and $EFI_VARS
Make sure that $EFI_VARS references an actual writable file.

Check if $EFI_CODE reference a symlink, if so resolve the the real file.
2021-10-25 11:17:32 +01:00
Martin Wimpress ca03a4dada
If EFI boot was requested an no EFI firmware is available, hard stop. 2021-10-25 11:17:32 +01:00
Martin Wimpress 444616022e
Improve error message when no SecureBoot firmware was found. 2021-10-25 11:17:32 +01:00
Martin Wimpress 7a0cf72213
Add reference for Fedora 2021-10-25 11:17:32 +01:00
Martin Wimpress 44bc5faec0
Use the paths to actual firmware on Fedora, rather than to symlinks.
Useful reference in this comment: https://bugzilla.redhat.com/show_bug.cgi?id=1929357#c5
2021-10-25 11:17:32 +01:00
Martin Wimpress 9b96f899ad
Make sure cfi.pflash01always has the secure property set 2021-10-25 11:17:32 +01:00
Martin Wimpress b9f90d12c3
Disable Suspend to RAM (S3) if SecureBoot or SMM are enabled 2021-10-25 11:17:32 +01:00
Martin Wimpress a4eddaa9e5
Add SMM support, enabled by default for Windows guests 2021-10-25 11:17:32 +01:00
Martin Wimpress b6db417b81
Refactor OVMF detection and add SecureBoot support
Add 'secureboot="on"' to a VM configuration to enable SecureBoot.
2021-10-25 11:16:35 +01:00
Martin Wimpress aeb2a64720
Add efi_vars() for copying EFI variable store templates to the VM dir 2021-10-25 11:16:35 +01:00
Martin Wimpress b8d6b02796
Refactor swtpm support to catch when it is missing
Also adds the swtpm laucher to the debug shell script.
2021-10-25 11:16:35 +01:00
Jed Spraul 8bb9003f5a Halt unless bash 4 or newer 2021-10-21 21:28:13 +01:00
Martin Wimpress 4634212f65
Bump version to 2.2.6 2021-10-21 01:47:03 +01:00
Martin Wimpress 3c2249934a
Disable all disk tuning, for the sake of compatibility. Close #98 2021-10-21 00:33:01 +01:00
Martin Wimpress 32da324717 Correct typo in --ignore-msrs-always argument 2021-10-21 00:28:03 +01:00
Martin Wimpress 936f79590c Minor comment edit 2021-10-21 00:28:03 +01:00
Martin Wimpress b915d8d797 Only display MSR alerts when required 2021-10-21 00:28:03 +01:00
Martin Wimpress a94541c5aa Order the argument parser 2021-10-21 00:28:03 +01:00
Martin Wimpress d052d913f9 Order the usage 2021-10-21 00:28:03 +01:00
Martin Wimpress acf6ef32fa Add --ignore-msrs-always argument 2021-10-21 00:28:03 +01:00
Martin Wimpress e493112688 Refactor ignore_msrs_alert to make in non-blocking 2021-10-21 00:28:03 +01:00
Martin Wimpress 119e4dd7ad White space clean up 2021-10-21 00:28:03 +01:00
Martin Wimpress af7348caf6
Refactor, and enable, OpenBSD support 2021-10-20 23:22:35 +01:00
Fabian Schmidt 94ecb1b3ec
added openbsd 7 support (#129)
Co-authored-by: Fabian Schmidt <fabian85@protonmail.com>
2021-10-20 22:07:07 +01:00
Phil Clifford 78b9a3f7f2
Politely offer to set ignore_msrs (#134)
* attempt to offer appropriate setting of ignore_msrs if needed

* Removed done TODO

* Revert "Removed done TODO"
to resolve merge conflict since all TODOS removed upstream
This reverts commit eb18fcf829.
2021-10-20 01:22:45 +01:00
Martin Wimpress 4eb11caa10
Store the pid of the VM 2021-10-19 20:49:57 +01:00
Martin Wimpress 380451df4c
Clean up status messages 2021-10-19 02:17:23 +01:00
Martin Wimpress fd901a987c Disable all network interfaces during Windows install. Close #115
During the Windows install network interfaces are completely disabled! This is to allow those users who want to create local accounts to do so.

A side affect is that the first time Windows boots with the QEMU network enabled it will blue screen, 
automatically restart and then boot normally with fully functioning networking.,
2021-10-19 01:35:25 +01:00
Martin Wimpress 45457c8808 Replace the use of which with command -v 2021-10-18 16:35:48 +01:00
Martin Wimpress d785c89a38 Add distro, kernel and CPU details to start up messages. Close #96 2021-10-18 16:26:48 +01:00
Martin Wimpress c3b3f4ee86 Get partial USB SPICE redirection working on macOS. Close #120 2021-10-18 15:33:06 +01:00
Martin Wimpress 2009ffc103
Bump version to 2.2.5 2021-10-16 11:33:57 +01:00
Yannick Mauray 448e8885e7 Unable to start a linux VM.
```
qemu-system-x86_64: -device virtio-vga,xres=,yres=: Parameter 'xres' expects uint64
```

This fixes a typo in the name of the variable used to determine a sane resolution for linux guests.
2021-10-16 10:58:56 +01:00
Martin Wimpress f75c7f402b
Correct status message for killing VMs 2021-10-15 02:46:15 +01:00
Martin Wimpress cc397fc088
Only try to coerce the screen resolution of Linux guests
This feature was originally developed for Linux guests. macOS doesn't honur it and not Windows automatically installs all the required drivers it is not required for Windows either.
2021-10-15 02:44:41 +01:00
Martin Wimpress f3659e760b
Move 9p mount code outside of the SPICE conditional. Close #85 2021-10-13 04:16:46 +01:00
Martin Wimpress 9de5ea19cf
Correct merge error. Close #83 2021-10-13 03:31:10 +01:00
navycatt 018fb1c454
Improvments of port scanning. (#79)
* Fix port scan. Don't send a new line character when scanning.

* Fix port scanning. Possible infinite loop when all range of ports is busy.
Changed port scanning scheme from random to linear because this is the same faster but more predictable.

* Fix port scan. Don't send a new line character when scanning.
echo -n "" for clarity instead of cat < /dev/null

Co-authored-by: navycat <navycat@ultrasparc>
2021-10-09 22:27:47 +01:00
Martin Wimpress d1afc10857
Detect insufficient RAM for Windows and macOS Close #78
Also changes the RAM allocation for the VM to better attempt a working configuration.
2021-10-09 16:51:30 +01:00
Martin Wimpress 5ad176155f
Actually honour requested disk_size 2021-10-09 16:26:06 +01:00
Martin Wimpress fe86d970ec
Try to ensure PUBLIC_TAG stays under 31 chars 2021-10-09 15:42:42 +01:00
Martin Wimpress 6bc4c6202a
Make shellcheck happy 2021-10-09 15:41:53 +01:00
Martin Wimpress 4afaf9b21d
l10n for ~/Public 2021-10-09 15:41:13 +01:00
Martin Wimpress 0d5f393b70
Look for OVMF firmware in common locations. Close #74 Close #75 2021-10-09 15:28:26 +01:00
Martin Wimpress d2d9bc1f1a
Fix deleting EFI VARS when VM deletion is requested 2021-10-09 15:27:06 +01:00
Martin Wimpress 6d926d66e9
Fix missing ] 2021-10-09 15:22:18 +01:00
Martin Wimpress 6f49efee2f
Correct Samba sharing to use ${PUBLIC} 2021-10-09 14:34:22 +01:00
Martin Wimpress 45b09c1f5e
Bump version to 2.2.4 2021-10-09 14:32:30 +01:00
Martin Wimpress fd52be1dfb
Do not expose any file sharing if ${PUBLIC} is not set. 2021-10-09 14:32:06 +01:00
Martin Wimpress ec89223b22
Reinstate sharing ~/Public is smbd is available. Close #76
This is a "bonus item". Samba, specifically smbd, is not a hard requirement of Quickemu, but if present quickemu will enable Samba file sharing.
2021-10-09 14:30:21 +01:00
Martin Wimpress ca9c01eec2
Bump version to 2.2.3 2021-10-08 15:09:17 +01:00
Martin Tournoij 061c454a82 Deal with systems without xdg-user-dir better
My system doesn't have xdg-user-dir, and shows the following errors on
startup:

	./quickemu: line 828: xdg-user-dir: command not found
	mkdir: cannot create directory '': No such file or directory
	basename: missing operand
	Try 'basename --help' for more information.

	Usage
	quickemu --vm ubuntu.conf

	You can also pass optional parameters
	--delete                : Delete the disk image.
	--display               : Select display backend. 'sdl' (default), 'gtk' or 'spice'
	--shortcut              : Create a desktop shortcut
	--snapshot apply <tag>  : Apply/restore a snapshot.
	--snapshot create <tag> : Create a snapshot.
	--snapshot delete <tag> : Delete a snapshot.
	--snapshot info         : Show disk/snapshot info.
	--status-quo            : Do not commit any changes to disk/snapshot.
	--fullscreen            : Starts VM in full screen mode (Ctl+Alt+f to exit)
	--screen <screen>       : Use specified screen to determine the window size.
	--version               : Print version

From a quick look it should still function correctly, but better to deal
with this case explicitly.

It's only used to get the PUBLIC, which is optional anyway. If I install
it then it just returns ~, at which point it's set to "" anyway.

I also removed it from the list of "requirements" for this reason.

This also deals with an edge case I happened to notice: "xdg-user-dir
PUBLICSHARE" returns "/home/martin/" on my system, whereas $HOME is
"/home/martin", so the equality check fails. This is arguable a problem
in xdg-user-dir, but better to fix it here. This only deals with a
single slash (multiple slashes is harder in bash), which should be
sufficient.
2021-10-08 14:50:45 +01:00
Edward Betts 6332e037a0 Correct a spelling mistake 2021-10-08 14:48:48 +01:00
Martin Wimpress d7e2407bc9
Correct typo 2021-10-08 02:42:08 +01:00
Martin Wimpress 632f1c682c
Bump version to 2.2.2 2021-10-08 02:04:50 +01:00
Martin Wimpress d191d0da44
Add unattended configuration for Windows 10 and 11
Automates some of the install/configuration steps for Windows 10 and 11, most notably essential drivers and disk formatting.
2021-10-08 02:04:30 +01:00
Martin Wimpress 8106026fd0
Use usb-mouse instead of usb-tablet on FreeBSD 2021-10-07 21:57:22 +01:00
Martin Wimpress 4d8e619988
FreeBSD 12 and 13, like Linux, both fully support VirtIO
Treat FreeBSD like Linux for basic optimisation.
2021-10-07 20:29:47 +01:00
Martin Wimpress 5e5b68f4f4
Bump version to 2.2.1 2021-10-07 16:11:58 +01:00
Martin Wimpress d49bcb3452
Always boot macOS via OpenCore 2021-10-07 16:05:10 +01:00
Martin Wimpress 7553e77b11
Improve disk used heuristics. Disk preallocation is disabled by default (again) 2021-10-07 15:56:06 +01:00
Martin Wimpress fcc050ed82
When deleting a disk, also remove the EFI vars 2021-10-07 15:54:24 +01:00