L4T Ubuntu Bionic (18.04) is a version of Linux based on nvidia's linux for tegra project. It uses a different kernel compared to previous releases which allows it to use features not yet in mainline. Such as audio, docking support, vulkan, and CUDA.
NOTE: The Nintendo Switch is an ARM64 Device and will NOT run x86_64/x86 software natively. This means NO Steam, Play-On-Linux, Wine x86, etc natively.
Beware, using high clocks in handheld mode will degrade your batteries capacity a lot faster than at stock clocks
If you can't install an application check the #apps-discussion channel in the discord, and ask all questions there
Legacy/very outdated applications GBATemp Thread
Discord Server Invite Link
Also note that you can use the L4T-Megascript app, search for it in your apps list (installed by default in 3.4.0+)
You can get or build various essential stuff, apps or emulators with a single click. All configured and optimized for Switch.
3.4.0 update file listed below With the 3.0+ updates. If doing a fresh install, install the 3.4.0 image.
Big Thanks to CTCaer for 3.4.0, for fixing the final issues in Ubuntu/Linux kernel and all the testers that helped him.
The latest update file prereleases (if there are any) can always be found pinned in #ubuntu on the discord server
Prerequisites
sudo apt-get install nvidia-jetpack
to get the complete CUDA package.Torrent Links (and the .7z downloads) can be found here:
https://download.switchroot.org/ubuntu/
Notes:
sudo apt update
, sudo apt upgrade
. This will apply all switch and ubuntu updates aside from kernel updates, they will be posted here if ever needed.l4t-ubuntu
folder and bootloader/ini/01-ubuntu.ini
from fat32 partition on sdcard if present.- Better performances in many scenarios (As always that should affect apps/games/emus/etc)
- Significant better deep sleep. (Measured at 582 hours. 440% better).
- Faster wake up from sleep.
- Saved 240MB ram (fb and active file page pool, aka always used pool)
- Memory remapping 800%-2000% speed up. Mostly used by emulators and VMs (and lot in android).
- Some other memory optimizations, plus enabled huge ram pages
- Faster kernel and OS boot.
- Fixed tearing issues for NVDEC/NVENC. (video hw accel)
- Lower latency for frame end calcs for builtin display
- Fixed Hori pads for joycond
- Fixed an issue where it would make railed jc to disconnect on rumble
- Joycon/Procon rumble was improved and intensity tuned for better user experience
- Kernel now uses the proper display panel init/deinit by checking panel id
- Improved dock/undock script
- Touch stays enabled now in dock mode. Users that use docks that do not cover the screen can use it as alternative input.
- Added low ram protection. Now instead of hanging for minutes it will only stutter for seconds until oom occurs and recovers ram
- Better seamless display on boot
- uenv.txt changed, read uenv_readme.txt. It's simple to transfer over custom settings.
- Reboot action can now be defined in new uenv.txt. Reboot back into Linux by changing `reboot_action=` from `bootloader` to `via-payload`.
Apps Changes:
- Full video HW decoding via new SMPV Player app (also supports youtube links)
- Full video HW encoding via ffmpeg-l4t
- Added L4T-Megascript app
You can get or build various essential stuff, apps or emulators with a single click. All configured and optimized for Switch.
- Nvpmodel was updated to include Battery charging protection limits options
Useful when you are constantly docked and want to protect battery's life.
Limit gets saved and applied on boot.
Reminder that discharging can't happen when plugged in. Even when charging is off, usb power is used to supplement system.
So you need to discharge first if you want the battery % to go inside the limit.
That also disables charging in sleep in order for the feature to work.
If you reboot/shutdown, it gets disabled and re-enabled at the next L4T boot.
As always the source is public and all L4T based projects for Switch will benefit (L4T linux distros/Lakka/Android)
- Significant performance improvements
CPU arch, RAM, GPU, general latency, etc optimizations.
Affects gui, apps, games, emus, etc
- Significant deep sleep power draw fixes
Now almost all non-needed devices power off on deep sleep and ram is set to appropriate frequency.
(Touch panel, LCD, Joycon charging and many more devices now power off in deep sleep as they should)
- IO scheduler was changed to provide way faster storage IO
- Released 15 MiB extra ram
- Fixed voltage calculation for OC. It should provide more stable overclocking
- Refactored thermal management
Fan profiles are now the same with HOS
Added failsafes, throttling and force power off when very high temps for the board are reached
- Faster boot times
- Fixed issues with Joycon charging and Hori power on resume
- Fixed Power button issues
- Touch improvements
- Added Hori and Obirds rail support
- OTG now allows deep sleep, even if linux resides in a USB SSD.
- Various USB fixes
- Allow fuel gauge to wake up system and power off gracefully on empty battery
- Added support for many 3rd party docks
These include Genki, Zenscreen, Nexdock and anything else that uses similar methods
Basically, the support should reach 100% (docks that support DP via pin D)
- Fixed issues with fast charging when docked on boot
- Fixed other issues with charging on certain edge cases
- Fixed DP/HDMI when plugging console while sleeping
- Fixed DP/HDMI when already docked and waking up
- Dock led indicator now has a breathing light when sleeping
- Add exFAT partition support (boot driver still needs to be FAT32)
- Enabled 1GB ZRAM swap
- Status messages on booting
- Seamless display booting (needs hekate higher than v5.5.4)
- Disabled screen blanking on idle. Dimming/Screensaver is still there and can be disabled in Brightness & Lock.
This will help with games/emus where gamepad is used and it does not reset idle times like mouse/keyboard.
- Fixed apt repo urls
- NVPModel is revamped
Allow changing power profiles via touch
Added handheld power profile
Added fan profiles
Added automatic profiles based on handheld or docked
Added USB 3.0 disable toggle for boosting WiFi 2.4G and Bluetooth signal
OC profiles now do not require enabling overclock flag in sysfs
They can all be found at https://gitlab.com/switchroot with the other kernel repos on http://nv-tegra.nvidia.com
Use these scripts if you want to build your own kernel: https://gitlab.com/switchroot/kernel/l4t-kernel-build-scripts/tree/test
Bylaws,
Langerhans,
Ave,
Natinusala,
CTCaer(most of the hard stuff),
Gavin_Darkglider,
DanielOgorchock(Joycon drivers/joycond),
stary2001 (reboot2payload),
NVIDIA,
Azkali,
theofficialgman and cobalt2727 (L4T-Megascript)
Everyone else in switchroot