L4T Ubuntu - A fully featured linux on your switch

switchroot.png

L4T Ubuntu 3.4.0
Intro
L4T Ubuntu 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 and vulkan.

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 this thread, and ask all questions there
https://gbatemp.net/threads/l4t-ubuntu-applcation-install-guides.537579/

https://discord.gg/N9PPYXjWMY

We have a wiki !
To facilitate our work we will only update our wiki from now on in order to avoid multiple outdated references, please refer to the following link instead of this page

https://wiki.switchroot.org/en/Linux/Ubuntu-Install-Guide

3.4.0 update file listed below With the 3.0+ updates. If doing fresh install, install 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.

Features

  • Full USB PD/OTG/OTG Docks
  • Bluetooth (both controllers and audio)
  • Full Joycon Support(Excluding NFC, and IRcamera)
  • Nvidia GPU drivers - Vulkan and OpenGL
  • Audio - Headphones, speakers and over HDMI when docked.
  • Touchscreen(more fixes)
  • Display
  • WiFi(sleep fixes/stability fixes)
  • CPU frequency scaling - The CPU scales from 200mhz to 1.7ghz (what switch is binned for) depending on the load its under. Fans are adjusted to account for this
  • Full sdcard speed
  • Hardware video acceleration when using the built in videos app (means you can watch videos without battery draining massively)
  • Overclocking
  • LP0 Sleep mode
  • IMU/Ambiant Light sensor support
  • reboot2payload
  • Minerva Memory Training
  • Support for Moonlight-QT
  • Initramfs updates(fix partition resize, add boot logo, and error screens)
Prerequisites
  • Minimum of 8 GB.
Downloads
Torrent Links can be found here:
https://torrents.switchroot.org/ubuntu/

Updates for previous 3.0+ installs. 3.4.0 link below.

https://download.switchroot.org/ubuntu/switchroot-ubuntu-3.4.0-update_only-2021-07-23.7z
1. Remove l4t-ubuntu folder and bootloader\ini\01-ubuntu.ini from fat32 partition on sdcard.
2. Extract zip to fat32 partition on sdcard.(if you have no space, try removing all ubuntu related files from fat32 partition on sdcard, and try again.)
3. Dump joycon pairing info in hekate.(Only needs to be done if you havnt already done this)
4. Boot.

How to install:
  1. Download the image (standard non cuda is probably what you want) you want from the downloads section.
  2. Partition with hekate, make sure to leave enough room on fat32 to extract chosen image.
  3. Extract 7z to fat32 partition, now labeled SWITCHSD
  4. Flash image in partition manager in hekate to linux partition.
  5. Go to NYX tools, and dump joycon pairing data, with joycons connected to console, after being paired in hos.
  6. Launch ubuntu through hekate.
  7. Wait for around 2-4 minutes while it initially loads.
  8. Enjoy, you now have fully featured Ubuntu on your switch!
Notes:
  • Pair procons by opening the bluetooth menu in settings and pressing the + button in the bottom left corner. Then press the sync button on the controller and select its name in the pairing window.
  • To update the system run "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.
  • CPU/GPU/Fan profiles and Overclocking are now handles in NVPmodel.
  • Disabled sandboxing in Chromium in order to enable GPU acceleration
    Night and day difference. Existing users can add --no-sandbox to their desktop shortcut.
Ubuntu Bionic 3.4.0 Short Changelog:
- 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)



Sources
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


Credits
Bylaws,
Langerhans,
Ave,
Natinusala,
CTCaer(most of the hard stuff),
Gavin_Darkglider,
DanielOgorchock(Joycon drivers/joycond),
stary2001 (reboot2payload),
NVIDIA,
Azkali
Everyone else in switchroot - more info on that in the future.
 
Last edited by azkali,

GroverCleveland

Member
Newcomer
Joined
Nov 11, 2016
Messages
7
Trophies
0
Age
34
XP
49
Country
United States
This is fantastic and I'm loving having a fully functional Linux distro on my switch but have one question, has anyone gotten the pro controller working wirelessly? If so how is it done?
 
  • Like
Reactions: Piepokemon

Notochork

Member
Newcomer
Joined
Feb 15, 2021
Messages
5
Trophies
0
Age
30
XP
27
Country
United States
I'm having the same problem. Yesterday I spend almost all the day googling on how to solve this problem, but with no avail. Seems like it is a server issue or something like that, because few days ago it was working fine.

