L4T Ubuntu Jammy 22.04 Install Guide
Installation guide/tutorial for Switchroot L4T Ubuntu Jammy on Nintendo Switch
Last updated
Installation guide/tutorial for Switchroot L4T Ubuntu Jammy on Nintendo Switch
Last updated
Current version: 5.1.2 based on Ubuntu Jammy Jellyfish 22.04 LTS Note: hekate 6.0.6 or newer MUST be used for this release. Maintainer: theofficialgman - https://github.com/sponsors/theofficialgman
If you need help you can ask in our Discord Server under #jammy-support You should also take a look at our FAQ and Common Issues which may already answer to some of your questions
Note: The latest LTS Release of Ubuntu (Noble 24.04) is now available instead of this older (Jammy 22.04) release.
hekate 6.0.6 or newer
A 16GB SD Card MINIMUM (Recommended: 128GB and up U3 or U3/A2 class, see SD Card Guide for more details)
A computer (for backing up and extracting the installation files)
Download the latest version of the L4T Ubuntu Jammy Image directly or via torrent from here.
Backup your SD Card:
Backup normal files from FAT32 (this also backs up emuMMC if file based)
If emuMMC raw partition exists, go to hekate
-> Tools
-> Backup eMMC
.
Tap on SD emuMMC RAW Partition
button and back it up (emuMMC BOOT0/1 and emuMMC Raw GPP)
If android exists, do a TWRP backup
Suggestion: Use hekate UMS (hekate
-> Tools
-> USB Tools
) with a USB-C cable connecting your switch and PC to mount your SD card and transfer files instead of swapping your card from Switch to PC.
WARNING: This following will wipe everything on your SD card.
Partition your SD card in hekate
-> Tools
-> Partition SD Card
leave at least 6GB for FAT32 for installation files downloaded in step 1 AND recreate any partition that may have backed up.
4. From your PC, extract the 7z to the root of your SD FAT32 partition (Note that Win11's builtin 7z extract support is broken, use 7-zip and make sure not to create a new folder on extract). ALWAYS SAFELY EJECT storage when finished or you WILL corrupt the installation files. Suggestion: Use hekate UMS (hekate
-> Tools
-> USB Tools
) with a USB-C cable connecting your switch and PC to mount your SD card instead of swapping your card from Switch to PC.
5. In Hekate, go to Tools
-> Partition SD Card
-> Flash Linux
.
6. Go to hekate
-> Nyx Options
-> Dump Joy-Con BT
to dump Joycon pairing data, with both Joycon connected to console, after they were paired in hos first.
This must be run even if a Switch Lite is used, since it dumps the factory calibration data.
Now you can boot L4T Ubuntu Jammy (under More Configs
).
Make sure any existing online updates are done via Software Updater
, Software
(formerly known as Gnome Software Center), or apt
command.
After making sure everything is fine, you can now restore your backed up files
Copy your normal files to FAT32
For emuMMC use Hekate to restore your backup hekate
-> Tools
-> Restore eMMC
For Android, copy your TWRP backup to your FAT32 partition then follow the Android setup guide starting at step 4 BUT instead of installing "Lineage zip, followed by your GApps zip" at step 5.(f on 10, g on 11) restore your backup in TWRP
Updates are shipped OTA like any standard Ubuntu Distro, so use the Software Updater
or GNOME Software
application.
Or open terminal and execute: sudo apt update && sudo apt-get dist-upgrade
Read about our Supported Features
Flatpak support out of the box in Software (Gnome Software Center)
Available in your apps list You can get or build various essential stuff, apps or emulators with a single click. All configured and optimized for Switch.
Install from the L4T-Megascript or follow the official install instructions. A well-maintained collection of nearly 200 app installation-scripts with a focus on desktop applications that you can run with one click.
Touchscreen Gestures:
3 finger swipe left/right to switch workspaces
3 finger swipe up to bring up activities overview
drag up from bottom edge to bringup keyboard
drag down from top edge to exit fullscreen
These features are currently missing in comparison to L4T Ubuntu 18.04 and may be available in future releases.
No CUDA compiler support (CUDA runtime 10.0 is preinstalled and functions)
No GSTREAMER HW Decode or Encode (eg: GNOME Totem Videos)
NOTE: FFMPEG based players DO HAVE HW Decode/Encode and work great (eg: MPV, SMPLAYER, and VLC)
GNOME Software does not always work on first boot. If it seems to not load after a couple of minutes, reboot and try again and it should work from then onwards.
Onscreen keyboard will attempt to move and resize windows when popping up so there is space for the keyboard. If this fails it will close immediately. Either manually resize the window so it is small enough for the keyboard to fit beneath it or use the application in maximized mode (where resizing always works).
Onscreen keyboard will auto-hide on mouse movement (a non-configurable GNOME feature). If you have joycon drift (greater than 15% deviation from center point) then you can unintentionally trigger this and hide the keyboard when not physically moving the stick. If you have drift, then get your joycons repaired, clean our your stickboxes with compressed air, and/or calibrate your joycons in HOS.
Linux kernel buildscripts: https://github.com/theofficialgman/l4t-kernel-build-scripts
noble/jammy image buildscripts: https://github.com/theofficialgman/l4t-image-buildscripts
theofficialgman debian repository: https://github.com/theofficialgman/l4t-debs
theofficialgman debian repository sources: https://github.com/theofficialgman/l4t-debs-source
tegra hw decode/encode ffmpeg: https://github.com/theofficialgman/FFmpeg/tree/4.4.2-nvv4l2
chromium tegra buildscripts (DEPRECATED): https://github.com/theofficialgman/chromium-tegra-scripts
theofficialgman (ubuntu jammy distro maintainer, L4T-Megascript) CTCaer (kernel/bootloader, ubuntu bionic distro maintainer, NVENC/NVDEC), Gavin_Darkglider (lakka distro maintainer), Azkali (fedora distro maintainer), Ave (switchroot website host), DanielOgorchock(Switch controller drivers/joycond), Bylaws, Langerhans, Natinusala, stary2001 (reboot2payload), NVIDIA (Tegra BSP), cobalt2727 (L4T-Megascript), Everyone else in switchroot