L4T Ubuntu - A fully featured linux on your switch

switchroot.png

L4T Ubuntu
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.

Join our discord: https://discord.gg/53mtKYt

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

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,

Cation163

Member
Newcomer
Joined
Oct 24, 2019
Messages
5
Trophies
0
Age
43
XP
57
Country
Russia
Good afternoon.

Love the idea of using my Switch as a portable PC when I travel.
Anyone heard anything about Nintendo ban when using installation guide from this topic?
I mean I do not have intention to play illegal games, L4T/official gaming only. But cannot find any feedback whether big N bans for any loader exploits or unofficial gaming only?

Thanks in advance.

PS. Can't find how to delete clone messages.
 
Last edited by Cation163,

Gavin_Darkglider

Well-Known Member
Member
Joined
May 20, 2019
Messages
232
Trophies
0
Age
34
XP
581
Country
United States
Great news. I wasn't aware that a Joy Con rail driver was being worked on. Will the updated image include reboot to payload as well? Either way, I can't wait for it. Thanks for all your hard work.
I pushed reboot2payload for ubuntu a month or so before android. go check page 98, you want the 1.5.0 update. ;)
Oh sweet! I'm all for a new image myself if it means a better overall experience.
Not really. The image will be the same, just a few config file edits, a copy of hekate for a reboot payload, and joycond, for the hid-nintendo and new joycon rail driver. Really, for what you are looking for, I am sure that our gentoo and arch builds are probably more your speed. ;) Much more updated packages. For some reason 18.04 is still outdated, and poorly optimized for the switch. It works, but ubuntu, and most distros compile packages to be as generic as possible for an arch(so it will run on all arm64 chips, but isnt optimized to the tegra 210 in the switch.) Gentoo lets you get around this problem, because you compile it from the ground up. Arch is a happy medium, because of AUR. Now, both of these builds is still in development, so they are missing some things(OpenMAX, Cuda, CUDNN, etc.) Mainly deb packages installed on top of ubuntu, I havnt converted yet.
 
Last edited by Gavin_Darkglider,

CalcProgrammer1

Member
Newcomer
Joined
May 4, 2019
Messages
19
Trophies
0
Age
34
XP
147
Country
United States
Looking forward to Joycon rails driver! Being able to used joycons with external power and no Bluetooth would be great, I'd definitely like to use Joycons as a mouse, maybe with a button set to toggle soft keyboard.
 
D

Deleted User

Guest
Good afternoon.

Love the idea of using my Switch as a portable PC when I travel.
Anyone heard anything about Nintendo ban when using installation guide from this topic?
I mean I do not have intention to play illegal games, L4T/official gaming only. But cannot find any feedback whether big N bans for any loader exploits or unofficial gaming only?

Thanks in advance.

PS. Can't find how to delete clone messages.
They literally cannot ban you as Horizon OS never starts.
 

biip

New Member
Newbie
Joined
Nov 6, 2019
Messages
2
Trophies
0
Age
41
XP
57
Country
Syria
i.ibb.co/3yhygV5/IMG-20191105-142924.jpg
i.ibb.co/zG0BK8J/IMG-20191105-142537.jpg

that's my ubuntu set up right now! foldable bluetooth keyboard that fits inside the bag like a glove. it has it's own stand and for charging i just do "xrandr -o inverted" to invert the screen.
which code editors you recommend for the L4T? Usually I use sublime text 3, but wasn't able to install it since it doesn't have an ARM build. if someone was successful with ST3 or similar please share the secret.
 
Last edited by biip,
  • Like
Reactions: stick267

CalcProgrammer1

Member
Newcomer
Joined
May 4, 2019
Messages
19
Trophies
0
Age
34
XP
147
Country
United States
which code editors you recommend for the L4T? Usually I use sublime text 3, but wasn't able to install it since it doesn't have an ARM build. if someone was successful with ST3 or similar please share the secret.

I use Headmelted's arm64 VS Code builds. Some of the capability is reduced vs. the x86/amd64 version due to various addons not working (C/C++ intellisense doesn't work) but the editor and syntax highlighting works great.
 

biip

New Member
Newbie
Joined
Nov 6, 2019
Messages
2
Trophies
0
Age
41
XP
57
Country
Syria
I use Headmelted's arm64 VS Code builds. Some of the capability is reduced vs. the x86/amd64 version due to various addons not working (C/C++ intellisense doesn't work) but the editor and syntax highlighting works great.
i've tried today.. felt super slow and buggy. one time even froze on me for more than 5 minutes.
i might just keep using gedit with some custom plugins if i can't find a better option. :unsure:

