Maisie Marks

‎ Dad's Pc

For Christmas, I wanted to gift my dad his own pc, and as he didn't have a desk to play from, I wanted to integrate it into the livingroom TV setup so that it could be tucked away.

I decided I would build something where he could easily sit down and play small games, but if he wanted to play Steam games or do more with his computer, he could use Windows on it like regular. I would achieve this by dualbooting Batocera linux for emulation, light gaming and personal media watching, and use Windows as a more general-purpose computer able to play games without linux kernel-level anticheat.

Buying the computer

This needed a mini-computer that would be small and capable, so opted for buying a HP Prodesk 400 G2 Mini (i3-6100T 8GB DDR4 500GB HDD) for £40 on Ebay, along with a charger. I then replaced the current hard drive for an equivalent 500GB SSD to boost load-time of the OS'.


Installing Windows and Batocera

Due to the pc not having TPM 2.0, I installed Windows 10 as the main OS over Windows 11. Though after trying to install Batocera as well as Windows, I ran into issues. This is due to Batocera only recognising a "target drive" to image to instead of having advanced options for partitioning so I had to do a workaround by partitioning the disk.


Partitioning the Disk

To partition the disk to work in Batocera, you will first need to shrink the volume of your Windows partition to deallocate it. For this setup, I kept 425Gb for Windows, and 75Gb for Batocera files. Then with the unallocated space, make two volumes: 'BATOCERA' 10gb FAT32 partition and a 'Batocera Data' 65gb NTFS partition.
Although formatting in EXT4 is preferred, formatting in NTFS ensures easy drag and drop and compatibility between the two operating systems, though you have to be cautious of this as Windows may not like it. You will need to ensure you make the Batocera partitions exempt Windows disk-checking as it may recognise and format the drive in an attempt to "fix" it as it may think the partition is broken.


Grub Dual-boot Startup

To allow for a choice of startup menu, I installed Grub2Win. This means that I can choose between both OS' upon startup instead of having to change the boot priority in BIOS. I set Batocera as the default OS (as with the controller you aren't able to navigate the bootloader), and for times when wanting to boot into Windows, you can use a keyboard to press the down and enter arrow keys. Using Grub2Win
 set efibootmgr=/EFI/batocera/bootx64.efi
     getpartition  file  $efibootmgr  root
     if [ ! -z $reviewpause ] ; then
	 echo GNU Grub will load the Batocera EFI Boot Manager at disk address $root
         g2wsleep  
     fi
     echo GNU Grub is now loading the Batocera EFI Boot Manager
     chainloader $efibootmgr
     savelast 1 'Batocera'


Batocera Setup

Once Batocera has been installed, you may need to legally download some firmware for some of the devices. You will also need to very legally acquire some ROMS to play with. The OS comes with lots of customisation options right out of the box, allowing for new skins to be applied from various GitHub repositories, as well as integration with scrapers to gather box art, descriptions and other useful info to be displayed for the games. Batocera also comes bundled with Kodi, an open-source media player. This is useful as movies can be downloaded and dragged into the "Batocera_Data/userdata/kodi" partition for ease of viewing from one central machine. Batocera also allows for steam gaming via the Proton layer, though keep in mind that this doesn't work for all games.

Peripheral Setup

For the keyboard and mouse setup, it needed to be wireless as the sofa is quite far from the tv. It also needed to be USB wireless as opposed to Bluetooth wireless else navigation in the grub menu bootloader wouldn't be possible.

For the wireless controller, Xbox One controllers work wired but not with Bluetooth natively on linux, so I opted for a USB Bluetooth dongle for this (a specific wireless adapter for the xbox one controller).

Booting up the console and leaving it to autoboot into Batcoera means you can play with xbox one controller. WHereas if you want to use the windows boot, ensure you have keyboard and mouse ready, you can use arrowkeys and the enter button to navigate through the grub menu.



This whole project has been done through trial and error, the Batocerawiki and excessive googling.

Media: