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,

CalcProgrammer1

Member
Newcomer
Joined
May 4, 2019
Messages
19
Trophies
0
Age
34
XP
147
Country
United States
Does anyone have a complete guide on how to check out the complete kernel source and build it? I used the script on the Switchroot gitlab but it was still missing some files and would not build. For some reason my USB Ethernet adapter doesn't get detected and I'd also like to try some other things with custom kernel builds.
 

Gavin_Darkglider

Well-Known Member
Member
Joined
May 20, 2019
Messages
232
Trophies
0
Age
34
XP
581
Country
United States
Does anyone have a complete guide on how to check out the complete kernel source and build it? I used the script on the Switchroot gitlab but it was still missing some files and would not build. For some reason my USB Ethernet adapter doesn't get detected and I'd also like to try some other things with custom kernel builds.

That is my script, and it works fine, you are talking about the dts files being missing, use make tegra-dtstree="../hardware/nvidia/" and it should work. for some reason it doesnt see the files, so you have to define where they are. I explained this in the issue on gitlab.
 

globalc

Member
Newcomer
Joined
Jun 14, 2019
Messages
21
Trophies
0
Age
49
Website
fluxcoil.net
XP
116
Country
Japan
When I put it in the dock, nothing happens. It still shows the image on the Switch screen.
Any ideas?
I would login from a remote system with SSH, and execute 'xrandr' as the user once undocked, and later when docked. The new screen should appear in the output. You could also activate the HDMI output with xrandr manually, but scripts are supposed to do that automatically.

Most likely reason for the HDMI output not getting up might be no power supply connected to the dock.
 
  • Like
Reactions: lordelan

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,758
Trophies
1
Age
44
XP
6,463
Country
Germany
Alright guys. Does anybody know a good method to resize the whole top menu bar to make it bigger?
The side menu bar with the launch icons can be adjusted a bit in settings -> Display but since the top menu bar is far more important for using it in handheld mode with touch only we should try to get that a bit bigger.
I found this thread but it seems a bit messy:
https://ubuntuforums.org/showthread.php?t=2349212
 

CalcProgrammer1

Member
Newcomer
Joined
May 4, 2019
Messages
19
Trophies
0
Age
34
XP
147
Country
United States
That is my script, and it works fine, you are talking about the dts files being missing, use make tegra-dtstree="../hardware/nvidia/" and it should work. for some reason it doesnt see the files, so you have to define where they are. I explained this in the issue on gitlab.

I re-ran the script and built as you said. I got this error during my build:

Code:
  MK_FW   firmware/tegra21x_xusb_firmware.gen.S
make[1]: *** No rule to make target '/lib/firmware/brcm/BCM4356A3.hcd', needed by 'firmware/brcm/BCM4356A3.hcd.gen.o'.  Stop.
make[1]: *** Waiting for unfinished jobs....
  MK_FW   firmware/brcm/BCM4356A3.hcd.gen.S
Makefile:1025: recipe for target 'firmware' failed
make: *** [firmware] Error 2
make: *** Waiting for unfinished jobs....
 

Gavin_Darkglider

Well-Known Member
Member
Joined
May 20, 2019
Messages
232
Trophies
0
Age
34
XP
581
Country
United States
I re-ran the script and built as you said. I got this error during my build:

Code:
  MK_FW   firmware/tegra21x_xusb_firmware.gen.S
make[1]: *** No rule to make target '/lib/firmware/brcm/BCM4356A3.hcd', needed by 'firmware/brcm/BCM4356A3.hcd.gen.o'.  Stop.
make[1]: *** Waiting for unfinished jobs....
  MK_FW   firmware/brcm/BCM4356A3.hcd.gen.S
Makefile:1025: recipe for target 'firmware' failed
make: *** [firmware] Error 2
make: *** Waiting for unfinished jobs....

Those are required firmware files, they arent included with the kernel sources, which is what the script downloads, and constructs into a buildable kernel tree.

the BCM4356A3.hcd is from the switch firmware, but you can get it from lakka github.
the tegra21x_xusb_firmware is in the bsp download for the jetson nano.You can also get it from the lakka github.
 

CalcProgrammer1

Member
Newcomer
Joined
May 4, 2019
Messages
19
Trophies
0
Age
34
XP
147
Country
United States
I think I found the correct link:

https://github.com/lakka-switch/Lak...evices/Switch-L4T/filesystem/usr/lib/firmware

Edit: Where do I put the files in the build tree?

I put the Broadcom firmware in the system /lib/firmware/brcm folder and it looks like it's working. I also had to make a copy of it named BCM.hcd and find a text file online. Is this correct?

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908724

Got an Image to build, but it doesn't appear to boot. Been at a blank screen for 5 minutes now.
 
Last edited by CalcProgrammer1,

skittletop

Member
Newcomer
Joined
Feb 11, 2018
Messages
6
Trophies
0
Age
56
XP
182
Country
United States
Use a download manager such as aria2c or JDownloader.
Using chrome I right clicked the download and slected resume after it failed (a couple of times) but it downloaded eventually.

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

Okay I'm getting there, OTG doesn't seem to work in handheld mode, at least my crappy C to USB 3.1 Anker cable is not working.

In docked mode I got my iPazzPort controller working, but the right side of the screen is corrupted:

Anyone else noticed this or know how to fix?

Thanks.
 

Attachments

  • l4t-switch-corrupt.jpg
    l4t-switch-corrupt.jpg
    196.1 KB · Views: 156

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,567
Trophies
2
Location
United States
Website
sites.google.com
XP
3,841
Country
United States
Using chrome I right clicked the download and slected resume after it failed (a couple of times) but it downloaded eventually.

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

Okay I'm getting there, OTG doesn't seem to work in handheld mode, at least my crappy C to USB 3.1 Anker cable is not working.

In docked mode I got my iPazzPort controller working, but the right side of the screen is corrupted:

Anyone else noticed this or know how to fix?

Thanks.
Try using a different monitor.
 

Gavin_Darkglider

Well-Known Member
Member
Joined
May 20, 2019
Messages
232
Trophies
0
Age
34
XP
581
Country
United States
I think I found the correct link:

https://github.com/lakka-switch/Lak...evices/Switch-L4T/filesystem/usr/lib/firmware

Edit: Where do I put the files in the build tree?

I put the Broadcom firmware in the system /lib/firmware/brcm folder and it looks like it's working. I also had to make a copy of it named BCM.hcd and find a text file online. Is this correct?

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908724

Got an Image to build, but it doesn't appear to boot. Been at a blank screen for 5 minutes now.

try using the dtb from l4t update 1.3. I couldnt get the dtb to work, until i rebuilt the bootchain with the latest sources. something changed in the dtb source for android I think that wasnt supported in coreboot before.
 

Gavin_Darkglider

Well-Known Member
Member
Joined
May 20, 2019
Messages
232
Trophies
0
Age
34
XP
581
Country
United States
Is there anyway to use the headphone jack on the switch while docked for audio output?

yes, you need to edit the dock-handler script, and remove the pactl commands, so it doesnt disable internal audio when docked. Or you could just install pavucontrol, and change output device configuration.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over