Giter Site home page Giter Site logo

quickemu-project / quickemu Goto Github PK

View Code? Open in Web Editor NEW
9.2K 73.0 416.0 1.82 MB

Quickly create and run optimised Windows, macOS and Linux virtual machines

License: MIT License

Shell 95.55% Python 2.87% Nix 1.58%
qemu kvm virtio linux macos efi hackintosh windows tpm virgl

quickemu's Introduction

Quickemu

Quickemu

Quickly create and run optimised Windows, macOS and Linux virtual machines:

Quickemu Screenshot

Made with ๐Ÿ’ for Tux (Linux)

We have a Discord for this project:

Discord

Introduction

Quickemu is a wrapper for the excellent QEMU that attempts to automatically "do the right thing", rather than expose exhaustive configuration options. You decide what operating system you want to run, and Quickemu will figure out the best way to do it for you.

The original objective of the project was to enable quick testing of Linux distributions where the virtual machine configurations can be stored anywhere (such as external USB storage or your home directory) and no elevated permissions are required to run the virtual machines.

Today, Quickemu includes comprehensive support for macOS, Windows, most of the BSDs, novel non-Linux operating systems such as FreeDOS, Haiku, KolibriOS, OpenIndiana, ReactOS, and more.

Features

  • macOS Sonoma, Ventura, Monterey, Big Sur, Catalina, Mojave & High Sierra
  • Windows 10 and 11 including TPM 2.0
  • Ubuntu and all the official Ubuntu flavours
  • Nearly 1000 operating system editions are supported!
  • Full SPICE support including host/guest clipboard sharing
  • VirtIO-webdavd file sharing for Linux and Windows guests
  • VirtIO-9p file sharing for Linux and macOS guests
  • QEMU Guest Agent support; provides access to a system-level agent via standard QMP commands
  • Samba file sharing for Linux, macOS and Windows guests (if smbd is installed on the host)
  • VirGL acceleration
  • USB device pass-through
  • Smartcard pass-through
  • Automatic SSH port forwarding to guests
  • Network port forwarding
  • Full duplex audio
  • Braille support
  • EFI (with or without SecureBoot) and Legacy BIOS boot
  • Graphical user interfaces available

Quick start

Once Quickemu is installed, there are two simple steps to create and run a virtual machine:

  • quickget automatically downloads the ISO image for the operating system you want to run and creates a configuration file for the virtual machine.
quickget nixos unstable
  • quickemu starts the virtual machine using the configuration file created by quickget.
quickemu --vm nixos-unstable.conf
  • Execute quickget (with no arguments) to see a list of all the supported operating systems.

Documentation

The wiki describes how to get up and running with Quickemu and also covers more advanced configuration and usage.

Contributing

We welcome contributions to Quickemu.

quickemu's People

Contributors

abe-101 avatar arcolinuxz avatar basilky avatar charles-hood avatar chasecovello avatar colino17 avatar cowboygeneral avatar criadoperez avatar dabrown645 avatar daphipz avatar dimitrispa avatar evacks avatar flexiondotorg avatar guy-sowden avatar guyosi avatar jai-jap avatar lj3954 avatar lukewh avatar mikabak avatar navycatt avatar nqvrg avatar philclifford avatar radomuc avatar tentypekmatus avatar the-mentor avatar tuxvinyards avatar vnepogodin avatar wioo avatar ymauray avatar zen0bit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quickemu's Issues

macos - fetch-macos.py - ModuleNotFoundError: No module named 'click'

Following instructions for macos.
After chmod +x fetch-macos.py
when I run fetch-macos.py I get the following error.
Running this on Manjaro 19.0.2

Understand that this part is not your script so will be file issue with github project that this comes from. But adding issue here as it affects your project also.

./fetch-macos.py
Traceback (most recent call last):
File "./fetch-macos.py", line 9, in
import click
ModuleNotFoundError: No module named 'click'

screen scaling and performance

I've tested installing Windows 10 using Win10_20H2_v2_English_x64.iso and found the dynamic screen scaling doesn't work and installation is fairly slow. I have installed the VirtIO drivers. When installing the same ISO in Gnome Boxes, the installation is much faster and the screen scaling works correctly. That's after installing the SPICE drivers. Both VMs seem to use the same video driver. Any ideas?

Update: looks like the performance issues were due to not using the "edge" version. But still can't get the dynamic screen scaling to work.