edit: i also tried to install hangover like you suggested in other post. couldn't get it to compile without errors, even after 10x make -j4
 
Last edited by biip,

CalcProgrammer1

Member
Newcomer
Joined
May 4, 2019
Messages
19
Trophies
0
Age
34
XP
147
Country
United States
I get random hangups with everything sometimes. Terminal, Firefox, Chrome, Code, etc. It seems like the kernel is waiting on some blocking operation and preventing anything else. I'm using a Samsung Evo Select 256GB card.
 

Halo69

Well-Known Member
Newcomer
Joined
Aug 6, 2019
Messages
58
Trophies
0
Age
46
XP
118
Country
United States
As promised..... I give you Reboot2Payload update for l4t-ubuntu. This update comes with a little more hassle than the previous updates, but it is worth it.

1. Download and extract this to boot(fat32) partition, should overwrite all ubuntu files there: https://www.dropbox.com/s/6mchw2491c1ek36/l4t-ubuntu-reboot2payload.zip?dl=0

2. boot console.
3. Do everything after this as root
3A. If you are overclocking on boot using /etc/rc.local:
change script to
Code:
#!/bin/bash
echo 1 > /sys/kernel/tegra_cpufreq/overclock
echo  2091000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload
exit 0
3B. If not overclocking:
1. Create /etc/rc.local eg. touch /etc/rc.local
2. make rc.local executable eg. chmod +x /etc/rc.local
3. edit /etc/rc.local to add
Code:
#!/bin/bash
echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload
exit 0
4. copy payload of your choice to /lib/firmware and rename it to reboot_payload.fw

5. if doing this on l4t-ubuntu, run in your root terminal: echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload

6. Now reboot to your payload. There is a custom_payload option, that you can echo the name of another payload also in /lib/firmware into and it will reboot to that payload as well.

Credit goes to:
@Stary#0632 for porting reboot2payload from Atmosphere into Coreboot/ATF/U-boot/Kernel :)
@Gavin_Darkglider for testing, and building update for you guys, and writing this awesome guide.
@Switchroot for the awesome work they are doing in the scene, for both linux and android development

Should also thank the atmosphere developers for creating what was ported as well. ;)
Are those codes to run it in terminal?
 

Gavin_Darkglider

Well-Known Member
Member
Joined
May 20, 2019
Messages
232
Trophies
0
Age
34
XP
581
Country
United States
No, those are put in rc.local. But that being said, I am doing a bunch of updates to ubuntu, and that wont be needed in the future.

We managed to get stable lp0 in ubuntu, and I am adding a bunch of the fixes from the new kernel. New joycon drivers, new touchscreen. Basically I am working on 2 things, 1 a new base image, and 2 updating the ubuntu repo, so you can get all of the userspace changes through apt update.
 
Last edited by Gavin_Darkglider,

Halo69

Well-Known Member
Newcomer
Joined
Aug 6, 2019
Messages
58
Trophies
0
Age
46
XP
118
Country
United States
No, those are put in rc.local. But that being said, I am doing a bunch of updates to ubuntu, and that wont be needed in the future.

We managed to get stable lp0 in ubuntu, and I am adding a bunch of the fixes from the new kernel. New joycon drivers, new touchscreen. Basically I am working on 2 things, 1 a new base image, and 2 updating the ubuntu repo, so you can get all of the userspace changes through apt update.
Ok cool, i am starting to learn linux as much as possible but where will i find rc.local?
As promised..... I give you Reboot2Payload update for l4t-ubuntu. This update comes with a little more hassle than the previous updates, but it is worth it.

1. Download and extract this to boot(fat32) partition, should overwrite all ubuntu files there: https://www.dropbox.com/s/6mchw2491c1ek36/l4t-ubuntu-reboot2payload.zip?dl=0

2. boot console.
3. Do everything after this as root
3A. If you are overclocking on boot using /etc/rc.local:
change script to
Code:
#!/bin/bash
echo 1 > /sys/kernel/tegra_cpufreq/overclock
echo  2091000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload
exit 0
3B. If not overclocking:
1. Create /etc/rc.local eg. touch /etc/rc.local
2. make rc.local executable eg. chmod +x /etc/rc.local
3. edit /etc/rc.local to add
Code:
#!/bin/bash
echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload
exit 0
4. copy payload of your choice to /lib/firmware and rename it to reboot_payload.fw

