2021-06-29, 03:41
INTRODUCTION:
Kinos2 - Kodi Jarvis & Retroarch for Apple TV gen 1
This is a successor to the first release of Kinos which was based on Ubuntu 12.04. (https://forum.kodi.tv/showthread.php?tid=313407)
This one's built from ground up using Ubuntu 14.04, Kodi runs a little better (no more heavy disk trashing when downloading subtitles for instance), I'm also using a newer kernel which supports more devices and peripherals. I think it's a more complete release with a few additional goodies, and should work with 99,9% of all 1080p MKV files. In case you wondered why I didn't use Ubuntu 18.04: The ATV only has 256MB ram, and 14.04 simply runs better.
Kinos2 is mainly:
1. Basic configuration file easily accessed by Samba share, so you don't need to SSH in to configure system settings (except for Wifi). From here you enable and configure Transmission, TVHeadend, Minimserver (download required), Roon (download required), Syncthing, Airplay (Shairport-sync), Spotify Connect... and other settings.
2. A minimal kernel 4.19 which includes support for exfat and the proprietary WL Broadcom driver (which works with the original wifi card), plus all the TV cards/USB WiFi dongles that the kernel supports (except older B/G ones).
3. Auto mounting and sharing of USB disks (thanks OSMC)
4. Bluez that supports the PS3 BD Remote (with sleep, so the batteries will last years), Logitech Harmony Ultimate/Elite in PS3 mode and the Logitech PS3 to IR receiver.
4a. Autopairing of PS3 joypads, which might or might not work for you. (just connect it to USB like a real PS3 to pair). Remember to enable bluetooth from the config file.
5. An ncurses based gui for network connections/wifi. Just SHH in and type "connman_ncurses" to configure WiFi. It's basically an one time "set it and forget it".
6. Pre-added a few soundfont files (with a shortcut from the home folder). AFAIK they are all in the public domain. I mostly use these in the Libretro ScummVM core (which is preconfigured to use the one thats 45MB)
7. Support for Xbox wireless dongle to Xbox S controllers wirelessly. (Also supports Xbox Series X controllers).
8. Native Apple Remote, making it much more responsive plus it works in both Kodi and Retroarch. Even the play button on the silver remote has it's own function.
9. Can play from a real DVD/CD using an usb drive (Which didn't work in Kinos1 for some reason)
10. 3 Skins included. Quartz (Kinos) is the default skin and runs the best I've also included Quartz CE, which is another fork of Quartz. And of course Confluence is also included.
INSTALLATION:
Note: This only supports installing to the internal hard drive. No, I won't add support for installing to an USB stick.
Note 2: You do this on your own responsibility
note 3: A 2.5" IDE to mSATA adapter is highly recommended. (or 2.5" to m.2, but AFAIK only m.2 sata adapters exists, so no nvme). I get about 87MB/s read speed from a noname msata using HDPARM.
Download this zip file and unzip it:
https://mega.nz/file/ojBVUIgQ#kaBt9glTB4...XWJnCsODCY
Clone the image file to a USB stick using of the following tools (or your own method):
DD (Linux/Mac), Win32DiskImager/Balenaetcher (Windows), applepi-baker/Balenaetcher (Mac)
An USB stick of minimum 2GB is needed.
Insert the stick into the USB port at the back of the Apple TV, and connect the Apple TV to power.
After the install has begun, the ATV will blink white after 30 second timeout, meaning it's past the point of no return.
After verifying the integrity of Kinos file system and succeeded, the light will turn to solid amber to signal that it's begun extraction of the filesystem. (You will get an error that /dev/sdb2 can't be mounted, this is expected unless you make a custom installer: see next paragraph)
When the install is finished, the ATV will blink alternate Amber/White, signaling that you can remove the install media. Kinos2 will then automatically reboot.
ADD YOUR OWN ASSETS FOR A CUSTOM INSTALLER
This is assuming you're using a Windows PC:
After you've imaged Kinos to a USB stick, unplug it, then replug it. Open a partition tool such as Minitool or similar. You will then be able to create a new partition of the remaining space. Create a partition and name it whatever you want, using fat32,exfat, ntfs or ext3/ext4 filesystem.
On this partiton you can create folders that you can put either archives or subfolders into.
Archives will be extracted (only root level/non recursive) and subfolders copied (recursive). The archives can be *.tar.xz, *.7z or *.zip. (supports the maximum compression preset if you use 7z for Windows).
Example: You have a bunch of game backup roms that you want extracted or copied over. Simply archive the whole game folder and put it inside a folder named "roms" at the root of the new partition. Or you can just copy the whole game folder over to the "roms" folder on the new partition.
Be aware that depending on the destination folder, the archives should/should not include a top level folder. For "roms" it makes sense if an "Atari 2600.7z" archive uses an "Atari 2600" top folder. Whereas a complete retroarch backup archive inside "/retroarch" it doesn't make sense to use a top folder, or the archive would essentially be extracted to ~/.config/retroarch/retroarch/ instead of ~/.config/retroarch/ , which is what we want.
Kinos recognize 11 different folders (first line) which the installer will either extract archives from, or copy all subfolders from, to a set destination folder (second line).
/pictures
~/Pictures/
/userdata
~/.kodi/userdata/
/kodi
~/.kodi/
/addons
special case. Here you can put additional Kodi addons in their original zipped state. (They will become part of the default Kodi addons)
For Retroarch:
/roms
~/Roms/
/bios
~/.config/retroarch/system/
/scummvm
~/Roms/ScummVM/
/thumbnails
~/.config/retroarch/thumbnails/"
/playlists
~/.config/retroarch/playlists/
/config
~/.config/retroarch/config/"
/retroarch
~/.config/retroarch/
#Bugs I'm too lazy to/can't fix/caveats:
Kinos2 - Kodi Jarvis & Retroarch for Apple TV gen 1
This is a successor to the first release of Kinos which was based on Ubuntu 12.04. (https://forum.kodi.tv/showthread.php?tid=313407)
This one's built from ground up using Ubuntu 14.04, Kodi runs a little better (no more heavy disk trashing when downloading subtitles for instance), I'm also using a newer kernel which supports more devices and peripherals. I think it's a more complete release with a few additional goodies, and should work with 99,9% of all 1080p MKV files. In case you wondered why I didn't use Ubuntu 18.04: The ATV only has 256MB ram, and 14.04 simply runs better.
Kinos2 is mainly:
- Kodi Jarvis v16.1 with Crystal HD support for the Apple TV.
- Retroarch v1.20 (with support for most emulators before the PSX/N64 era). I manually updated 100+ cores that made at least some sense to include. (There is no PPA for 14.04 anymore and a lot of cores weren't included in the PPA anyways).
- Kodi and Retroarch are both preconfigured to "just work", and you can launch Retroarch from Kodi and vice versa, making it super easy to switch back and forth.
1. Basic configuration file easily accessed by Samba share, so you don't need to SSH in to configure system settings (except for Wifi). From here you enable and configure Transmission, TVHeadend, Minimserver (download required), Roon (download required), Syncthing, Airplay (Shairport-sync), Spotify Connect... and other settings.
2. A minimal kernel 4.19 which includes support for exfat and the proprietary WL Broadcom driver (which works with the original wifi card), plus all the TV cards/USB WiFi dongles that the kernel supports (except older B/G ones).
3. Auto mounting and sharing of USB disks (thanks OSMC)
4. Bluez that supports the PS3 BD Remote (with sleep, so the batteries will last years), Logitech Harmony Ultimate/Elite in PS3 mode and the Logitech PS3 to IR receiver.
4a. Autopairing of PS3 joypads, which might or might not work for you. (just connect it to USB like a real PS3 to pair). Remember to enable bluetooth from the config file.
5. An ncurses based gui for network connections/wifi. Just SHH in and type "connman_ncurses" to configure WiFi. It's basically an one time "set it and forget it".
6. Pre-added a few soundfont files (with a shortcut from the home folder). AFAIK they are all in the public domain. I mostly use these in the Libretro ScummVM core (which is preconfigured to use the one thats 45MB)
7. Support for Xbox wireless dongle to Xbox S controllers wirelessly. (Also supports Xbox Series X controllers).
8. Native Apple Remote, making it much more responsive plus it works in both Kodi and Retroarch. Even the play button on the silver remote has it's own function.
9. Can play from a real DVD/CD using an usb drive (Which didn't work in Kinos1 for some reason)
10. 3 Skins included. Quartz (Kinos) is the default skin and runs the best I've also included Quartz CE, which is another fork of Quartz. And of course Confluence is also included.
INSTALLATION:
Note: This only supports installing to the internal hard drive. No, I won't add support for installing to an USB stick.
Note 2: You do this on your own responsibility
note 3: A 2.5" IDE to mSATA adapter is highly recommended. (or 2.5" to m.2, but AFAIK only m.2 sata adapters exists, so no nvme). I get about 87MB/s read speed from a noname msata using HDPARM.
Download this zip file and unzip it:
https://mega.nz/file/ojBVUIgQ#kaBt9glTB4...XWJnCsODCY
Clone the image file to a USB stick using of the following tools (or your own method):
DD (Linux/Mac), Win32DiskImager/Balenaetcher (Windows), applepi-baker/Balenaetcher (Mac)
An USB stick of minimum 2GB is needed.
Insert the stick into the USB port at the back of the Apple TV, and connect the Apple TV to power.
After the install has begun, the ATV will blink white after 30 second timeout, meaning it's past the point of no return.
After verifying the integrity of Kinos file system and succeeded, the light will turn to solid amber to signal that it's begun extraction of the filesystem. (You will get an error that /dev/sdb2 can't be mounted, this is expected unless you make a custom installer: see next paragraph)
When the install is finished, the ATV will blink alternate Amber/White, signaling that you can remove the install media. Kinos2 will then automatically reboot.
ADD YOUR OWN ASSETS FOR A CUSTOM INSTALLER
This is assuming you're using a Windows PC:
After you've imaged Kinos to a USB stick, unplug it, then replug it. Open a partition tool such as Minitool or similar. You will then be able to create a new partition of the remaining space. Create a partition and name it whatever you want, using fat32,exfat, ntfs or ext3/ext4 filesystem.
On this partiton you can create folders that you can put either archives or subfolders into.
Archives will be extracted (only root level/non recursive) and subfolders copied (recursive). The archives can be *.tar.xz, *.7z or *.zip. (supports the maximum compression preset if you use 7z for Windows).
Example: You have a bunch of game backup roms that you want extracted or copied over. Simply archive the whole game folder and put it inside a folder named "roms" at the root of the new partition. Or you can just copy the whole game folder over to the "roms" folder on the new partition.
Be aware that depending on the destination folder, the archives should/should not include a top level folder. For "roms" it makes sense if an "Atari 2600.7z" archive uses an "Atari 2600" top folder. Whereas a complete retroarch backup archive inside "/retroarch" it doesn't make sense to use a top folder, or the archive would essentially be extracted to ~/.config/retroarch/retroarch/ instead of ~/.config/retroarch/ , which is what we want.
Kinos recognize 11 different folders (first line) which the installer will either extract archives from, or copy all subfolders from, to a set destination folder (second line).
/pictures
~/Pictures/
/userdata
~/.kodi/userdata/
/kodi
~/.kodi/
/addons
special case. Here you can put additional Kodi addons in their original zipped state. (They will become part of the default Kodi addons)
For Retroarch:
/roms
~/Roms/
/bios
~/.config/retroarch/system/
/scummvm
~/Roms/ScummVM/
/thumbnails
~/.config/retroarch/thumbnails/"
/playlists
~/.config/retroarch/playlists/
/config
~/.config/retroarch/config/"
/retroarch
~/.config/retroarch/
#Bugs I'm too lazy to/can't fix/caveats:
- Inserting the Pulse8 CEC adapter, makes Kodi crash. (Too lazy to find out why, and I suspect nobody is using this with the ATV anyways)
- If you're using ethernet and your router reboots, Kinos will get Automatic Private IP (Ip in the 169.x.x.x range) and it won't get a new real IP until you unplug/plug the cable or reboot. (probably a connman bug in Ubuntu 14.04)
- Spotify Connect from the Windows Client as of 6th July 2021 doesn't work. https://github.com/librespot-org/libresp...issues/370 (there is a workaround described there)
- The default Quartz skin is a little buggy, so the shelf won't auto populate when you add a new library. You have to reload the skin, which is easily accomplished by simply either choosing "reload skin" or quitting Kodi (Kodi will automatically respawn in a few seconds).
- Note that only the included skins have been modified to start Retroarch using the exit menu.