QUESTION: *BSD as host OS

Great sounding project! Any plans under way to port this to the *BSD family of OS's for hosting VM's?

Error when the directory path of disk image has space in it

Hi Wimpy,
Great work with the quickemu.
I am currently trying it out in my Ubuntu Mate 19.10 machine.
The directory path where I save my VMs and ISOs has space in it.
This causes error when running the script.
Please find the error details below along with the .conf file.

./quickemu --vm "/home/${USER}/VirtualBox VMs/Ubuntu/ubuntu-focal-desktop.conf"
basename: extra operand '.conf'
Try 'basename --help' for more information.
Starting /home/${USER}/VirtualBox VMs/Ubuntu/ubuntu-focal-desktop.conf
 - QEMU:     /snap/bin/qemu-virgil v4.2.0
 - BOOT:     Legacy BIOS
 - Guest:    Linux optimised
 - Disk:     /home/${USER}/VirtualBox VMs/Ubuntu/focal-desktop-amd64.qcow2 (22G)
             Just created, booting from /home/${USER}/VirtualBox VMs/Ubuntu/focal-desktop-amd64.iso
 - Boot:     /home/${USER}/VirtualBox VMs/Ubuntu/focal-desktop-amd64.iso
 - CPU:      2 Core(s)
 - RAM:      2G
 - Screen:   1152x648
 - Video:    virtio-vga
 - GL:       ON
 - Virgil3D: ON
 - Display:  SDL
 - smbd:     /home/${USER} will be exported to the guest via smb://10.0.2.4/qemu
 - ssh:      22226/tcp is connected. Login via 'ssh user@localhost -p 22226'
qemu-system-x86_64: -drive if=none,id=drive0,cache=directsync,aio=native,format=qcow2,file=/home/${USER}/VirtualBox: Could not open '/home/${USER}/VirtualBox': No such file or directory
cat "/home/${USER}/VirtualBox VMs/Ubuntu/ubuntu-focal-desktop.conf"
boot="legacy"
guest_os="linux"
iso="/home/${USER}/VirtualBox VMs/Ubuntu/focal-desktop-amd64.iso"
disk_img="/home/${USER}/VirtualBox VMs/Ubuntu/focal-desktop-amd64.qcow2"

Request you to please consider if the following may be the cause of the issue.

  1. Maybe the variable getting the Disk Image can be quoted ? Line Number 278.
  2. For the "basename: extra operand '.conf'" error maybe the space in Line Number 90 ?
    local VMNAME=$(basename ${VM} .conf)
    The instruction says to pass the .conf file..
    I am quite new to bash. My apologies if they are not relevant.

Thanks for all the great work and contribution.

Quickemu always opens the SPICE port on the host

Quickemu always opens the SPICE port on the host, even when I don't want to use it and don't specify --display spice.
It is also not secure, because the port is not protected by password and encryption.

Fixed in PR: #87

Allow for RAM configuration in os conf file

When defining and configuring a OS to be run, one can today define disk size etc. But RAM usage is not configurable. Would be nice to be able to define something like:

ram=8G

in the config file.

OVMF file stored in different location

Looking at the script, the OVMF file should be located at /usr/share/OVMF/OVMF_CODE_4M.fd but this file does not exist on my Arch Linux OS. Instead I have two directories:

$ ls /usr/share/OVMF/
ia32  x64

where x64 includes the following files:

$ ls /usr/share/OVMF/x64
OVMF_CODE.fd  OVMF_CODE.secboot.fd  OVMF.fd  OVMF_VARS.fd

Would it be possible to make the quickemu script more flexible to accommodate such setups (Which I did not do manually). Or do I understand something incorrectly and I just have to install another package?

Fedora Support

In order to use this on fedora, you'll need an extra step in your instructions and a minor tweak in the script. It looks like "snap" isn't installed by default. It's also fair to assume if someone knows what this script does, they will know how to install snaps on Fedora.