5. if doing this on l4t-ubuntu, run in your root terminal: echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload

6. Now reboot to your payload. There is a custom_payload option, that you can echo the name of another payload also in /lib/firmware into and it will reboot to that payload as well.

Credit goes to:
@Stary#0632 for porting reboot2payload from Atmosphere into Coreboot/ATF/U-boot/Kernel :)
@Gavin_Darkglider for testing, and building update for you guys, and writing this awesome guide.
@Switchroot for the awesome work they are doing in the scene, for both linux and android development

Should also thank the atmosphere developers for creating what was ported as well. ;)
I am not to familiar with linux and trying to learn it. I'm using L4T ubuntu and can you show me how and where to create /etc/rc.local eg. touch /etc/rc.local
Then make that executable.
Do i have to create it just like that? What does the (eg) stand for? Not sure if thats part of it
 

Halo69

Well-Known Member
Newcomer
Joined
Aug 6, 2019
Messages
58
Trophies
0
Age
46
XP
118
Country
United States
As promised..... I give you Reboot2Payload update for l4t-ubuntu. This update comes with a little more hassle than the previous updates, but it is worth it.

1. Download and extract this to boot(fat32) partition, should overwrite all ubuntu files there: https://www.dropbox.com/s/6mchw2491c1ek36/l4t-ubuntu-reboot2payload.zip?dl=0

2. boot console.
3. Do everything after this as root
3A. If you are overclocking on boot using /etc/rc.local:
change script to
Code:
#!/bin/bash
echo 1 > /sys/kernel/tegra_cpufreq/overclock
echo  2091000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload
exit 0
3B. If not overclocking:
1. Create /etc/rc.local eg. touch /etc/rc.local
2. make rc.local executable eg. chmod +x /etc/rc.local
3. edit /etc/rc.local to add
Code:
#!/bin/bash
echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload
exit 0
4. copy payload of your choice to /lib/firmware and rename it to reboot_payload.fw

5. if doing this on l4t-ubuntu, run in your root terminal: echo 1 > /sys/bus/platform/drivers/tegra-reboot2payload/r2p/default_payload

6. Now reboot to your payload. There is a custom_payload option, that you can echo the name of another payload also in /lib/firmware into and it will reboot to that payload as well.

Credit goes to:
@Stary#0632 for porting reboot2payload from Atmosphere into Coreboot/ATF/U-boot/Kernel :)
@Gavin_Darkglider for testing, and building update for you guys, and writing this awesome guide.
@Switchroot for the awesome work they are doing in the scene, for both linux and android development

Should also thank the atmosphere developers for creating what was ported as well. ;)
To create /etc/rc.local on the switch do i have to enter: sudo nano /etc/rc.local
 

Halo69

Well-Known Member
Newcomer
Joined
Aug 6, 2019
Messages
58
Trophies
0
Age
46
XP
118
Country
United States
Also how do i boot to ofw? Or do i have to add a payload for it?

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

I used to have Noob-friendly L4T ubuntu installed and decided to install this image, i installed twice and my joycons are connected to bluetooth but they not working, i press L3 for mouse but nothing.
 

Worldblender

Well-Known Member
Member
Joined
May 27, 2019
Messages
326
Trophies
0
Age
27
XP
2,249
Country
United States
But do i have to install nano 1st? I see that gedit is installed
You don't actually have to install nano first. You could also use gedit (or vim if you're brave enough) and save this file in the same place. Run this like:
Code:
sudo gedit /etc/rc.local

Also how do i boot to ofw? Or do i have to add a payload for it?

I used to have Noob-friendly L4T ubuntu installed and decided to install this image, i installed twice and my joycons are connected to bluetooth but they not working, i press L3 for mouse but nothing.

If nothing else is installed on the microSD card on which your L4T Ubuntu installation resides on, your only option is to disable autoRCM (beware that this goes through the fuse check; if you're running on older OFW version and there are more fuses burnt than expected, your system won't boot). If you have Atmosphere or Kosmos Atmosphere installed, you can use their provided configs to boot into OFW, only this time it can bypass the fuse check.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    DinohScene @ DinohScene: ahh nothing beats a coffee disaronno at work