diff --git a/docs/advanced/jit.mdx b/docs/advanced/jit.mdx index e41ac808..968efa5c 100644 --- a/docs/advanced/jit.mdx +++ b/docs/advanced/jit.mdx @@ -4,26 +4,28 @@ description: A tutorial on how to enable Just-in-Time (JIT) Compilation for apps --- :::note -iOS 26 has broken JIT once again. An update has been released to StikDebug with a fix, but support is limited. As of writing (May 3 2026), the only supported apps are: +iOS 26 has broken JIT once again, and 26.6 and 27 only work with a few apps. An update has been released to StikDebug with a fix, but support is limited. As of writing (June 17 2026), the only supported apps are: * UTM * Amethyst * MeloNX * maciOS -* DolphiniOS (beta) +* DolphiniOS (Works up to 26.6) * Geode -* Manic EMU (select cores) +* Manic EMU * Flycast (iOS 26 fork) * MeloCafe +* ARMSX2 +* DukeX (Works up to 27 on A13/A14/M1 chip) Please keep an eye on our announcements channel in our Discord server and on the [idevice server](https://discord.gg/mACqxMxP3X)'s announcements and compatibility channels for further updates. There are many methods to enabling JIT, depending on your iOS version. This tutorial will cover the use of StikDebug (formerly StikJIT), as it is the method we currently recommend. For more information, consult the [official StikDebug pairing guide](https://github.com/StephenDev0/StikDebug-Guide/blob/main/pairing_file.md). -As an alternative, SideStore 0.6.2 includes updates to minimuxer, allowing built-in JIT functionality similar to StikDebug. To use this, simply ensure you are connected to LocalDevVPN with either Wi-Fi connected or Airplane Mode enabled, then navigate to "My Apps," longpress the app you wish to enable JIT for, and tap "enable JIT". +As an alternative, SideStore 0.6.2 includes updates to minimuxer, allowing built-in JIT functionality similar to StikDebug on iOS versions 16 and below or non-TXM capable (4+ years old). To use this, simply ensure you are connected to LocalDevVPN with either Wi-Fi connected or Airplane Mode enabled, then navigate to "My Apps," longpress the app you wish to enable JIT for, and tap "enable JIT". ::: ## Prerequisites -* An iPhone or iPad running iOS/iPadOS 17.4-all iOS 18 versions, excluding 18.4b1. If you are on 17.0-17.3, you must use an alternative such as [SideJITServer](https://github.com/nythepegasus/SideJITServer). SideStore's JIT enabler will only work on iOS 26 if your device is about 4+ years old (non-TXM capable). +* An iPhone or iPad running iOS/iPadOS 17.4-all iOS 18 versions, excluding 18.4b1. If you are on 17.0-17.3, you must use an alternative such as [SideJITServer](https://github.com/nythepegasus/SideJITServer). ## StikDebug installation procedures: @@ -38,12 +40,12 @@ Use iloader to import the same **pairing file** you use for SideStore with iload ### Standard setup procedure (must be done first, every time you restart your device) 1. **Mount the DDI:** - Open StikDebug with Wi-Fi and the VPN connected as well as the pairing file placed, then force close it and reopen it. This mounts the DDI. StikDebug should now show all green indicators. + Open StikDebug with Wi-Fi and the VPN connected as well as the pairing file placed, then force close it and reopen it. This mounts the DDI. ## To enable JIT: 1. **Enable VPN:** - Start by opening LocalDevVPN on Wi-Fi or with cellular data enabled and activating the built-in VPN. Now, if using cellular data, enable Airplane Mode and reopen the app with the VPN still enabled. + Start by opening LocalDevVPN on Wi-Fi or Airplane Mode. Now, if using cellular data, start the VPN, enable Airplane Mode, then switch back to cellular. 2. **Activate JIT:** - Select the “Connect by App” button and select an app from the list (must be sideloaded with proper entitlements to appear in the list) to attach a debugger and activate JIT functionality. + Select an app from the list (must be sideloaded with get-task-allow to appear in the list) to attach a debugger and activate JIT functionality. diff --git a/docs/installation/prerequisites.mdx b/docs/installation/prerequisites.mdx index 3edd02be..ff513800 100644 --- a/docs/installation/prerequisites.mdx +++ b/docs/installation/prerequisites.mdx @@ -65,15 +65,14 @@ Now, follow the instructions to install [iloader](https://iloader.app) correspon 1. Enable `Linux development environment`. You can read the [Set up Linux on your Chromebook](https://support.google.com/chromebook/answer/9145439) guide by Google to see how to set it up, following the `Turn on Linux` steps. 2. Ensure all packages are updated by opening the Terminal, running the following command: `sudo apt-get update && sudo apt-get dist-upgrade` - 3. Open the Files app, right click on the `Downloads` folder in the left sidebar, and click `Share with Linux`. (It will be shared in `/mnt/chromeos/MyFiles/Downloads`) - 4. Download and install `usbmuxd` and `fuse`. You can install it with your package manager by running the following command in the Terminal: `sudo apt-get install usbmuxd fuse` - 5. Download and install iloader. It is available as an AppImage. To know which version to download, determine your Chromebook's architecture using `uname -m`. If the command outputs `x86_64`, download the `amd64` version here: https://github.com/nab138/iloader/releases/latest/download/iloader-linux-amd64.AppImage. Otherwise if it outputs `aarch64`, download the `aarch64` version here: https://github.com/nab138/iloader/releases/latest/download/iloader-linux-aarch64.AppImage. Download the file to your Downloads folder. - 6. If `usbmuxd` isn't already started, run the following command in the Terminal: `sudo systemctl restart usbmuxd`. - 7. Navigate to `Manage USB devices` (in **Settings** -> **About ChromeOS** -> **Developers** -> **Linux development environment**), then connect your iPhone, iPad, or iPod touch (iDevice) to your Chromebook via a USB cable. As soon as you see the device, **quickly enable it from the list**. If you are prompted on your iDevice, trust the computer and enter your passcode. + 3. Download and install `usbmuxd`, `curl` and `fuse`. You can install it with your package manager by running the following command in the Terminal: `sudo apt-get install usbmuxd fuse curl` + 4. Download and install iloader. It is available as an AppImage. To know which version to download, determine your Chromebook's architecture using `uname -m`. If the command outputs `x86_64`, run `curl -fsSLO https://github.com/nab138/iloader/releases/latest/download/iloader-linux-amd64.AppImage` Otherwise if it outputs `aarch64`, run `curl -fsSLO https://github.com/nab138/iloader/releases/latest/download/iloader-linux-aarch64.AppImage`. + 5. If `usbmuxd` isn't already started, run the following command in the Terminal: `sudo systemctl restart usbmuxd`. + 6. Navigate to `Manage USB devices` (in **Settings** -> **About ChromeOS** -> **Developers** -> **Linux development environment**), then connect your iPhone, iPad, or iPod touch (iDevice) to your Chromebook via a USB cable. As soon as you see the device, **quickly enable it from the list**. If you are prompted on your iDevice, trust the computer and enter your passcode. :::note **Enabling the iDevice __quickly__ in Manage USB devices is necessary** due to a bug with the `Linux development environment`. ChromeOS automatically claims the iDevice (which is why it appears in the Files app), preventing the Linux container from seeing it. Manually enabling it in **Manage USB devices** quickly before ChromeOS claims the iDevice will pass control to the container instead. You can follow **Step 8** to verify the container sees the iDevice. ::: - 8. Verify the `Linux development environment` recognizes your iDevice by running `lsusb` in the Terminal. Your iDevice should appear in the list. If it doesn't, try unplugging, and repeating the previous step. + 7. Verify the `Linux development environment` recognizes your iDevice by running `lsusb` in the Terminal. Your iDevice should appear in the list. If it doesn't, try unplugging, and repeating the previous step. :::tip The output for `lsusb` should look something like this, with iPhone (or similar device) being an existing entry: ``` @@ -83,12 +82,11 @@ Now, follow the instructions to install [iloader](https://iloader.app) correspon ``` The exact device name and bus/device numbers may vary, but they are not significant. ::: - 9. Run the following command in the Terminal to allow iloader to be executable, and to launch iloader (ensure the filename matches what was downloaded, if the file name contains `amd64`, replace `aarch64` with `amd64`): + 8. Run the following command in the Terminal to allow iloader to be executable, and to launch iloader (ensure the filename matches what was downloaded, if the file name contains `amd64`, replace `aarch64` with `amd64`): ``` - cd /mnt/chromeos/MyFiles/Downloads - chmod +x iloader-linux-aarch64.AppImage + chmod +x ./iloader-linux-aarch64.AppImage ./iloader-linux-aarch64.AppImage ``` - 10. If iloader isn't showing your iDevice, you can try manually running `usbmuxd` by running the following commands in the Terminal **in another tab**: `sudo systemctl stop usbmuxd` and `sudo usbmuxd -v -f`. You may be prompted on your iDevice. + 9. If iloader isn't showing your iDevice, you can try manually running `usbmuxd` by running the following commands in the Terminal **in another tab**: `sudo systemctl stop usbmuxd` and `sudo usbmuxd -v -f`. You may be prompted on your iDevice. diff --git a/docs/troubleshooting/error-codes.mdx b/docs/troubleshooting/error-codes.mdx index 110c0d1b..4d201e97 100644 --- a/docs/troubleshooting/error-codes.mdx +++ b/docs/troubleshooting/error-codes.mdx @@ -37,9 +37,19 @@ This means that SideStore could not locate the file to download or install, most ### (1006) SideStore could not determine this device's UDID. `SideStore.OperationError 1006` -This means that your pairing file has been corrupted. [Replace it using iloader](/docs/advanced/pairing-file). - -If you are on iOS 26.4+, navigate to the Settings App → Wi-Fi. To the right of your network name, select the blue "ⓘ". Toggle "Private Wi-Fi Address" from "Fixed"/"Rotating" to "Off". Now reboot your device and [replace your pairing file using iloader](/docs/advanced/pairing-file). Note: you will need to set your Private Wi-Fi Address to "Off" and reboot for any Wi-Fi you wish to refresh on. We NEVER recommend doing this on a public network. +On LiveContainer+SideStore, this *currently* only works for the **Nightly** release channel. + +**Make sure to accept all confirmations.** +1. Open Settings in SideStore, scroll down and click Reset Pairing File. +2. Open iLoader, scroll down and click Delete Stored Pairing. +3. Scroll back up and click Refresh. +4. Pair your idevice with iLoader. +5. Click Manage Pairing File and then Place in All Apps (or place next to SideStore). +6. Open SideStore when it's done installing. +7. Refresh SideStore to see if everything is working. +8. If Step #7 does not work, go to Settings in SideStore, scroll down and click VPN Configuration, and set Device IP to 10.7.0.1 (or if you have modified target LocalDevVPN IPs, whatever you set Device IP to). +9. If Step #8 does not work, change anisette to Macley. +10. If Step #9 does not work, reboot your iDevice. ### (1007) This app is in an invalid format. `SideStore.OperationError 1007`