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,
Also, sometimes when installing stuff I get a error saying something about not recognizing file system type for fsck hook?
 
@zFerry Sorry to hear about all of your crashing issues (I've never had any). I had system freezes before I swapped over to gnome but haven't had any issues since. Maybe the 2GHz mode is causing your system to crash??? The tegra x1 is supposed to be tested up to 2Ghz but nintendo doesn't ever use it in Horizon (the official OS)
ODIN is binned/tested at 1785mhz, it is possible for systems with shittier SoCs to have issues at higher speeds.

I activated 2 ghz after these heavy crashes but nothing has changed.
I did not put the command that forces the 2ghz but only enabled (the command above). If I didn't get it wrong, the above command simply allows you to use 2ghz if required by the system, isn't it?
I will try as soon as I have time to stay behind to streamline the distro.
 
Hey guys, I have a quick question / issue...

I managed to get everything installed and running, came across some issues updating with dependencies, always hated Linux cause of this... but somehow I managed to overcome some of these issues.
However, there is two files I still can't update.

nvidia-l4t-xusb-firmware
nvidia-l4t-initrd

Can someone help me update these two files or is it not possible?

i am having the same issue...

nvidia-l4t-xusb-firmware
nvidia-l4t-initrd

wont update saying that they need to be configured. once i get to this point the usb port no longer works for anything other than charging.

i have tried to rollback that update now ubuntu wont boot (just a backlit black screen)

i am multi booting using SwitchSDSetup for android and l4t partitions.


Extract modules.tar.gz to root if Ubuntu partition, but preserve permissions, then erase the modules.tar.gz file, and initramfs should work.

Also, only change in boot.scr, is you need propper path to partition as root.... I overlooked handling partlabel in the initramfs....

could you show an example of what you modified because i couldn't get the the new boot to work and ended up going with the old boot.scr
 
Last edited by Nukem1,
i am having the same issue...

nvidia-l4t-xusb-firmware
nvidia-l4t-initrd

wont update saying that they need to be configured. once i get to this point the usb port no longer works for anything other than charging.

i have tried to rollback that update now ubuntu wont boot (just a backlit black screen)

i am multi booting using SwitchSDSetup for android and l4t partitions.




could you show an example of what you modified because i couldn't get the the new boot to work and ended up going with the old boot.scr

I need to edit the boot.scr setup because the original points to mmbblk0p2, but using the switchsdsetup you need to change the following line:

setenv bootargs 'root=/dev/mmcblk0p2 rw access=m2 firmware_class.path=/lib/firmware/ fbcon=primary:1 nvdec_enabled=0 pmc_reboot2payload.enabled=1 pmc_reboot2payload.reboot_action=bootloader pmc_reboot2payload.default_payload=reboot_payload.bin pmc_reboot2payload.hekate_config_id=UBUNTU '

to this:

setenv bootargs 'root=PARTLABEL=l4t rw access=m2 firmware_class.path=/lib/firmware/ fbcon=primary:1 nvdec_enabled=0 pmc_reboot2payload.enabled=1 pmc_reboot2payload.reboot_action=bootloader pmc_reboot2payload.default_payload=reboot_payload.bin pmc_reboot2payload.hekate_config_id=UBUNTU '

Also I needed to exclude the initramfs line:
load mmc 1:1 0x92000000 l4t-ubuntu/initramfs

But you should check your boot.scr that works so you make the right changes. This is for ubuntu before update, but needed to do the same after the update, but its somewhat different.
If you need help editing it let me know.
 
Last edited by villalobos,
I can't get bluetooth audio working with either of my headsets, they both go into HSP/HFP mode in the audio manager and have no audio when I play a test sound, changing them to a2dp does nothing and when I go back to the menu it shows HSP/HFP again.

Any ideas?
I've been having various issues with bluetooth as well. Some devices work well and others don't. There are a few of us on this forum and the discord with the same issues but no response or solutions yet. For reference, my joycons disconnect after only walking 3 feet away from the console (normally I can go much further in Horizon).

As for your question about the joycons. They natively work in ubuntu as controllers (for games, emulators and the like) but if you want them to emulate a mouse then you should reference this thread (https://gbatemp.net/threads/l4t-ubuntu-applcation-install-guides.537579/) for joycon mouse.
 
I have like 20 nvidia updates being "kept back" when I do the update/upgrade. Is this normal? Anyone have a deeper understanding?
 
Thank you very much for your had work! I am loving this.

I am running the latest version with the update installed. I dumped the joycon bluetooth info, ran apt update, upgrade and created a swap file. Besides that it's clean.
A few issues I am having, I know some of these are known, but just to have a clear list:
  • Bluetooth adapter not found, there is also no bluetooth icon in the top bar. So I cannot use my joycons at all.
  • Just like was recently reported by @tabzer and other people, I also have 20 nvidia updates being kept back
  • Every now and then the touch screen becomes really unresponsive, most windows stop working completely. Rebooting or even easier, docking and undocking the switch, fixes this issue immediately... Until the next time it happens
  • My fans go brrrr, like crazy. It doesn't get very hot so I am guessing ubuntu is a bit more aggressive on the fans than nintendo's os. Can anyone confirm this or correct me?
  • Very minor, but in chromium the keyboard doesn't popup automatically. I can make it popup easily using the button for it in the topbar, it just caught my eye because it was the only app where it doesn't work automatically

Kind regards,

Kaj
 
Thank you very much for your had work! I am loving this.

I am running the latest version with the update installed. I dumped the joycon bluetooth info, ran apt update, upgrade and created a swap file. Besides that it's clean.
A few issues I am having, I know some of these are known, but just to have a clear list:
  • Bluetooth adapter not found, there is also no bluetooth icon in the top bar. So I cannot use my joycons at all.
  • Just like was recently reported by @tabzer and other people, I also have 20 nvidia updates being kept back
  • Every now and then the touch screen becomes really unresponsive, most windows stop working completely. Rebooting or even easier, docking and undocking the switch, fixes this issue immediately... Until the next time it happens
  • My fans go brrrr, like crazy. It doesn't get very hot so I am guessing ubuntu is a bit more aggressive on the fans than nintendo's os. Can anyone confirm this or correct me?
  • Very minor, but in chromium the keyboard doesn't popup automatically. I can make it popup easily using the button for it in the topbar, it just caught my eye because it was the only app where it doesn't work automatically

Kind regards,

Kaj

Hi. I fixed the bluetooth extracting modules.tar.gz in switchroot folder to root. I think i reinstalled bluez as well, but it was before extracting modules, so might not be needed.
Don't know about the fans, but one time I suspended ubuntu overnight and my switch got REALLY hot and went white screen, no clue why.
Onboard keyboard sometimes wouldn't appear to me as well.
I got the same updates held back.
 
Ok, Dev info update, new version around the corner.... This includes hekate images, Bluetooth fixes(audio works fully, and firmware updated for antenna fixes), pci sleep fixes(wifi sleeps properly now, other misc bugs have been fixed as well. Should be released this week so keep an eye for updates, have latest stuff in final testing.... Big thanks to ctcaer and azkali for all the work they put into the latest release. 3.0.2 should be coming soon.
 
Ok, Dev info update, new version around the corner.... This includes hekate images, Bluetooth fixes(audio works fully, and firmware updated for antenna fixes), pci sleep fixes(wifi sleeps properly now, other misc bugs have been fixed as well. Should be released this week so keep an eye for updates, have latest stuff in final testing.... Big thanks to ctcaer and azkali for all the work they put into the latest release. 3.0.2 should be coming soon.
Still waiting this release, I saw it on discord, but waiting for an official release in the switchroot page.
 
  • Like
Reactions: chappo and tabzer
Hi guys. I put in my empty fat32 microsd switchroot-l4t-ubuntu-3.0.1-full-2020-07-02.7z but when I boot ubuntu from hekate i got black screen. How can I fix this?
 
Hi, I've downloaded switchroot-ubuntu-3.0.2-2020-08-12 from discord, can anybody please guide me how to uncompress partition image in files l4t.00 and l4t.01?

thanks in advance.

@Gavin_Darkglider you're doing a great job, thanks!
 
Hi, I've downloaded switchroot-ubuntu-3.0.2-2020-08-12 from discord, can anybody please guide me how to uncompress partition image in files l4t.00 and l4t.01?

thanks in advance.

@Gavin_Darkglider you're doing a great job, thanks!
replying myself, used linux ninja hablilities and 'cat l4t.00 l4t.01 > l4t.img' to merge the parts into a single img file; then used 'dd if=l4t.img bs=512M of=/dev/sdd8 status=progress' to flash it to my SD's 8th partition. and that's it.
 
  • Like
Reactions: tabzer
replying myself, used linux ninja hablilities and 'cat l4t.00 l4t.01 > l4t.img' to merge the parts into a single img file; then used 'dd if=l4t.img bs=512M of=/dev/sdd8 status=progress' to flash it to my SD's 8th partition. and that's it.
So you have create a img from splitted file in istall folder?
 
And the boot file in the other partition. You did this in linux? How can I do this on windows?
yes, in a first step I dumped the file with this command: 'dd if=boot.scr of=boot.txt bs=72 skip=1', then edited the resulting boot text file to point to the linux partition, then repack again the boot.scr file with this other command: 'mkimage -A arm -T script -O linux -d boot.txt boot.scr'.

I used my laptop with linux for partitioning, and files management.
 
replying myself, used linux ninja hablilities and 'cat l4t.00 l4t.01 > l4t.img' to merge the parts into a single img file; then used 'dd if=l4t.img bs=512M of=/dev/sdd8 status=progress' to flash it to my SD's 8th partition. and that's it.

8th partition..... lol
 
8th partition..... lol
1st.- HOS_DATA: horizon and switch stuff
2nd, 3rd, 4th, 5th and 6th.- Android partitions: Vendor, system, boot, recovery and dtb. all this stuff is necessary to run android.
7th.- Android user data: ,Where I store all my android stuff
and 8th.- UBUNTU, my ubuntu partition.
that's all.
 
  • Like
Reactions: Basketto

Site & Scene News

Popular threads in this forum