Then, the snap binaries are in a different location in Fedora (At least Fedora 32, wasn't able to confirm other versions). Instead of /snap/bin they are in /var/lib/snapd/snap/bin/. Therefore, you end up with an error of "ERROR! qemu-virgil not found. Please install the qemu-virgil snap., when in reality, it very much is installed.

So you can do one of two things for Fedora.

  • As an extra step, symlink /var/lib/snapd/snap to /snap
    OR
  • Add a check in the script for Fedora / Redhat, and adjust the path of the snap binaries to /var/lib/snapd/snap/bin/

Something like:

SNAP_PATH="/snap"
if [ -e "/etc/redhat-release" ] && [ $( grep -i fedora -c /etc/redhat-release ) -gt 0 ]; then
  SNAP_PATH="/var/lib/snapd/snap"
fi
QEMU="${SNAP_PATH}/bin/qemu-virgil"
QEMU_IMG="${SNAP_PATH}/bin/qemu-virgil.qemu-img"
VIRGIL_PATH="${SNAP_PATH}/qemu-virgil/current"

Network bridge

Is there a way to make the network for the VM bridged?
This would be handy to test for network printers and the likes.

Unable to open VM if another VM is open with VirtualBox

Dear All,
My apologies for the several issues raised on the same day.
When I have a VM open inside VirtualBox, and if I try to use quickemu, I am getting the below error message.

ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
qemu-system-x86_64: failed to initialize KVM: Device or resource busy

Is it safe to assume that at a time, only either quickemu or virtualbox can be open ?

PC doesn't meet requirements

I'm still having the "this PC doesn't meet the minimum system requirements" message when installing Windows 11. And the TPM setting is on in the conf file and swtmp is installed. Ideas?

Could not create file: No such file or directory- Cant create VM Disk File

Can't create qcow2 file on a second internal disk mounted at /Data. Permissions on the folder are correct, 0777, so everyone can create files. The disk formatted with xfs file system. I can use virt-manager to create VMs Just fine. I am not sure if there is support for xfs in the script, or the virgil KVM Snap is able to talk to the disk.
My general observation has been that Snaps are blind to anything outside of the primary Operating System disk.
My config file.


boot="efi"
guest_os="linux"
iso="/Data/KVM/Isos/ubuntu-20.04-beta-desktop-amd64.iso"
disk_img="/Data/KVM/Disks/focal-desktop-amd64.qcow2"
disk=128G


Error Message


rajat@beasty:~/quickemu/quickemu$ ./quickemu --vm ubuntu.conf
Starting ubuntu.conf

  • QEMU: /snap/bin/qemu-virgil v4.2.0
  • BOOT: EFI
  • Guest: Linux optimised
  • Disk: /Data/KVM/Disks/focal-desktop-amd64.qcow2 (128G)
    qemu-img: /Data/KVM/Disks/focal-desktop-amd64.qcow2: Could not create file: No such file or directory
    ERROR! Failed to create /Data/KVM/Disks/focal-desktop-amd64.qcow2

pulse error spamming terminal

In my VMs, once they launch, I get this spamming the terminal:

pulseaudio: pa_threaded_mainloop_lock failed
pulseaudio: Reason: Access denied

This makes the terminal messy, and means the nice quickemu launch information dump is thrown off screen.

Allow for cpu core usage in os configuration

Similar to having RAM configurable, I would find it useful to be able to define the amount of cores to use for a OS configuration. For example:

cpu_cores=8

In the os configuration file.

Request: Add libvirt to PPA

Hello!

I have found quickemu recently, and I was glad you offer it as a PPA with latest qemu as well. But installing latest qemu breaks libvrt, what by its turn breaks virt-manager and gnome-boxes. Is there any change you can add latest libvirt to the PPA as well?

Anyway, thanks for this nice tool, it seems to work better with macOS images (perhaps because of the new qemu version)!

Regards

Add ChunkList checker for macOS downloads

This project is amazing!

Please consider implementing verification of all downloaded content in some manner. It would be awesome if this could be signed (PGP?) vs. checksummed (SHA256) as is already done for the Ubuntu images, though even a checksum is appreciated.

Segmentation fault when conf has no newline at end of file

Description

When investigating another issue where I was unable to install ubuntu 19.10 I tried to install ubuntu-mate 19.10 for comparison to see if my issue was specific to ubuntu "proper".

Towards the end of the installation quickemu crashed due to a segmentation fault with the following output:

./quickemu: line 136: 26666 Segmentation fault      (core dumped) ${QEMU} -name ${VMNAME},process=${VMNAME} -enable-kvm -machine q35 ${GUEST_TWEAKS} ${CPU} -smp ${CORES_VM} -m ${RAM_VM} -device virtio-balloon -drive if=pflash,format=raw,readonly,file="${EFI_CODE}" -drive if=pflash,format=raw,file="${EFI_VARS}" -drive media=cdrom,index=0,file="${iso}" -drive media=cdrom,index=1,file="${driver_iso}" -drive if=none,id=drive0,cache=directsync,aio=native,format=qcow2,file="${disk_img}" -device virtio-blk-pci,drive=drive0,scsi=off ${STATUS_QUO} ${VIDEO} -display ${OUTPUT},gl=${GL}${OUTPUT_EXTRA} -device qemu-xhci,id=xhci,p2=8,p3=8 -device usb-kbd,bus=xhci.0 -device usb-tablet,bus=xhci.0 ${USB_PASSTHROUGH} -device virtio-net,netdev=nic -netdev ${NET},id=nic -audiodev pa,id=pa,server=unix:${XDG_RUNTIME_DIR}/pulse/native,out.stream-name=${LAUNCHER}-${VMNAME},in.stream-name=${LAUNCHER}-${VMNAME} -device intel-hda -device hda-duplex,audiodev=pa,mixer=off -rtc base=localtime,clock=host -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0 -spice port=5930,disable-ticketing -device virtio-serial-pci -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 -chardev spicevmc,id=spicechannel0,name=vdagent -serial mon:stdio "${@}"

After some debugging I have noticed that the crash only happens when my .conf file lacks a newline at the end of the file.

When looking at the revisions tab of this gist https://gist.github.com/CarwynNelson/bac12dbb12e220ba7dd7cce2db40ed9a/revisions you can see the subtle difference.

Additional Details

When I first launch quickemu I get the following output:

Starting ../qemu/ubuntu-mate-19.10.conf
 - QEMU:     /snap/bin/qemu-virgil v4.2.0
 - BOOT:     EFI
 - Guest:    Linux optimised
 - Disk:     /home/carwyn/Development/qemu/ubuntu-mate-19.10.qcow2 (128G)
             Just created, booting from /home/carwyn/Development/qemu/ubuntu-mate-19.10.iso
 - Boot:     /home/carwyn/Development/qemu/ubuntu-mate-19.10.iso
 - CPU:      4 Core(s)
 - RAM:      2G
 - Screen:   1664x936
 - Video:    virtio-vga
 - GL:       ON
 - Virgil3D: ON
 - Display:  SDL
 - smbd:     /home/carwyn will be exported to the guest via smb://10.0.2.4/qemu
 - ssh:      22228/tcp is connected. Login via 'ssh user@localhost -p 22228'

BdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
gl_version 45 - core profile enabled
GLSL feature level 430

I was doing a minimal install of ubuntu-mate 19.10 (latest torrent download) with updates installing as part of the install, but no third party drivers selected.

Here is a snippet of information from neofetch for my system specifications:

OS: Ubuntu 19.10 x86_64 
Host: ROG Strix G531GW_G531GW 1.0 
Kernel: 5.3.0-42-generic 
Shell: zsh 5.7.1 
Resolution: 1920x1080 
DE: GNOME 3.34.3 
WM: GNOME Shell 
WM Theme: Adwaita 
Theme: Yaru-dark [GTK2/3] 
Icons: Yaru [GTK2/3] 
Terminal: tilix 
CPU: Intel i7-9750H (12) @ 4.500GHz 
GPU: NVIDIA GeForce RTX 2070 Mobile 
GPU: Intel UHD Graphics 630 
Memory: 4164MiB / 15861MiB 

Error line 232: create: command not found

I installed quickemu via the PPA. This has worked for me in the past on Ubuntu GNOME, but I made the switch to Kubuntu some days ago and now, when I try to start a VM, this happens:

$ quickemu --vm ./Ubuntu-21.10.conf
Starting qemu/Ubuntu-21.10.conf
 - QEMU:     /usr/bin/qemu-system-x86_64 v6.0.0
 - BOOT:     Legacy BIOS
 - Guest:    Linux optimised
 - Disk:     /home/philipp/qemu/Disks/Ubuntu-21.10.qcow2 (128G)
/usr/bin/quickemu: line 232: create: command not found
ERROR! Failed to create /home/philipp/qemu/Disks/Ubuntu-21.10.qcow2

Line 232 is as follows:

if [ ! -f "${disk_img}" ]; then
  # If there is no disk image, create a new image.
  mkdir -p "${VMDIR}" 2>/dev/null
  ${QEMU_IMG} create -q -f qcow2 "${disk_img}" "${disk}"
  if [ $? -ne 0 ]; then
    echo "ERROR! Failed to create ${disk_img}"
    exit 1
  fi

The variable QEMU_IMG is defined as $(which qemu-img) in line 562, but when I run this command on my machine, it outputs nothing. Therefore, I assume this variable is empty and that is causing the error.
Do I need to install something else in order to get it working?

Memory arithmetic error - integer expression expected

On my laptop running 20.04 with 8G memory, the "free -mega -h" command returns 7.9G total memory. This causes a "integer expression expected" error for the following if statements and the $ram variable just defaults to "2G".

Errors with windows 11

quickget windows 11
Getting Windows 11 URL...
.....
[====================================================================================================>] 530,65M 22,3MB/s in 25s
Making unattended.iso
/usr/bin/quickget: line 85: windows-11/unattended/autounattend.xml: No such file or directory
mkisofs: No such file or directory. Invalid node - 'windows-11/unattended/'.
Making VM configuration for windows-11...

quickemu --vm windows-11.conf

Still I can start it, but, when starting the install process I get that "Thgis PC does not meet the minimum requirements bla bla" (that tpm thing that win11 needs).

Edit: Same thing happens with the win10 image. I'm thinking it's supposed to install unattended, but for some reason this doesn't work. Not sure if the unattended part is related to win11 tpm issue. I have the necessary dependencies.

Anyone can take a look at the issue?

Windows 10 doesn't detect the qcow2 hdd

For me, Windows 10 doesn't detect the qcow2 hdd.
No errors, it just can't detect it. I can't add anything more, but it's really strange.

Also, Ubuntu Budgie didn't (or didn't seem to) detect the qcow2 hdd too, since it showed 0 bytes in the HDD. But Ubuntu 20.04 did and Xubuntu did detect the qcow2 hdd. I don't know what's going on.