Hello! I come from the future and I have the same problem. How can I solve that? Install Ubuntu L4T to play Dolphin (I'd like advice on this too) but this problem doesn't allow it. It appears when running 'sudo apt update' and 'sudo nano /etc/apt/sources.list' does not work for me.
 

azkali

Member
Newcomer
Joined
Apr 27, 2018
Messages
5
Trophies
0
XP
118
Country
France
Thanks evil_santa I am going to edit the post to add the sed fix (need to increase my message count to at least 5 in order to do that lol)

--------------------- MERGED ---------------------------

Also I have been completely inactive on GBATemp but we have been working on other distributions that you will be able to use on your Switch stay tuned for more infos on that soon, an Beta should be available very soon and later a proper announce will be made on GBATemp for the release.
 
  • Like
Reactions: evil_santa

elektoni

Member
Newcomer
Joined
Jan 13, 2021
Messages
6
Trophies
0
Age
42
XP
59
Country
Finland
Is it possible to access or backup the eMMC partitions (such as Boot0, Boot1, prodinfo and prodinfof) using L4T ubuntu? I tried fdisk and the "disks" gui tool but it lists only the SD card partitions.
 

Worldblender

Well-Known Member
Member
Joined
May 27, 2019
Messages
275
Trophies
0
Age
25
XP
1,452
Country
United States
Is it possible to access or backup the eMMC partitions (such as Boot0, Boot1, prodinfo and prodinfof) using L4T ubuntu? I tried fdisk and the "disks" gui tool but it lists only the SD card partitions.
It seems like not yet, from last time I tried two years ago. This likely hasn't changed even in the most recent version.
 

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,369
Trophies
1
Location
Hell
XP
3,717
Country
United States
Is it possible to access or backup the eMMC partitions (such as Boot0, Boot1, prodinfo and prodinfof) using L4T ubuntu? I tried fdisk and the "disks" gui tool but it lists only the SD card partitions.
The eMMC is intentionally disabled to prevent people from bricking their devices.
It can be enabled with some overlay thing or by enabling it in the dts, but be careful.
 
  • Like
Reactions: Worldblender

elektoni

Member
Newcomer
Joined
Jan 13, 2021
Messages
6
Trophies
0
Age
42
XP
59
Country
Finland
The eMMC is intentionally disabled to prevent people from bricking their devices.
It can be enabled with some overlay thing or by enabling it in the dts, but be careful.

Could you give me some hints how can I use device tree to enable the hidden emmc, please? I am working on a switch which has a hardware failed (possible corrupted) eMMC and Hekate does not recognize it (init failed). I was wondering if I can try to back up the eMMC using L4T
 

UTTLCT

Member
Newcomer
Joined
Aug 1, 2019
Messages
9
Trophies
0
XP
64
Country
Mexico
Hi! I can't get for Hekate to dump my Joy-Con BT data to use in Ubuntu. It does work for one pair of joycons, the first party old ones that drift like crazy, but not for the new third party ones that don't drift. It says the paring failed because the data isn't HOS based even when I've already paired them in my stock sysnand. I wiped my sd card, booted normally into HOS, paired everything and checked that a Nintendo folder had been created, just for Hekate to then say it failed. So my guess is that third party joycons aren't supported, but I'd like to know if someone here can help me. My joycons are the red and blue Binbok model.
 

BobTheOompaLoompa

Member
Newcomer
Joined
Jan 29, 2019
Messages
5
Trophies
0
Age
27
XP
34
Country
United States
Alright wondering if anyone can help me out here. Installed this once before and had no issues getting everything setup, but now no matter what I do I can't get past signing in to finish the installation process. Bought another switch recently because the one I was using for homebrew had a faulty charging port and now I have to reinstall everything I had done.

I partition the SD cart and flash Linux and all is well with the world, but as soon as I get the point where I have to login I'll tap onto the user name to enter my password and the screen with flash black and the mouse resets and that is as far as I can get. This basically forces me to turn off and reset the switch since trying to click restart or power off in the top right hand corner gives me the same result. I'm stuck in this endless loop where it keeps resetting itself every time I touch the screen. I've tried installing on a new 512GB sd card and even switched back to the 256 I used originally on the old switch, and nothing is working.

Any ideas what kind of issue I am running into here?
 
Last edited by BobTheOompaLoompa,

LowScore

Active Member
Newcomer
Joined
Nov 4, 2018
Messages
31
Trophies
0
Age
41
XP
113
Country
Italy
Hello,
quick questions;
how are, overall, the linux performance while docket (if it works in docket mode)? I would use it for web browsing, youtube... web mail and word editing.
DLNA streaming is working?
Which video service apps are available? I know netflix works... what about amazon prime video?
THKS
 

Tyvar1

Well-Known Member
Member
Joined
Apr 14, 2020
Messages
105
Trophies
0
Age
28
Location
Stockholm, Sweden
XP
789
Country
Sweden

sean222

Well-Known Member
Newcomer
Joined
Sep 7, 2007
Messages
81
Trophies
0
XP
498
Country
Canada
Amazing update, thank you! Performance feels snappier than 3.2. Chromium seems faster.
Bootup is clean and sexy...sadly one of my favorite things so far :D
 
General chit-chat
Help Users
    KenniesNewName @ KenniesNewName: