[SWITCH] L4T Ubuntu V3.0.0 Released

New update of the penguin returning on Nintendo Switch with L4T Ubuntu with a new version 3.0.0


L4T Ubuntu is a version of Linux based on the nvidia linux project for tegra. It uses a different kernel than previous versions which allows it to use features not yet in the mainline. Like audio, docking and vulkan support.
Attention, the use of high clocks in portable mode will reduce the battery capacity much faster than the stock clock


  • Dock support with USB
  • Bluetooth (both controller and audio)
  • Full Joycon support (excluding NFC and IRcamera)
  • Nvidia GPU driver – Vulkan and OpenGL
  • Audio – Headphones, speakers and on HDMI when connected.
  • Touch screen
  • Screen
  • Wifi
  • CPU frequency scaling – The CPU scales from 200 mhz to 1.7 ghz (what the switch is used for) depending on the load below. Fans are adapted to take this into account
  • Full sdcard speed
  • Hardware video acceleration when using the built-in video app (means you can watch videos without draining the battery massively)
  • overclocking
  • LP0 Sleep mode
  • IMU / Ambiant Light sensor support
  • Quick charge
  • reboot2payload
  • Minerva Memory Training
  • more… .. I’m sure I forgot something


  • A dedicated 16 GB + SD card

There are currently no updates beyond 3.0.0 which is the image. If they are needed, they will be published here.
How to install

  1. Download the image from the download section and extract.
  2. Write it on your sdcard using a program like etcher or dd
  3. Apply any updates from the updates section in the thread
  4. Start hekate and select L4T from the configuration menu.
  5. Wait about 2-4 minutes while charging initially
  6. Go through the installation process – make sure you don’t hang up the console during this time.
  7. Once the initial installation is finished and you are on the login screen, it is advisable to restart:
  8. Upload hekate again and select L4T as the payload.
  9. Log in and open the “Disks” app
  10. Select the second partition of your sdcard and click the gear icon
  11. Choose resize and change the size for the entire amount of space available.
  12. Have fun, you now have Ubuntu fully functional on your switch!


  • Anchoring while opening an ssh session can cause the display to not turn off properly (I’m not sure it still applies)
  • USB OTG – works well in the dock though
  • Vulkan is a buggy in the dolphin… .. Use Ishuriika works best.
  • Real-time clock gets messed up on the horizon (I’m not sure it still applies)
  • Most of the available software and the software you want to use cannot access nvdec. This is not a problem with l4t builds, but with the fact that nvidia implemented these features using gstreamer instead of vdpau wrapping. This means apps like moonlight will probably never work properly, so please don’t report it as a bug, get moonlight developers to add support for nvdec on tegra x1 and then complain when it doesn’t work.;)

Various informations

  • Pair (joy / pro) against by opening the Bluetooth menu in the settings and pressing the + button in the lower left corner. Then press the sync button on the controller and select its name in the pairing window. Once both joysticks are paired, press each of the shoulder buttons to use it as a controller
  • To update the system, run “sudo apt update”, “sudo apt upgrade”. This will apply all switch and ubuntu updates in addition to the kernel updates, they will be posted here if ever needed.
  • To limit the CPU frequency, run cat / sys / devices / system / cpu / cpufreq / policy0 / scaling_available_frequencies. Find what you want, then run: echo <freq you want> | sudo tee / sys / devices / system / cpu / cpufreq / policy0 / scaling_max_freq
  • To force the frequency of execution max freq execute | sudo tee / sys / devices / system / cpu / cpufreq / policy0 / scaling_governor
  • A GUI to configure overclocking and fan profiles is coming soon
  • NEW: to activate the 2 ghz mode
    eco 1 | sudo tee / sys / kernel / tegra_cpufreq / overclock
    echo 2091000 | sudo tee / sys / devices / system / cpu / cpufreq / policy0 / scaling_max_freq

    then run the command to force max freq if you want to use something intensive.

  • To always use the copy in 2.0ghz mode
    echo 1> / sys / kernel / tegra_cpufreq / overclock
    echo 2091000> / sys / devices / system / cpu / cpufreq / policy0 / scaling_max_freq

    on /etc/rc.local before exit line 0

You can find them all on  https://gitlab.com/switchroot  with the other kernel repositories on  http://nv-tegra.nvidia.com

Use these scripts if you want to create your own kernel:  https: // gitlab .com / switchroot / kernel / l4t-kernel-build-scripts / tree / test

It obtains the firmware files from lakka-switch github and places them in / lib / firmware on the kernel build machine, otherwise it will not be compiled. You can also use these scripts to create kernels for other Linux distributions.

For what it’s worth, the current kernel in the image is built without cypress-wifi, and I’m going to add a lot of modules for hardware expansion. This is basically the same configuration as the 1.3.1 update, with some minor changes for the new drivers.


L4T Ubuntu 3.0.0 full

L4T Ubuntu 3.0.0 lite