Add shellcheck

I'm being completely honest with you all - I have not very much experience with coding and stuff, but I already wrote shell scripts myself and "sort of" can say what this script is doing from looking at the code.

Looking at your desktopify project, I noticed someone implementing automated shellcheck checks for every PR via GitHub Actions.
Do we want something similar here as well?

I will attempt to fix all the warnings and errors that the current version of quickemu will throw at me as well.

Feature request: allow booting from raw disk (/dev/sdX)

It would be really great if you add an ability to boot the VM from existing physical raw disk.

Something like -drive file=${RAW_DISK},format=raw,if=virtio with RAW_DISK=/dev/sdX (and special config-file option) will be very useful.


Note: this idea was inspired by this AskUbuntu Q&A.

Samba in version 2.2.2

It version 2.2.2, I no longer have access to the samba shares within the guest. In prior versions, a samba share was implicitly created from the home directory of the host and accessible on 10.0.2.4 within the guest. Is it still possible mount a samba share in version 2.2.2?

My host (running kubuntu 21.04):

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.04
Release:        21.04
Codename:       hirsute

Here is the quickemu output:

$ /bin/quickemu --vm ~/quickemu/windows10/windows10.conf
Quickemu 2.2.2 starting /home/darin/quickemu/windows10/windows10.conf
 - QEMU:     /usr/bin/qemu-system-x86_64 v6.0.0
 - BOOT:     Legacy BIOS (windows)
 - CPU:      1 Socket(s), 2 Core(s), 2 Thread(s), 3G RAM
 - Disk:     /home/darin/quickemu/windows10/windows10-overlay.qcow2 (64G)
 - CD-ROM:   /home/darin/quickemu/windows10/virtio-win-0.1.171.iso
 - Screen:   2048x1152
 - Display:  SDL, qxl-vga, GL (on), VirGL (off)
 - ssh:      On host:  ssh user@localhost -p 22220
 - SPICE:    On host:  spicy --title "windows10" --port 5933 --spice-shared-dir /home/darin/Public
 - WebDAV:   On guest: dav://localhost:9843/
 - Process:  On guest: killall windows10        (if a forced kill is required)

