Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
run_batocera_in_vm [2022/07/01 03:14] – add method 2 for qemu (thanks porkkiller), realign pictures atarirun_batocera_in_vm [2025/02/06 00:36] (current) – Fix numbering on last point by removing the blank line above "Enjoy" dekay
Line 4: Line 4:
  
 <WRAP center round important> <WRAP center round important>
-Except massive performance deficits compared to bare-metal installation. Virtual Machines don't take kindly to newer/modern graphics APIs and standards.+Expect massive performance deficits compared to bare-metal installation. Virtual Machines don't take kindly to newer/modern graphics APIs and standards.
 </WRAP> </WRAP>
  
Line 11: Line 11:
   - [[https://batocera.org/download|Download the latest Batocera x86_64 image.]]   - [[https://batocera.org/download|Download the latest Batocera x86_64 image.]]
   - Install [[https://www.virtualbox.org/wiki/Downloads|Oracle's VirtualBox]].   - Install [[https://www.virtualbox.org/wiki/Downloads|Oracle's VirtualBox]].
-  - Install the VirtualBox #.#.# Oracle VM VirtualBox Extension Pack (a.k.a. "Guest Additions"too. <WRAP center round tip>+  - Install the VirtualBox #.#.# Oracle VM VirtualBox Extension Pack too. <WRAP center round tip>
 If you need further help with installing VirtualBox, refer to their helpful [[https://www.virtualbox.org/manual/ch01.html#hostossupport|user manual]] If you need further help with installing VirtualBox, refer to their helpful [[https://www.virtualbox.org/manual/ch01.html#hostossupport|user manual]]
 </WRAP> </WRAP>
 +  - If you downloaded the Batocera image file from the website, it is in ''.img.gz'' format. Uncompress the ''.gz'' part with your favorite uncompressing tool (7-Zip, WinRar...) to make it a ''.img'' file. Some browsers uncompress the file you downloaded by default.
   - Convert the Batocera IMG file to a VDI using the command line (''[Win]'' + ''[R]'', then type ''cmd''). For example, for the default VirtualBox installation using Batocera v33 beta: <code>   - Convert the Batocera IMG file to a VDI using the command line (''[Win]'' + ''[R]'', then type ''cmd''). For example, for the default VirtualBox installation using Batocera v33 beta: <code>
 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" convertdd C:\batocera-x86_64-33-20211108.img C:\batocera-x86_64-33-20211108.vdi "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" convertdd C:\batocera-x86_64-33-20211108.img C:\batocera-x86_64-33-20211108.vdi
Line 88: Line 89:
 [[https://www.youtube.com/watch?v=6V9iZAe9xz8|A video demonstration of Batocera being run inside a Qemu VM.]] [[https://www.youtube.com/watch?v=6V9iZAe9xz8|A video demonstration of Batocera being run inside a Qemu VM.]]
  
-==== Method 2 ==== +=== Post-installation setup ===
- +
-  - Download the image for Batocera from [[https://batocera.org/download|the main site]]. +
-  - Install the ''qemu'', ''virt-manager'' and ''qemu-img'' packages for your distro. On Debian, this can be accomplished by: <code bash> +
-apt-get update +
-apt-get upgrade +
-apt-get install qemu virt-manager qemu-img +
-</code> +
-  - Create a VM with no HDD (FIXME What? Where? How? Screenshots?+
-  - Extract the img (FIXME from where?) and rename it to ''batocera.img''. (FIXME is this even strictly necessary?+
-  - Run the following: <code bash> +
-qemu-img convert -p -f raw -O qcow2 batocera.img batocera.qcow2 +
-</code> +
-  - In the VM settings (FIXME where?) select **Add device** -> **HDD** -> **SATA** and browse to ''batocera.qcow2'' +
-  - Enjoy! +
- +
-<WRAP center round todo> +
-No controller workaround needed? +
-</WRAP> +
- +
-==== Post-installation setup ====+
  
 You can still add files to Batocera using [[:add_games_bios|the usual methods]], even the network share. You can still add files to Batocera using [[:add_games_bios|the usual methods]], even the network share.
Line 122: Line 103:
 Then it should be automatically detected and mounted by your desktop environment. Then it should be automatically detected and mounted by your desktop environment.
  
 +==== Method 2 ====
 +
 +  - Download the compressed Batocera image for x86_64 from [[https://batocera.org/download|the main site]] and extract the ''batocera*.img'' file from the compressed ''batocera*.img.tz'' tarball.
 +  - Expand the image to the size you'd like to assign to Batocera using ''fallocate''. At least 16 GB is recommended for full functionality, but if space is a concern then you can get away with just 7 GB: <code bash>
 +sudo fallocate -l 7G batocera.img
 +</code>
 +  - Install the ''virt-manager'' and ''qemu'' packages for your distro:
 +    * **On Debian/Ubuntu:** <code bash>
 +apt-get update
 +apt-get upgrade
 +apt-get install virt-manager qemu
 +</code>
 +    * **On Fedora/RPM-based:** Update your package lists, then: <code bash>
 +sudo dnf install virt-manager qemu
 +</code>
 +    * **On Arch/pacman-based:** Update your package lists, then: <code bash>
 +pacman -S virt-manager qemu
 +</code>
 +    * **On Yum-based:** Update your package lists, then: <code bash>
 +yum install virt-manager qemu
 +</code>
 +  - Make sure your user owns the ''libvirt'' socket. Change out the username:username with your actual username:<code bash>
 +sudo chown username:username /var/run/libvirt/libvirt-sock</code>
 +  - Create a VM with the Batocera image as a drive in Qemu.
 +    - Go to **File** -> **New virtual machine...**\\ {{:qemu-vm-french-1.png?520|}}
 +    - Ensure "Import an existing disk image" is selected.\\ {{:qemu-vm-french-2.png?360|}}
 +    - "Browse" for an existing image.\\ {{:qemu_bato_browse_for_image.png?360|}}
 +    - Click "Browse for local..." and select the Batocera image file.\\ {{:qemu-vm-french-4-b.png?440|}} {{:qemu-vm-french-5.png?620|}}
 +    - Select the OS: ''Microsoft Windows 10'' (FIXME no screenshot? What does this mean, as we've already selected our image?)
 +    - The dialogue box should now look like this, proceed:\\ {{:qemu_bato_i_dunno.png?360|}}
 +    - Grant access permission to the emulator to search into the selected path
 +    - Change the default **Memory** and **CPU** numbers if you choose. The defaults are good enough.\\ {{:qemu-vm-french-3.png?360|}}
 +    - Give your virtual machine a name and click **Finish**.\\ {{:qemu-vm-french-6.png?360|}}
 +  - (Optional) If you'd prefer to passthrough your GPU to the virtual machine for extra performance (warning: <wrap em>your host machine will lose access to the GPU you passthrough</wrap>) follow the instructions here: https://www.server-world.info/en/note?os=Debian_11&p=kvm&f=12
 +  - (Optional) For gamepad support:
 +    - Connect the gamepad into a USB port on the host computer.
 +    - On the virtual machine, go to **View** -> **Redirect USB Devices** and then select the connected gamepad.\\ {{:qemu-redirectusbdevice.png?direct&400|}}
 +  - (Optional) For external storage device support:
 +    - Connect the USB external disk into a USB port on the host computer.
 +    - On the virtual machine, go to **View** -> **Redirect USB Devices** and then select the connected USB disk device.\\ {{:qemu-externalstoragedevice.png?direct&400|}}
 +    - Now goes to Settings -> Storage Devices -> And select the USB Disk, system will reboot to apply the changes.
 +  - Enjoy!
 ===== Proxmox ===== ===== Proxmox =====
  
Line 129: Line 152:
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
 +
 +==== I have a black screen but can still hear the audio playing ====
 +
 +The virtual machine is not configured correctly. Preferably, you would figure out how it's not configured correctly and remedy that, but in case you'd rather just instantly work around it, you can [[:display_issues#when_emulationstation_feels_sluggish_on_a_4k_tv|force Batocera to use a particular resolution]].
 +
 +==== I have no space in my virtual userdata partition! ====
 +
 +Perhaps you didn't expand the image before using it as the base?
 +
 +It's also possible to simply replace the userdata partition with another, larger one by changing the "drives" in the virtual machine's settings. This will differ from virtual machine to virtual machine, look up its instructions. Batocera uses the **ext4** [[:batocera.linux_architecture|filesystem]] for its userdata by default.
  
 ==== My controller isn't working! ==== ==== My controller isn't working! ====
  
-First, make sure you have passed it through as a USB device to the VM itself (step 7d. in the instructions above).+First, make sure you have passed it through as a USB device to the VM itself (refer to the instructions above).
  
 If it's still not working, check that the controller itself is working fine on your host machine outside of VirtualBox. If it's still not working, check that the controller itself is working fine on your host machine outside of VirtualBox.
Line 143: Line 176:
  
 Windows shouldn't have this issue as long as the program is run in administrator mode. Windows shouldn't have this issue as long as the program is run in administrator mode.
 +
 +==== I have no network connection even though my host has one ====
 +
 +If you face an error about the "default" network device like this:\\ {{:qemu_network_error.png?360|}}
 +
 +then you are not currently passing through your network connection to the virtual machine. Run the following on the host machine to enable that:
 +
 +<code bash>
 +sudo virsh net-start default
 +</code>
  
  • run_batocera_in_vm.1656645283.txt.gz
  • Last modified: 4 years ago
  • by atari