Commit Graph

167 Commits

Author SHA1 Message Date
Yannick Mauray 63f5c11a8e
Enable arbitrary port forwarding via config file (#40)
* Add the possibility to forward ports from host to guest

* Reorganized code, fixed a bug, updated the README

* Updated the README

* Forgot to remove 'exit' ....
2020-08-10 12:15:18 +01:00
Philipp Kiemle b7f8e859dc Fix typo 2020-06-12 17:35:21 +01:00
marosg42 7f408e59cf
find free port for spice (#29)
allows to run more VMs in parallel

Co-authored-by: Marian Gasparovic <marian.gasparovic@canonical.com>
2020-06-12 17:34:19 +01:00
MatejSpindler df51b17d71
Allow using installed version of qemu (#28) 2020-06-12 17:32:38 +01:00
Marcus Grenängen 8618421abb
Fix #21 configurable RAM and #22 configurable cores (#24)
* Fix #21 configurable RAM and #22 configurable cores

* Initialize new config values with empty strings
2020-04-12 23:30:11 +01:00
Martin Wimpress e78bb9dc88
Add 128MB ram to fallback video device. 2020-04-04 12:57:15 +01:00
Martin Wimpress 0b19d918d9
Add macOS support 2020-04-04 12:55:16 +01:00
Mark Crouch 7a5433f8fc
Add create .desktop shortcut feature.
Deleted debug messages. Use `quemu-virgil` icon from the 'current' directory, not a specified version's directory. Tidied some code.
2020-04-02 23:23:12 +01:00
Martin Wimpress ec67184925
Add USB pass-through support
I decided to not have `quickemu` create `udev` rules and apply them because I was cautious about permanently altering the system `udev` configuration. 

Instead the permissions of the requested USB devices are modified so that the invoking user has write permission; which will persist until next boot.

All changes are clearly communicated.
2020-03-22 17:39:51 +00:00
Martin Wimpress 735e3a4ee8
Quote all file/directory variables. Closes #12
File handling is more robust and will support filename and directories with spaces in them.
2020-03-22 17:23:46 +00:00
Martin Wimpress 142eac3001
Round up host RAM. Closes #11
Avoid "integer expression expected" errors when host RAM enumeration returns a floating point value.

  * https://github.com/wimpysworld/quickemu/issues/11
2020-03-22 15:10:13 +00:00
Martin Wimpress 9808adecea
Fix standard VGA fallback 2020-03-21 17:20:13 +00:00
Martin Wimpress c2a2c08396
Attach keyboard and mouse to xhci USB bus 2020-03-21 17:19:55 +00:00
Martin Wimpress d8490b3120
Reorder boot string to logically group components 2020-03-21 16:59:45 +00:00
Martin Wimpress 3881e25b49
Make video device setup consistent
Also restores some GTK compatibility with Virgil 3D by defaulting to `gl=es` when GTK output is used.
2020-03-21 16:56:59 +00:00
Martin Wimpress 4e9457a2b1
Disable emulated audio mixer 2020-03-21 15:26:06 +00:00
Martin Wimpress 602d1fdb42
Migrate disk configuration to virtio-blk-pci device 2020-03-21 15:25:46 +00:00
Martin Wimpress 6e6b5ae702
Add $GUEST_TWEAKS variable to allow for guest_os specific tweaks 2020-03-21 15:22:01 +00:00
Martin Wimpress 061abfe9b5
Add $CPU variable to enable guest_os specific tweaks 2020-03-21 15:21:16 +00:00
Martin Wimpress 2dfe88bd5a
Start CD-ROMs at logical index 0 2020-03-21 15:20:13 +00:00
Martin Wimpress 2a59ad8b15
Drop accel=kvm from -machine
The `-machine` option `accel-kvm` is equivalent to `-enable-kvm`.
2020-03-21 14:45:43 +00:00
Martin Wimpress 3233738b86
Update README 2020-03-21 12:00:49 +00:00
Martin Wimpress 97a2ebf3d0
Replace --efi flag with boot= property in the VM configuration
Choosing between Legacy BIOS and EFI booting is really a fixed feature of the VM not something that can be toggled at will.

`boot=` has been added to the VM configuration file. Valid options are `legacy` or `efi|uefi`, if undefined it defaults to `legacy`.
2020-03-21 11:59:33 +00:00
Martin Wimpress 84efcf2bf3
Vars refactor: Simplify initialisation of disk 2020-03-21 11:40:20 +00:00
Martin Wimpress 01fbc2bbef
Vars refactor: Simplify initialisation of guest_os 2020-03-21 11:39:31 +00:00
Martin Wimpress 3816fe4028
Vars refactor: Replace UI with OUTPUT 2020-03-21 11:32:56 +00:00
Martin Wimpress dd4c6bf80d
Fix regression in xres/yres settings for virtio-vga 2020-03-21 11:17:23 +00:00
Martin Wimpress ab286f39b7
Make casing of status output consistent 2020-03-21 11:15:51 +00:00
Martin Wimpress ce5aecd33d
Replace hardcoded paths to qemu-virgil with a variable 2020-03-21 11:06:54 +00:00
Martin Wimpress dbd0885f82
Vars refactor: Tidy up initial vars layout 2020-03-21 11:05:31 +00:00
Martin Wimpress eebd5f0605
Vars refactor: Replace STATUSQUO with STATUS_QUO 2020-03-21 10:57:27 +00:00
Martin Wimpress fe718a8423
Vars refactor: Replace xres/yres with X_RES/Y_RES 2020-03-21 10:52:09 +00:00
Martin Wimpress 7682463e27
Vars refactor: Replace ram with RAM_VM 2020-03-21 10:49:42 +00:00
Martin Wimpress 1399d62a69
Vars refactor: Replace allram with RAM_HOST 2020-03-21 10:47:59 +00:00
Martin Wimpress d5e669441b
Vars refactor: Replace cores with CORES_VM 2020-03-21 10:46:38 +00:00
Martin Wimpress 62b6286564
Vars refactor: Replace allcores with CORES_HOST 2020-03-21 10:45:27 +00:00
Martin Wimpress bd987f55d2
Vars refactor: Replace disk_curr_size with DISK_CURR_SIZE 2020-03-21 10:43:00 +00:00
Martin Wimpress 74718b2399
Vars refactor: Replace disk_min_size with DISK_MIN_SIZE 2020-03-21 10:41:25 +00:00
Martin Wimpress 21ff829078
Vars refactor: Replace snapshot_tag with TAG 2020-03-21 10:39:09 +00:00
Martin Wimpress ce523fecdf
Add support for guest_os hinting
Adds an optional `$guest_so` variable to the config files. Supported options are `linux` and `windows` which defaults to `linux` if not provided. Allows for OS specific tuning in `quickemu`.
2020-03-21 10:34:21 +00:00
Martin Wimpress 373a83f9a4
Fix a logic error is -vm flag validation 2020-03-21 10:30:25 +00:00
Martin Wimpress e566e38e9c
Catch missing iso with non-bootable disk scenario 2020-03-21 10:29:48 +00:00
Martin Wimpress 3a367090c2
Make sure all variable are initialised
Simplifies initial state evaluation.
2020-03-21 10:28:43 +00:00
Martin Wimpress aef34c5150
Format tweaks for boot string 2020-03-21 02:28:44 +00:00
Martin Wimpress 5b01d18492
Add virtio-balloon 2020-03-21 02:28:14 +00:00
Martin Wimpress f910141889
Update video driver status 2020-03-21 02:27:47 +00:00
Martin Wimpress 1efe9daa6b
White space clean up 2020-03-21 01:34:24 +00:00
Martin Wimpress d40840b7a8
Add option to use QXL driver
This is intended for use with Windows 10.
2020-03-21 01:33:56 +00:00
Martin Wimpress eadb671b59
Merge remote-tracking branch 'origin/master' 2020-03-21 00:24:37 +00:00
Henrik Danielsson cfb21db57b
Fix parsing RAM amount on non-English systems. (#9)
Export LC_ALL=C to force free and friends back to English.
2020-03-21 00:23:11 +00:00
Martin Wimpress c94b6a0a56
Add support for boot and driver ISO image
Installing Windows 10 in VirtIO enabled Qemu requires additional drivers. This change makes it possible to exposed those drivers during a Windows 10 install.
2020-03-21 00:11:04 +00:00
Martin Wimpress 70b5d8148c
Default to gl=on and clean up graphics status
Actually, `gl=on` and `virgil=on` are both required to enable full acceleration. `virgil=on` is not currently working with GTK, so set to off if GTK is used.
2020-03-20 21:48:27 +00:00
Martin Wimpress b9e6558bd6
Refactor -display configuration build 2020-03-20 20:37:11 +00:00
Martin Wimpress 8bacffc65b
Use USB3 qemu-xhci
8 ports assigned all are USB2 and USB3 capable.
2020-03-20 20:36:16 +00:00
Martin Wimpress 8e214447e8
Use new style -netdev 2020-03-20 20:35:11 +00:00
Martin Wimpress cbe9125730
Set gl=off
Turns out `gl=on` is not required for Virgil 3D. In fact having `gtk,gl=on` and `virgl=on` will break rendering.
2020-03-20 20:34:02 +00:00
Martin Wimpress 65735c9c8d
Add --status-quo option to preserve the existing disk state
Starting a VM with `--status-quo` will prevent any changes being committed to the disk image. However, while the VM is boot you can make changes but on next boot none will have been preserved.
2020-03-20 18:35:29 +00:00
Martin Wimpress 588e5de640
Add snapshot usage 2020-03-20 18:22:03 +00:00
Martin Wimpress a79e16e1b7
Add snapshot management support 2020-03-20 18:17:53 +00:00
Martin Wimpress fb627583b9
Prevent starting multiple instances of the same VM 2020-03-20 18:16:51 +00:00
Martin Wimpress d48dc74e95
Catch missing disk configuration early 2020-03-20 18:16:08 +00:00
Martin Wimpress 31c02550d3
Catch error when deleting a disk 2020-03-20 18:12:13 +00:00
Martin Wimpress 91117fb30d
Remove snap restore and slightly refactor disk deletion 2020-03-20 15:34:18 +00:00
Martin Wimpress ed601549c0
Correct disk initialisation logic 2020-03-20 15:31:24 +00:00
Martin Wimpress a688c798f5
Correct disk creation/enumeration order 2020-03-20 14:22:22 +00:00
Martin Wimpress 38307c1c0f
Refactor initial disk creation and boot order 2020-03-20 14:18:29 +00:00
Martin Wimpress 510c2e0525
Rename quickemu.sh to quickemu
For simplicity.
2020-03-20 13:53:42 +00:00
Renamed from quickemu.sh (Browse further)