I've tried the spice shared dir, but it's pretty clunky. I have the spice client tools and webdavd service running, but the map-drive.bat is attempting to mount to the location of the former samba mount (drive z:). That may be something I can get working, but really liked the previous samba configuration and would prefer to use that if at all possible.

Thank you for quickemu! It's a great tool. I'm happy to supply any further information, if needed.

-spice port=,disable-ticketing: Parameter 'port' expects a number

Hey!
So I've implemented the way to get an available port in my fork, however, it doesn't seem to work (and the function "get_port" itself hasn't been modified or anything).
When I launch qemu, I have this error :
"-spice port=,disable-ticketing: Parameter 'port' expects a number"
I'm kinda confused because that function "get_port" doesn't actually return anything. I have Elementary OS Hera with latest updates installed, don't see why it doesn't work.

`Invalid argument` for new `qcow2` drive

Sorry if the title is not very descriptive. With a fresh downloaded focal image, I run the script like ./quickemu --vm focal.conf from the directory with the cloned project on a Ubuntu 18.04 machine. I've tried both with the beta of 20.04 and KDE Neon, in both cases I get the same error.

focal.conf file:

boot="legacy"
guest_os="linux"
iso="/home/$USER/Quickemu/focal/focal-desktop-amd64.iso"
disk_img="/home/$USER/Quickemu/focal/focal-amd64.qcow2"
ram=8G
disk=40G

Output

Starting focal.conf
 - QEMU:     /snap/bin/qemu-virgil v4.2.0
 - BOOT:     Legacy BIOS
 - Guest:    Linux optimised
 - Disk:     /home/user/Quickemu/focal/focal-amd64.qcow2 (40G)
             Looks unused, booting from /home/user/Quickemu/focal/focal-desktop-amd64.iso
 - Boot:     /home/user/Quickemu/focal/focal-desktop-amd64.iso
 - CPU:      4 Core(s)
 - RAM:      8G
 - Screen:   1664x936
 - Video:    virtio-vga
 - GL:       ON
 - Virgil3D: ON
 - Display:  SDL
 - smbd:     /home/user will be exported to the guest via smb://10.0.2.4/qemu
 - ssh:      22220/tcp is connected. Login via 'ssh user@localhost -p 22220'
qemu-system-x86_64: -drive if=none,id=drive0,cache=directsync,aio=native,format=qcow2,file=/home/user/Quickemu/focal/focal-amd64.qcow2: file system may not support O_DIRECT
qemu-system-x86_64: -drive if=none,id=drive0,cache=directsync,aio=native,format=qcow2,file=/home/user/Quickemu/focal/focal-amd64.qcow2: Could not open '/home/user/Quickemu/focal/focal-amd64.qcow2': Invalid argument

I've checked the permissions and user can read and write both files.

how to get qemu-virgil snap to recognize samba?

Martin, first off.. thx much for your latest changes! I am up and running now..

I'm having a remaining prob with samba and I'm new to snaps in general. How do I get qemu-virgil to recognize my samba smbd service so that my own snap install ends up with a /snap/qemu-virgil/current/usr/sbin/smbd ??

To be more specific.. this condtion isn't being met:
if [ "${ENGINE}" == "virgil" ] && [ -e /snap/qemu-virgil/current/usr/sbin/smbd ]; then

thx!

Windows10 example sees no disk to install to

Following the example from the README, everything works (minus #26 ) until I get to the portion of the windows install to select Upgrade/Custom...

Picking Upgrade fails because no install exists.

Picking Custom shows now drives, and will not allow one to continue until a drive can be found.

Running quickemu fails with "fsdev0 failed to open"

Just following the example, ./quickget ubuntu focal completes as expected.

But then this fails

$> ./quickemu --vm ubuntu-focal.conf
Quickemu 2.2.2 starting ubuntu-focal.conf
 - QEMU:     /usr/bin/qemu-system-x86_64 v6.1.0
 - BOOT:     Legacy BIOS (linux) - EFI requested but no EFI firmware found.
 - CPU:      1 Socket(s), 4 Core(s), 2 Thread(s), 2G RAM
 - Disk:     ubuntu-focal/disk.qcow2 (16G)
             Looks unused, booting from ubuntu-focal/ubuntu-20.04.3-desktop-amd64.iso
 - Boot ISO: ubuntu-focal/ubuntu-20.04.3-desktop-amd64.iso
 - Screen:   1664x936
 - Display:  SDL, virtio-vga, GL (on), VirGL (on)
 - ssh:      On host:  ssh user@localhost -p 22226
 - SPICE:    On host:  spicy --title "ubuntu-focal" --port 5937 --spice-shared-dir 
 - WebDAV:   On guest: dav://localhost:9843/
 - 9P:       On guest: sudo mount -t 9p -o trans=virtio,version=9p2000.L,msize=104857600  ~/Public
 - Process:  On guest: killall ubuntu-focal	(if a forced kill is required)
qemu-system-x86_64: -device virtio-9p-pci,fsdev=fsdev0,mount_tag=: cannot initialize fsdev 'fsdev0': failed to open '': No such file or directory

This is on archlinux, latest master.

Black screen on login using Xubuntu 19.10 and 20.04 daily builds

Testing 20.04 daily builds of Xubuntu. The installation process completes as expected and the machine reboots to a login screen. But on logging into the system you are presented with a black screen and mouse cursor.
Have tested ubuntu, kubuntu and mate flavours and do not see this issue.
Have tested with Xubuntu 9.10 and get the black screen issue.
Running latest QuickEMU as of 26 March 2020 on Lenovo T530 with Intel Graphics 3rd Gen Core.

running with --samba causes an error

I've added --samba on my command line, but qemu doesn't like it :

$ quickemu --vm ubuntu-19.10-server/ubuntu-19.10-server.conf --virgil --samba
NOTE! /home/yannick will be available on the guest via smb://10.0.2.4/qemu
/mnt/data/vms/ubuntu-19.10-server/ubuntu-19.10-server.qcow2
/mnt/data/vms/ubuntu-19.10-server/ubuntu-19.10-server.qcow2.snapshot
qemu-system-x86_64: Could not find '/usr/sbin/smbd', please install it
$ ls -l /usr/sbin/smbd
-rwxr-xr-x 1 root root 84064 jan 14 17:11 /usr/sbin/smbd

Am I doing something wrong ? I am on Ubuntu Desktop 18.04

$ uname -srv
Linux 5.3.0-42-lowlatency #34~18.04.1-Ubuntu SMP PREEMPT Fri Feb 28 14:29:41 UTC 2020

quickget: command not found

Hello,

Using Quickemu since 3 months, love it, i was installing it on a new computer and discover the quickemu package, so i try it.

and the new commend quickget

Reading the documentation,, i was impress look great and simple, let try it .... but

quickget: command not found

So i will continue with the old method. The command quickemu is working properly

But i think it's important to inform you, as you are doing a great job

Valtanetz

Windows 11 and TPM

I'm also having the "this PC doesn't meet the minimum system requirements" message when installing Windows 11. And the TPM setting is on in the conf file. I understand it's using swtpm. Do I need to install that or is it already included?

Originally posted by @cirrusflyer in #64 (comment)

Parameter 'zoom-to-fit' is unexpected

Hi Martin, I'm getting an error:

./quickemu.sh -vm ~/xtrabits/vm/qemu-vms/focal/focal.conf -virgil
focal.qcow2
focal.qcow2.snapshot
Formatting 'focal.qcow2', fmt=qcow2 size=68719476736 cluster_size=65536 lazy_refcounts=off refcount_bits=16
qemu-system-x86_64: -display gtk,grab-on-hover=on,zoom-to-fit=off: Parameter 'zoom-to-fit' is unexpected

my version:

qemu-system-x86_64 --version
QEMU emulator version 4.0.0 (Debian 1:4.0+dfsg-0ubuntu9.4)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

USB passthrough requires sudo for certain devices

First, thanks for quickemu!

Following the example in the README for Windows10 (I also have a Logitech C920), I get the error that the requested USB devices are NOT accessible, permission denied.

If I run quickemu with sudo I get a few different errors...so I simply added sudo line 131 which worked.

I could open a PR, but I'm not sure if this breaks anything else, or why it's not sudo in the first place.

Proxmox workflow?

Hey! This project looks great!

I was wondering if anyone has a good workflow to use quickemu on proxmox?

Thanks in advance!

macos - boot loop

Can not install macos using QuickEMU.
Following instructions in the guide.
When I run:
./quickemu --vm macos.conf
I see the os boot but quickly reboots itself.
Have recorded the screen and uploaded here:
https://youtu.be/bCLZB1T8vRA

Lubuntu graphical issue

Hello,
after correctly installing lubuntu (focal or hirsute), the desktop enviroment and the console flickers and goes black if i interact with them. I'm pretty sure it works with virt-manager, since i have a lubuntu machine there.

Any idea/suggestion why?

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.