More actions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Infobox Switch Homebrews | {{Infobox Switch Homebrews | ||
|title=L4T Ubuntu | |title=L4T Ubuntu | ||
|image= | |image=l4tubuntunx.png | ||
|description=Ubuntu OS for your Switch. | |description=Ubuntu OS for your Switch. | ||
|author=Switchroot | |author=Switchroot | ||
|lastupdated=2023/04/12 | |lastupdated=2023/04/12 | ||
|type=Operating systems | |type=Operating systems | ||
|version=5.1 | |version=5.1.0 | ||
|license=Mixed | |license=Mixed | ||
|download=https:// | |download=https://wiki.switchroot.org/en/Linux/Distributions | ||
|website=https://gbatemp.net/threads/l4t-ubuntu-a-fully-featured-linux-on-your-switch.537301/ | |website=https://gbatemp.net/threads/l4t-ubuntu-a-fully-featured-linux-on-your-switch.537301/ | ||
|source=https://gitlab.com/switchroot/android | |source=https://gitlab.com/switchroot/android | ||
|donation=https://wiki.switchroot.org/#funding | |donation=https://wiki.switchroot.org/#funding | ||
}} | }} | ||
Experience the power of Linux on your Switch with L4T Ubuntu. | Experience the power of Linux on your Switch with L4T Ubuntu. | ||
Line 23: | Line 17: | ||
L4T Ubuntu is a Linux distribution built upon NVIDIA's Linux for Tegra project, featuring a distinct kernel that enables the utilization of features that are not yet available in mainline. This includes support for audio, docking, and Vulkan. | L4T Ubuntu is a Linux distribution built upon NVIDIA's Linux for Tegra project, featuring a distinct kernel that enables the utilization of features that are not yet available in mainline. This includes support for audio, docking, and Vulkan. | ||
''' | '''Note:''' Using high clocks in handheld mode can significantly reduce your battery's lifespan compared to stock clocks. Be cautious when doing so. | ||
==Features== | ==Features== | ||
* Switch 2017, Switch 2019, Switch Lite, Switch OLED support (Erista and Mariko) | * Switch 2017, Switch 2019, Switch Lite, Switch OLED support (Erista and Mariko). | ||
* Full USB-C support | * Full USB-C support. | ||
* Power Delivery, On-The-Go, DisplayPort/HDMI on any adapters/dock | * Power Delivery, On-The-Go, DisplayPort/HDMI on any adapters/dock. | ||
* Bluetooth and Wifi | * Bluetooth and Wifi. | ||
* BT controllers and audio SBC/AAC/AptX/Aptx HD support | * BT controllers and audio SBC/AAC/AptX/Aptx HD support. | ||
* WiFi with all channels except 2.4GHz 14 and 5GHz 144. | * WiFi with all channels except 2.4GHz 14 and 5GHz 144. | ||
* Full Joy-Con Support (Excluding NFC, and IR camera) | * Full Joy-Con Support (Excluding NFC, and IR camera). | ||
* Nvidia Tegra GPU drivers - Vulkan, OpenGL, OpenGLES, EGL, CUDA | * Nvidia Tegra GPU drivers - Vulkan, OpenGL, OpenGLES, EGL, CUDA. | ||
* Audio - Headphones, Speakers, HDMI (up to 5.1) when docked, and Microphone (version 3.4.2+) | * Audio - Headphones, Speakers, HDMI (up to 5.1) when docked, and Microphone (version 3.4.2+). | ||
* Touchscreen | * Touchscreen. | ||
* Handheld (720p @ 60) and Docked Display | * Handheld (720p @ 60) and Docked Display. | ||
* Docked up to 4k30 or 1440p60 on Switch 2017/2019, and up to 4k60 on Switch OLED with OLED dock or 4k60 capable adapter | * Docked up to 4k30 or 1440p60 on Switch 2017/2019, and up to 4k60 on Switch OLED with OLED dock or 4k60 capable adapter. | ||
* CPU/GPU/RAM frequency scaling | * CPU/GPU/RAM frequency scaling. | ||
* Frequency depends on the [https://wiki.switchroot.org/en/Linux/FeaturesAndPrograms#nvidia-power-profile-applet-nvpmodel Nvidia Applet Power Mode, automatic Console and Handheld Profiles] | * Frequency depends on the [https://wiki.switchroot.org/en/Linux/FeaturesAndPrograms#nvidia-power-profile-applet-nvpmodel Nvidia Applet Power Mode, automatic Console and Handheld Profiles]. | ||
* Automatic Overclocking through the Nvidia (Blue/Red Joy-Con) Indicator Applet (select an OC mode) | * Automatic Overclocking through the Nvidia (Blue/Red Joy-Con) Indicator Applet (select an OC mode). | ||
* Full SD card speed | * Full SD card speed. | ||
* Hardware Video acceleration | * Hardware Video acceleration. | ||
* Support in new SMPV Player app (smpv), ffmpeg-l4t, mpv-l4t, system ffmpeg and the chromium-browser | * Support in new SMPV Player app (smpv), ffmpeg-l4t, mpv-l4t, system ffmpeg and the chromium-browser. | ||
* Watch videos without battery draining massively and convert videos really fast | * Watch videos without battery draining massively and convert videos really fast. | ||
* Deep Sleep | * Deep Sleep. | ||
* IMU/Ambient Light sensor support | * IMU/Ambient Light sensor support. | ||
* R2P (Reboot to any hekate boot entry configuration) | * R2P (Reboot to any hekate boot entry configuration). | ||
* Support for Moonlight-QT | * Support for Moonlight-QT. | ||
* Stream games/desktop from your Nvidia (nvidia gamestream) or AMD (sunshine moonlight host) GPU to your Switch | * Stream games/desktop from your Nvidia (nvidia gamestream) or AMD (sunshine moonlight host) GPU to your Switch. | ||
* HW video accelerated up to 4k | * HW video accelerated up to 4k. | ||
* Updates distributed through APT package manager | * Updates distributed through APT package manager. | ||
* Basically everything the hardware supports even if Switch OS doesn't support. Except NFC and IR. | * Basically everything the hardware supports even if Switch OS doesn't support. Except NFC and IR. | ||
==Installation | ==Installation== | ||
== | Follow the guide from [https://wiki.switchroot.org/en/Linux/Ubuntu-Install-Guide the switchroot wiki]. | ||
==Controls== | |||
{| style="margin-left:0em; width:700px;" | |||
| | |||
https://dlhb.gamebrew.org/switchhomebrews/l4tubuntunx4.png | |||
| | |||
https://dlhb.gamebrew.org/switchhomebrews/l4tubuntunx5.png | |||
|} | |||
==Media== | |||
'''Running Linux On The Nintendo Switch!''' ([https://www.youtube.com/watch?v=sLTLu_WsCiM Linux Lounge])<br> | |||
<youtube>sLTLu_WsCiM</youtube> | |||
'''How to Install Linux on Nintendo Switch | L4T Ubuntu 3.3.0 Switchroot Install or Update Tutorial''' ([https://www.youtube.com/watch?v=V8Nh7hpN24c LOE TECH]) <br> | |||
<youtube>V8Nh7hpN24c</youtube> | |||
== | ==Compatibility== | ||
(5.1.0) Requires hekate 6.0.3 or newer. | |||
==== | ==Changelog== | ||
'''Ubuntu Bionic 5.1.0''' | |||
r2/r3 changes: | |||
* Kernel/Driver: | |||
**Several extra checks were added for SD Card UHS DDR200 tuning. | |||
***Any card that requires the Sandisk method of tuning and fails these checks is barred from using it and they fallback to UHS SDR104. | |||
***<code>ddr200_disable</code> is now removed, since it was abused and no one reported the issue to the proper channels. | |||
**Stick Calibration is now tighter for Joy-Con/Pro-Con/Lite controllers when factory or user calibration is empty or can't be acquired. | |||
**Fixed an old railed Joy-Con issue which could make UART communications hang if it was plugged during suspend procedure. | |||
*Userspace: | |||
**Fixed an issue with <code>jc-dump-ltk</code> command failing to acquire Pro-Con or Joy-Con Grip MAC addresses and LTK properly. | |||
* | |||
* | |||
Kernel/Driver changes: | |||
*SD/eMMC Dramatic Performance Increases: | |||
**Support for SD card UHS DDR200 allowing for up to 200MB/s on UHS-I bus (up from 104MB/s). (Needs hekate 6.0.3). | |||
**That marks the first device in the world to even support this. (HW is 4 years older than DDR200 and doesn't provide official support). | |||
**Read performance increased by 2-20% and write by 50-200% on SD and eMMC. That's by fixing an almost 2 decades old bug. | |||
**Fixed an old Nvidia bug where it would decrease SD/eMMC performance by 60% after a deep sleep. | |||
**Decreased latency/access times and improved random transfers (4k IOPS). | |||
**Added support for SD card cache. | |||
**SD Card VDDC/VDDQ regulators are now disabled on deep sleep. Increases standby times dramatically on chipped switch that use the proper SD card VDD point. | |||
**On failed inits, the SD card will now be power-cycled fully and driver will try to reduce bus timing progressively, instead of falling back to HS25 immediately. Finally, retries are now instant, instead of taking 2-5s. | |||
*Deep Sleep: | |||
**Significantly improved wake up speed on T210 and T210B01. | |||
**Significantly improved deep sleep on T210B01 (increased by ~10-15 days). | |||
**Mitigated a T210B01 HW erratum and fixed several Nvidia driver bugs in SDMMC/PCIE/XUSB/USBPD drivers. | |||
*GPU DVFS for T210B01: | |||
**A new mode added for T210B01 that dramatically lowers power consumption on higher GPU clocks. | |||
**That also allows GPU to reach 1228 MHz max on select binned GPUs. | |||
**GPU clocks are now properly limited by max voltage and max power, increasing safety by not exceeding pmic current limits. | |||
**That can also increase max GPU clock to 1152 MHz on select binned GPUs. | |||
*Joy-Con/Pro-Con: | |||
**Improved Sio (Lite Gamepad) init. | |||
**Increased Sio input report rate to 120HZ (8ms) from 60Hz (16ms). | |||
**Reduced traffic from rumble commands. | |||
**Added plug-in/removal detection via pins for railed Joy-Con. | |||
**Fixed an issue where the IMU input device would not be unregistered on removal of railed or wireless Joy/Pro-Con. | |||
*XBOX Controllers: | |||
**Added support for bluetooth XBOX controllers via XPAD Neo driver. | |||
**As with USB ones, userspace must load the module. | |||
*WiFi/Bluetooth: | |||
**Updated firmware files to latest from HOS. | |||
**Fixed several bluetooth driver bugs. | |||
*USB-PD: | |||
**VCONN/VBUS is now managed on certain SKUs, increasing deep sleep dramatically. | |||
*PCIE/XUSB: | |||
**Improvements to the drivers in all fronts. | |||
**The Suspend/Resume fixes also increase deep sleep times dramatically. | |||
**Fixed an issue where USB on dock would not work if booted docked. | |||
*Built-in IMU: | |||
**Added support for STM LSM6DSO/LSM6DO and LSM6DSE 6-Axis IMU chips. | |||
**Now the driver will also automatically choose between LSM6DS3H/DSO/DSE and ICM40607. | |||
*Added HW Random engine support for T210B01. | |||
*Fixed production settings for DisplayPort on T210B01. | |||
*Fixed several pmic settings. | |||
*Many more improvements/fixes. | |||
* | Ubuntu/Userspace changes: | ||
*Chromium Widevine Support for Movie/Series Streaming Services. | |||
**Chromium now supports Widevine DRM for streaming platforms. Most sites work via the normal icon. | |||
** | **Others, like Netflix, need the Chromium Streaming one from the app menu. | ||
** | *Switch Tray Icon: | ||
* If | **The icon is now split into 2 sections. The Switch icon for tools and the Text profile one that allows Power/Fan management. | ||
**The following features were added to the icon: | |||
**Added Reboot 2 Config app for rebooting to a hekate boot entry with 2 simple steps. | |||
**Added OLED display color modes. | |||
**Added Joy-Con Controls Mapping help. Shows how Joy-Con are mapped to keyboard/mouse and how to enable/disable it. | |||
*Theme: | |||
**Unity Dash, the apps side bar, was updated to a modern flat theme. | |||
*Apps: | |||
**Added <code>tegrastats-l4t</code> with better formatted output. Useful for live info and overlays. Can be launched from the Switch tray icon. | |||
**Added <code>jc-dump-ltk</code> for dumping Bluetooth LTK key when user connects Pro Controller via USB. Can be also used for getting LTK from Joy-Con via Grip. | |||
*Bluetooth: | |||
**Bluetooth now gets disabled in Sleep, for not needing user to turn off controllers manually. | |||
**This also allows the whole wifi/bt combo chip to power down during sleep and thus decreasing power consumption. | |||
*Optional support for DTS audio encoder (dcaenc) for DP/HDMI was added. If wanted, apt package is <code>alsa-lib-dcaenc</code>. | |||
*Many more improvements/fixes. | |||
Boot Stack changes: | |||
*L4T Loader: | |||
**SD Card UHS DDR200 mode support (needs hekate 6.0.3 or newer). | |||
**Allow early 2019 Samsung ram to be overclocked to 2133MHz for T210B01 (Mariko). | |||
*INI config: | |||
**<code>bt_ertm_disable</code> allows disabling Bluetooth ERTM which might hinder usage of some Bluetooth devices. | |||
**<code>ddr200_disable</code> allows disabling the automatic SD Card UHS DDR200 support. | |||
**<code>gpu_dvfsc</code> allows dramatically decreasing GPU power consumption for Mariko on high clocks and allowing for higher clocks also. | |||
**<code>limit_gpu_clk</code> allows limiting max GPU clocks in case <code>gpu_dvfsc</code> is used and GPU can't withstand lower voltage. | |||
**As always, check README_CONFIG.txt for more info. | |||
*Support for beefy pmic type of T210B01 devboards in U-BOOT. | |||
'''Ubuntu Bionic 5.0.0''' | |||
Kernel/Driver changes: | |||
*RAM: | |||
**409MB RAM was freed from carveouts and was given to CMA so everything can easily use it with mmap. | |||
*Joycon/Procon driver. | |||
**Added support for Sio (Switch Lite gamepad). | |||
**Improved HD Rumble and fix it once and for all. | |||
**Improved and reorder init sequence. | |||
**Improved high speed uart stability. | |||
**Fixed hangs when using hd rumble. | |||
**Changed Procon D-Pad from HAT to actual D-Pad. | |||
**Fixed HORI analog stick limits. | |||
*WiFi & Bluetooth: | |||
**Fully unlocked almost all WiFi channels,1-13 for 2.4GHz and 34-165 for 5GHz. 14/144 disabled). | |||
**Many 5Ghz channels will only be used if there's an existing AP (radar detection), for regulation reasons. | |||
**Fixed Bluetooth SCO mode (HSP/HFP). It now properly transmits audio instead of static. | |||
**Significantly improved signal on both WiFi 2.4GHz and Bluetooth since default is now USB2. | |||
**(USB3 can be enabled back via ini config). | |||
**Battery Charger and Fuel Gauge. | |||
**Added Battery % regulation. Sets a limit to battery max % and it's quite useful for when device is always docked. | |||
**Added support of charging disable via special GPIO. | |||
**Improve init sequence. | |||
*Audio: | |||
**Added Switch 2019/Lite/OLED speakers EQ. | |||
**Added fine controls for DAC speaker/headphone volumes. | |||
**Added minijack Mic support and Headset vs Headphones support. | |||
**Added Headset button support (all buttons work as play/pause). | |||
**Refactored driver and improved init/deinit process. | |||
*R2P: | |||
**Refactored driver and added T210B01 support. | |||
**Check README_CONFIG.txt for more info on how it can be configured. | |||
*USB-C (DisplayPort/Power Delivery). | |||
**Massively refactor USB-C driver, again. | |||
**Support for PIN C (adapters that report 4 DisplayPort lanes only). | |||
**Removed the requirement for at least 2 USB-PD profile to enable PD charging. | |||
**Added support for no DisplayPort (Switch Lite). | |||
**Improve and make init sequence way faster. | |||
*Display: | |||
**Added OLED panel driver. | |||
**Added HDCP 1.x and 2.2 support for DisplayPort. | |||
**Fixed TSEC support. | |||
**Backlight will always get disabled before disabling LCD/OLED panel. | |||
*DisplayPort CEC. | |||
**Added support for CEC via DisplayPort. | |||
**Docking will change source to Switch automatically if supported. | |||
**CEC tv remote control. | |||
**Support for OLED dock. | |||
*Non-PD USB charger detect. | |||
**Added fine tuners for currents on USB charger detect. | |||
**Improve detection. | |||
**Set SDP when a gadget is enabled to 500mA only. | |||
*eMMC/SD driver. | |||
**Improve auto calibration. | |||
**Allow 1-bit mode. | |||
*XUSB: | |||
**Fixed T210B01 support. | |||
**Fixed USB3 device mode. | |||
**Added proper support for USB2-only mode. | |||
*Various fixes to USB phy and vbus. | |||
*Improved kernel driver init sequence. Saves around 4-6s of boot time. | |||
*Added better panic error handling, the relevant log can now be dumped automatically by hekate. | |||
*Added controls for disabling touch panel tuning on boot (some broken flex cables or panels might need that). | |||
*Fixed IMU IRQ mode. This greatly improves IMU Acc/Gyro responsiveness. Also added new IMU chips support. | |||
*Fixed an issue where Power button irq could be stack. | |||
*Fixed a hang on boot because of Squash FS driver. | |||
*Added DM-CRYPT support. | |||
*Fixed max77812 CPU/GPU/RAM regulator and enable it for T210B01. | |||
*Added max77801 3.3V regulator for Switch OLED. | |||
*Added a new TSKIN driver and changed temperatures and fan curves to match HOS exactly. | |||
Ubuntu/Userspace changes: | |||
*Theme and Icons: | |||
**Default theme and icons changed to more modern flat and dark one. | |||
**If you changed them before, you can use <code>Tweaks</code> from app menu to change it (Pop-Dark theme and Pop icons). | |||
*On-Screen Keyboard. | |||
**Now rocks a new material you design look. | |||
**Add special key for Gamepads to Show/Hide it. | |||
**Enabled physical Keyboard detection. | |||
**Auto transparency on idle, so user can see behind it. | |||
**Fixed an issue which would delay logout 2:30 minutes if osk is enabled. | |||
*Default settings: | |||
**Double click is now easier to do on touch. | |||
**Drag threshold increased to avoid miss-dragging instead of tapping. | |||
**ALS disabled for backlight control so user can enable it in ini config for emulators and games. | |||
**Changed Battery levels: Warns LOW at 15%, Warns Critical at 6%. Shutdowns at 4%. | |||
**Suspend after 10min idle at battery. Never at AC. | |||
**Battery percentage always shown. | |||
**Cursor size default increased. | |||
**Default scaling changed. | |||
**Default Dash shorcuts changed so user can pin preferences without first unpinning. | |||
*Bluetooth A2DP profiles: | |||
**Automatic profile change. | |||
**Added AAC, AptX and AptX HD profiles. | |||
**Also fixed SCO HSP/HFP profiles. | |||
*Fixed 5.1 surround audio. | |||
*Dock-Handler: | |||
**Fully optimized and fast. | |||
**Saves boot time. | |||
**Works properly on Greeter. | |||
**CEC support. | |||
**PD power profile support (Will switch to Console if PD charger). | |||
**Fixed crashes on boot. | |||
*Joycon Daemon: | |||
**Added Sio (Switch Lite Gamepad) support. | |||
**Now rumble works properly and also doesn't hang system. | |||
**Removed Procon management from Joycond. Now the controller can be used by any software. | |||
**IMU now accessible from every app. | |||
**Various bug fixes. | |||
*System FFMpeg updated to use latest HW Video codecs. | |||
*Switch Multimedia: | |||
**Updated to use the latest HW Video decoding/encoding. | |||
**(ffmpeg-l4t, ffplay-l4t and mpv-l4t). | |||
**All video files now use SMPV Player by default for hw decoding. | |||
**Chromium Browser. | |||
**Full Vulkan HW acceleration support. | |||
**Full HW Video decoding support for H264 and VP8 videos. | |||
**Bluetooth is now disabled completely on sleep to save battery. | |||
**Enabled automatically on resume. | |||
**Debloated and remade main image from scratch. | |||
*Joystick Mapping. | |||
**Based on L4T Megascript one and included by default. | |||
**Reworked all mappings to the following: | |||
**A, B, X, Y --> Enter, Backspace, Esc, Task Switch. | |||
**Minus, Plus --> Rotate Screen, Show/Hide OSK. | |||
**L3, R3 --> Caps Lock, Middle Click. | |||
**Home --> Windows Key. | |||
**D-pad --> Arrow keys. | |||
**L/R Sticks --> Mouse, Scrolling. | |||
**Capture --> Disables(/Enables) mappings and allows it to be used as gamepad. | |||
*Now All updates can be done via APT. 5.0.0 will be the last image provided. | |||
*Every new update will be done through Software Updates or Apt command. | |||
*Updated ALSA profile to support all SKUs. | |||
*Added HDCP support if requested by an App that supports the api. | |||
Initramfs changes: | |||
< | *WiFi MAC address is now derived from SoC id. | ||
*BT MAC address if no joycon dump is derived from SoC id. | |||
*Added error checking at boot. | |||
*Fixes "bricks" where linux partition is corrupted but can be fixed. | |||
*Creating <code>.reinit</code> file flag in switchroot/ubuntu will force a re-extraction of Kernel and Modules/Firmware. | |||
*That should always be used if user updates BSP to another one (for example r32.7.3). | |||
*If initramfs fails booting it will try to dump kernel log in sd first (l4t_initramfs_kmesg.log) before showing the red screen. | |||
Boot Stack changes: | |||
*L4T Loader - specialized bootloader. | |||
*Full support for T210B01 (Switch 2019, Lite and OLED). | |||
* | *.ini file is now the main configuration file and uenv.txt is obsolete (a backup is done for existing copies). | ||
*All configs are described in README_CONFIG.txt. | |||
* | *Careful with what you are booting on T210B01 since it can create hangs in black screen or error messages. | ||
* | *Error message will be shown if that's the case, to avoid a black screen hang. | ||
* | |||
* | |||
* | |||
'''Ubuntu Bionic 3.4.0''' | '''Ubuntu Bionic 3.4.0''' | ||
* Better performances in many scenarios (As always that should affect apps/games/emus/etc) | * Better performances in many scenarios (As always that should affect apps/games/emus/etc). | ||
* Significant better deep sleep. (Measured at 582 hours. 440% better). | * Significant better deep sleep. (Measured at 582 hours. 440% better). | ||
* Faster wake up from sleep. | * Faster wake up from sleep. | ||
* Saved 240MB ram (fb and active file page pool, aka always used pool) | * 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). | * 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 | * Some other memory optimizations, plus enabled huge ram pages. | ||
* Faster kernel and OS boot. | * Faster kernel and OS boot. | ||
* Fixed tearing issues for NVDEC/NVENC. (video hw accel) | * Fixed tearing issues for NVDEC/NVENC. (video hw accel). | ||
* Lower latency for frame end calcs for builtin display | * Lower latency for frame end calcs for builtin display. | ||
* Fixed Hori pads for joycond | * Fixed Hori pads for joycond. | ||
* Fixed an issue where it would make railed jc to disconnect on rumble | * 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 | * 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 | * Kernel now uses the proper display panel init/deinit by checking panel id. | ||
* Improved dock/undock script | * 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. | * 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 | * 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 | * Better seamless display on boot. | ||
* uenv.txt changed, read uenv_readme.txt. It's simple to transfer over custom settings. | * 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`. | * 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: | Apps Changes: | ||
* Full video HW decoding via new SMPV Player app (also supports youtube links) | * Full video HW decoding via new SMPV Player app (also supports youtube links). | ||
* Full video HW encoding via ffmpeg-l4t | * Full video HW encoding via ffmpeg-l4t. | ||
* Added L4T-Megascript app | * Added [https://github.com/cobalt2727/L4T-Megascript/wiki L4T-Megascript app]. You can get or build various essential stuff, apps or emulators with a single click. All configured and optimized for Switch.. | ||
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. | ||
* Nvpmodel was updated to include Battery charging protection limits options | **Useful when you are constantly docked and want to protect battery's life. | ||
Useful when you are constantly docked and want to protect battery's life. | **Limit gets saved and applied on boot. | ||
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. | ||
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. | ||
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. | ||
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. | ||
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). | ||
As always the source is public and all L4T based projects for Switch will benefit (L4T linux distros/Lakka/Android) | |||
'''Ubuntu Bionic 3.3.0''' | '''Ubuntu Bionic 3.3.0''' | ||
* Significant performance improvements | * Significant performance improvements. | ||
**CPU arch, RAM, GPU, general latency, etc optimizations. | **CPU arch, RAM, GPU, general latency, etc optimizations. | ||
**Affects gui, apps, games, emus, etc | **Affects gui, apps, games, emus, etc. | ||
* Significant deep sleep power draw fixes | * Significant deep sleep power draw fixes. | ||
**Now almost all non-needed devices power off on deep sleep and ram is set to appropriate frequency. | **Now almost all non-needed devices power off on deep sleep and ram is set to appropriate frequency.. | ||
**(Touch panel, LCD, Joycon charging and many more devices now power off in deep sleep as they should) | **(Touch panel, LCD, Joycon charging and many more devices now power off in deep sleep as they should). | ||
* IO scheduler was changed to provide way faster storage IO | * IO scheduler was changed to provide way faster storage IO. | ||
* Released 15 MiB extra ram | * Released 15 MiB extra ram. | ||
* Fixed voltage calculation for OC. It should provide more stable overclocking | * Fixed voltage calculation for OC. It should provide more stable overclocking. | ||
* Refactored thermal management | * Refactored thermal management. | ||
**Fan profiles are now the same with HOS | **Fan profiles are now the same with HOS. | ||
**Added failsafes, throttling and force power off when very high temps for the board are reached | **Added failsafes, throttling and force power off when very high temps for the board are reached. | ||
* Faster boot times | * Faster boot times. | ||
* Fixed issues with Joycon charging and Hori power on resume | * Fixed issues with Joycon charging and Hori power on resume. | ||
* Fixed Power button issues | * Fixed Power button issues. | ||
* Touch improvements | * Touch improvements. | ||
* Added Hori and Obirds rail support | * Added Hori and Obirds rail support. | ||
* OTG now allows deep sleep, even if linux resides in a USB SSD. | * OTG now allows deep sleep, even if linux resides in a USB SSD. | ||
* Various USB fixes | * Various USB fixes. | ||
* Allow fuel gauge to wake up system and power off gracefully on empty battery | * Allow fuel gauge to wake up system and power off gracefully on empty battery. | ||
* Added support for many 3rd party docks | * Added support for many 3rd party docks. | ||
**These include Genki, Zenscreen, Nexdock and anything else that uses similar methods | **These include Genki, Zenscreen, Nexdock and anything else that uses similar methods. | ||
**Basically, the support should reach 100% (docks that support DP via pin D) | **Basically, the support should reach 100% (docks that support DP via pin D). | ||
* Fixed issues with fast charging when docked on boot | * Fixed issues with fast charging when docked on boot. | ||
* Fixed other issues with charging on certain edge cases | * Fixed other issues with charging on certain edge cases | ||
* Fixed DP/HDMI when plugging console while sleeping | * Fixed DP/HDMI when plugging console while sleeping. | ||
* Fixed DP/HDMI when already docked and waking up | * Fixed DP/HDMI when already docked and waking up. | ||
* Dock led indicator now has a breathing light when sleeping | * Dock led indicator now has a breathing light when sleeping. | ||
* Add exFAT partition support (boot driver still needs to be FAT32) | * Add exFAT partition support (boot driver still needs to be FAT32). | ||
* Enabled 1GB ZRAM swap | * Enabled 1GB ZRAM swap. | ||
* Status messages on booting | * Status messages on booting. | ||
* Seamless display booting (needs hekate higher than v5.5.4) | * Seamless display booting (needs hekate higher than v5.5.4). | ||
* Disabled screen blanking on idle. Dimming/Screensaver is still there and can be disabled in Brightness & Lock. | * Disabled screen blanking on idle. Dimming/Screensaver is still there and can be disabled in Brightness & Lock. | ||
This will help with games/emus where gamepad is used and it does not reset idle times like mouse/keyboard. | ** This will help with games/emus where gamepad is used and it does not reset idle times like mouse/keyboard. | ||
* Fixed apt repo urls | * Fixed apt repo urls. | ||
* NVPModel is revamped: | |||
**Allow changing power profiles via touch. | |||
**Added handheld power profile. | |||
**Added fan profiles. | |||
**Added automatic profiles based on handheld or docked. | |||
**Added USB 3.0 disable toggle for boosting WiFi 2.4G and Bluetooth signal. | |||
**OC profiles now do not require enabling overclock flag in sysfs. | |||
==Credits== | ==Credits== | ||
* CTCaer (kernel/bootloader, distro maintainer, NVENC/NVDEC) | * CTCaer (kernel/bootloader, distro maintainer, NVENC/NVDEC). | ||
* Gavin_Darkglider (distro maintainer) | * Gavin_Darkglider (distro maintainer). | ||
* Azkali (distro maintainer) | * Azkali (distro maintainer). | ||
* Ave (repo management and host) | * Ave (repo management and host). | ||
* DanielOgorchock(Switch controller drivers/joycond) | * DanielOgorchock(Switch controller drivers/joycond). | ||
* Bylaws | * Bylaws. | ||
* Langerhans | * Langerhans. | ||
* Natinusala | * Natinusala. | ||
* stary2001 (reboot2payload) | * stary2001 (reboot2payload). | ||
* NVIDIA (Tegra BSP) | * NVIDIA (Tegra BSP). | ||
* theofficialgman and cobalt2727 (L4T-Megascript) | * theofficialgman and cobalt2727 (L4T-Megascript). | ||
* Everyone else in switchroot | * Everyone else in switchroot. | ||
== External links == | == External links == | ||
* Official | * Official website - https://switchroot.org/ | ||
* | * GitLab - https://gitlab.com/switchroot/android | ||
* | * GitLab - https://github.com/CTCaer?tab=repositories&q=l4t | ||
* Switchroot Wiki - https://wiki.switchroot.org/en/Linux/Distributions | * Switchroot Wiki - https://wiki.switchroot.org/en/Linux/Distributions | ||
* GBAtemp - https://gbatemp.net/threads/l4t-ubuntu-a-fully-featured-linux-on-your-switch.537301/ | |||
* Discord - https://discord.gg/N9PPYXjWMY |
Revision as of 08:37, 7 Mayıs 2023
L4T Ubuntu | |
---|---|
General | |
Author | Switchroot |
Type | Operating systems |
Version | 5.1.0 |
License | Mixed |
Last Updated | 2023/04/12 |
Links | |
Download | |
Website | |
Source | |
Support Author | |
Experience the power of Linux on your Switch with L4T Ubuntu.
L4T Ubuntu is a Linux distribution built upon NVIDIA's Linux for Tegra project, featuring a distinct kernel that enables the utilization of features that are not yet available in mainline. This includes support for audio, docking, and Vulkan.
Note: Using high clocks in handheld mode can significantly reduce your battery's lifespan compared to stock clocks. Be cautious when doing so.
Features
- Switch 2017, Switch 2019, Switch Lite, Switch OLED support (Erista and Mariko).
- Full USB-C support.
- Power Delivery, On-The-Go, DisplayPort/HDMI on any adapters/dock.
- Bluetooth and Wifi.
- BT controllers and audio SBC/AAC/AptX/Aptx HD support.
- WiFi with all channels except 2.4GHz 14 and 5GHz 144.
- Full Joy-Con Support (Excluding NFC, and IR camera).
- Nvidia Tegra GPU drivers - Vulkan, OpenGL, OpenGLES, EGL, CUDA.
- Audio - Headphones, Speakers, HDMI (up to 5.1) when docked, and Microphone (version 3.4.2+).
- Touchscreen.
- Handheld (720p @ 60) and Docked Display.
- Docked up to 4k30 or 1440p60 on Switch 2017/2019, and up to 4k60 on Switch OLED with OLED dock or 4k60 capable adapter.
- CPU/GPU/RAM frequency scaling.
- Frequency depends on the Nvidia Applet Power Mode, automatic Console and Handheld Profiles.
- Automatic Overclocking through the Nvidia (Blue/Red Joy-Con) Indicator Applet (select an OC mode).
- Full SD card speed.
- Hardware Video acceleration.
- Support in new SMPV Player app (smpv), ffmpeg-l4t, mpv-l4t, system ffmpeg and the chromium-browser.
- Watch videos without battery draining massively and convert videos really fast.
- Deep Sleep.
- IMU/Ambient Light sensor support.
- R2P (Reboot to any hekate boot entry configuration).
- Support for Moonlight-QT.
- Stream games/desktop from your Nvidia (nvidia gamestream) or AMD (sunshine moonlight host) GPU to your Switch.
- HW video accelerated up to 4k.
- Updates distributed through APT package manager.
- Basically everything the hardware supports even if Switch OS doesn't support. Except NFC and IR.
Installation
Follow the guide from the switchroot wiki.
Controls
|
|
Media
Running Linux On The Nintendo Switch! (Linux Lounge)
How to Install Linux on Nintendo Switch | L4T Ubuntu 3.3.0 Switchroot Install or Update Tutorial (LOE TECH)
Compatibility
(5.1.0) Requires hekate 6.0.3 or newer.
Changelog
Ubuntu Bionic 5.1.0
r2/r3 changes:
- Kernel/Driver:
- Several extra checks were added for SD Card UHS DDR200 tuning.
- Any card that requires the Sandisk method of tuning and fails these checks is barred from using it and they fallback to UHS SDR104.
ddr200_disable
is now removed, since it was abused and no one reported the issue to the proper channels.
- Stick Calibration is now tighter for Joy-Con/Pro-Con/Lite controllers when factory or user calibration is empty or can't be acquired.
- Fixed an old railed Joy-Con issue which could make UART communications hang if it was plugged during suspend procedure.
- Several extra checks were added for SD Card UHS DDR200 tuning.
- Userspace:
- Fixed an issue with
jc-dump-ltk
command failing to acquire Pro-Con or Joy-Con Grip MAC addresses and LTK properly.
- Fixed an issue with
Kernel/Driver changes:
- SD/eMMC Dramatic Performance Increases:
- Support for SD card UHS DDR200 allowing for up to 200MB/s on UHS-I bus (up from 104MB/s). (Needs hekate 6.0.3).
- That marks the first device in the world to even support this. (HW is 4 years older than DDR200 and doesn't provide official support).
- Read performance increased by 2-20% and write by 50-200% on SD and eMMC. That's by fixing an almost 2 decades old bug.
- Fixed an old Nvidia bug where it would decrease SD/eMMC performance by 60% after a deep sleep.
- Decreased latency/access times and improved random transfers (4k IOPS).
- Added support for SD card cache.
- SD Card VDDC/VDDQ regulators are now disabled on deep sleep. Increases standby times dramatically on chipped switch that use the proper SD card VDD point.
- On failed inits, the SD card will now be power-cycled fully and driver will try to reduce bus timing progressively, instead of falling back to HS25 immediately. Finally, retries are now instant, instead of taking 2-5s.
- Deep Sleep:
- Significantly improved wake up speed on T210 and T210B01.
- Significantly improved deep sleep on T210B01 (increased by ~10-15 days).
- Mitigated a T210B01 HW erratum and fixed several Nvidia driver bugs in SDMMC/PCIE/XUSB/USBPD drivers.
- GPU DVFS for T210B01:
- A new mode added for T210B01 that dramatically lowers power consumption on higher GPU clocks.
- That also allows GPU to reach 1228 MHz max on select binned GPUs.
- GPU clocks are now properly limited by max voltage and max power, increasing safety by not exceeding pmic current limits.
- That can also increase max GPU clock to 1152 MHz on select binned GPUs.
- Joy-Con/Pro-Con:
- Improved Sio (Lite Gamepad) init.
- Increased Sio input report rate to 120HZ (8ms) from 60Hz (16ms).
- Reduced traffic from rumble commands.
- Added plug-in/removal detection via pins for railed Joy-Con.
- Fixed an issue where the IMU input device would not be unregistered on removal of railed or wireless Joy/Pro-Con.
- XBOX Controllers:
- Added support for bluetooth XBOX controllers via XPAD Neo driver.
- As with USB ones, userspace must load the module.
- WiFi/Bluetooth:
- Updated firmware files to latest from HOS.
- Fixed several bluetooth driver bugs.
- USB-PD:
- VCONN/VBUS is now managed on certain SKUs, increasing deep sleep dramatically.
- PCIE/XUSB:
- Improvements to the drivers in all fronts.
- The Suspend/Resume fixes also increase deep sleep times dramatically.
- Fixed an issue where USB on dock would not work if booted docked.
- Built-in IMU:
- Added support for STM LSM6DSO/LSM6DO and LSM6DSE 6-Axis IMU chips.
- Now the driver will also automatically choose between LSM6DS3H/DSO/DSE and ICM40607.
- Added HW Random engine support for T210B01.
- Fixed production settings for DisplayPort on T210B01.
- Fixed several pmic settings.
- Many more improvements/fixes.
Ubuntu/Userspace changes:
- Chromium Widevine Support for Movie/Series Streaming Services.
- Chromium now supports Widevine DRM for streaming platforms. Most sites work via the normal icon.
- Others, like Netflix, need the Chromium Streaming one from the app menu.
- Switch Tray Icon:
- The icon is now split into 2 sections. The Switch icon for tools and the Text profile one that allows Power/Fan management.
- The following features were added to the icon:
- Added Reboot 2 Config app for rebooting to a hekate boot entry with 2 simple steps.
- Added OLED display color modes.
- Added Joy-Con Controls Mapping help. Shows how Joy-Con are mapped to keyboard/mouse and how to enable/disable it.
- Theme:
- Unity Dash, the apps side bar, was updated to a modern flat theme.
- Apps:
- Added
tegrastats-l4t
with better formatted output. Useful for live info and overlays. Can be launched from the Switch tray icon. - Added
jc-dump-ltk
for dumping Bluetooth LTK key when user connects Pro Controller via USB. Can be also used for getting LTK from Joy-Con via Grip.
- Added
- Bluetooth:
- Bluetooth now gets disabled in Sleep, for not needing user to turn off controllers manually.
- This also allows the whole wifi/bt combo chip to power down during sleep and thus decreasing power consumption.
- Optional support for DTS audio encoder (dcaenc) for DP/HDMI was added. If wanted, apt package is
alsa-lib-dcaenc
. - Many more improvements/fixes.
Boot Stack changes:
- L4T Loader:
- SD Card UHS DDR200 mode support (needs hekate 6.0.3 or newer).
- Allow early 2019 Samsung ram to be overclocked to 2133MHz for T210B01 (Mariko).
- INI config:
bt_ertm_disable
allows disabling Bluetooth ERTM which might hinder usage of some Bluetooth devices.ddr200_disable
allows disabling the automatic SD Card UHS DDR200 support.gpu_dvfsc
allows dramatically decreasing GPU power consumption for Mariko on high clocks and allowing for higher clocks also.limit_gpu_clk
allows limiting max GPU clocks in casegpu_dvfsc
is used and GPU can't withstand lower voltage.- As always, check README_CONFIG.txt for more info.
- Support for beefy pmic type of T210B01 devboards in U-BOOT.
Ubuntu Bionic 5.0.0
Kernel/Driver changes:
- RAM:
- 409MB RAM was freed from carveouts and was given to CMA so everything can easily use it with mmap.
- Joycon/Procon driver.
- Added support for Sio (Switch Lite gamepad).
- Improved HD Rumble and fix it once and for all.
- Improved and reorder init sequence.
- Improved high speed uart stability.
- Fixed hangs when using hd rumble.
- Changed Procon D-Pad from HAT to actual D-Pad.
- Fixed HORI analog stick limits.
- WiFi & Bluetooth:
- Fully unlocked almost all WiFi channels,1-13 for 2.4GHz and 34-165 for 5GHz. 14/144 disabled).
- Many 5Ghz channels will only be used if there's an existing AP (radar detection), for regulation reasons.
- Fixed Bluetooth SCO mode (HSP/HFP). It now properly transmits audio instead of static.
- Significantly improved signal on both WiFi 2.4GHz and Bluetooth since default is now USB2.
- (USB3 can be enabled back via ini config).
- Battery Charger and Fuel Gauge.
- Added Battery % regulation. Sets a limit to battery max % and it's quite useful for when device is always docked.
- Added support of charging disable via special GPIO.
- Improve init sequence.
- Audio:
- Added Switch 2019/Lite/OLED speakers EQ.
- Added fine controls for DAC speaker/headphone volumes.
- Added minijack Mic support and Headset vs Headphones support.
- Added Headset button support (all buttons work as play/pause).
- Refactored driver and improved init/deinit process.
- R2P:
- Refactored driver and added T210B01 support.
- Check README_CONFIG.txt for more info on how it can be configured.
- USB-C (DisplayPort/Power Delivery).
- Massively refactor USB-C driver, again.
- Support for PIN C (adapters that report 4 DisplayPort lanes only).
- Removed the requirement for at least 2 USB-PD profile to enable PD charging.
- Added support for no DisplayPort (Switch Lite).
- Improve and make init sequence way faster.
- Display:
- Added OLED panel driver.
- Added HDCP 1.x and 2.2 support for DisplayPort.
- Fixed TSEC support.
- Backlight will always get disabled before disabling LCD/OLED panel.
- DisplayPort CEC.
- Added support for CEC via DisplayPort.
- Docking will change source to Switch automatically if supported.
- CEC tv remote control.
- Support for OLED dock.
- Non-PD USB charger detect.
- Added fine tuners for currents on USB charger detect.
- Improve detection.
- Set SDP when a gadget is enabled to 500mA only.
- eMMC/SD driver.
- Improve auto calibration.
- Allow 1-bit mode.
- XUSB:
- Fixed T210B01 support.
- Fixed USB3 device mode.
- Added proper support for USB2-only mode.
- Various fixes to USB phy and vbus.
- Improved kernel driver init sequence. Saves around 4-6s of boot time.
- Added better panic error handling, the relevant log can now be dumped automatically by hekate.
- Added controls for disabling touch panel tuning on boot (some broken flex cables or panels might need that).
- Fixed IMU IRQ mode. This greatly improves IMU Acc/Gyro responsiveness. Also added new IMU chips support.
- Fixed an issue where Power button irq could be stack.
- Fixed a hang on boot because of Squash FS driver.
- Added DM-CRYPT support.
- Fixed max77812 CPU/GPU/RAM regulator and enable it for T210B01.
- Added max77801 3.3V regulator for Switch OLED.
- Added a new TSKIN driver and changed temperatures and fan curves to match HOS exactly.
Ubuntu/Userspace changes:
- Theme and Icons:
- Default theme and icons changed to more modern flat and dark one.
- If you changed them before, you can use
Tweaks
from app menu to change it (Pop-Dark theme and Pop icons).
- On-Screen Keyboard.
- Now rocks a new material you design look.
- Add special key for Gamepads to Show/Hide it.
- Enabled physical Keyboard detection.
- Auto transparency on idle, so user can see behind it.
- Fixed an issue which would delay logout 2:30 minutes if osk is enabled.
- Default settings:
- Double click is now easier to do on touch.
- Drag threshold increased to avoid miss-dragging instead of tapping.
- ALS disabled for backlight control so user can enable it in ini config for emulators and games.
- Changed Battery levels: Warns LOW at 15%, Warns Critical at 6%. Shutdowns at 4%.
- Suspend after 10min idle at battery. Never at AC.
- Battery percentage always shown.
- Cursor size default increased.
- Default scaling changed.
- Default Dash shorcuts changed so user can pin preferences without first unpinning.
- Bluetooth A2DP profiles:
- Automatic profile change.
- Added AAC, AptX and AptX HD profiles.
- Also fixed SCO HSP/HFP profiles.
- Fixed 5.1 surround audio.
- Dock-Handler:
- Fully optimized and fast.
- Saves boot time.
- Works properly on Greeter.
- CEC support.
- PD power profile support (Will switch to Console if PD charger).
- Fixed crashes on boot.
- Joycon Daemon:
- Added Sio (Switch Lite Gamepad) support.
- Now rumble works properly and also doesn't hang system.
- Removed Procon management from Joycond. Now the controller can be used by any software.
- IMU now accessible from every app.
- Various bug fixes.
- System FFMpeg updated to use latest HW Video codecs.
- Switch Multimedia:
- Updated to use the latest HW Video decoding/encoding.
- (ffmpeg-l4t, ffplay-l4t and mpv-l4t).
- All video files now use SMPV Player by default for hw decoding.
- Chromium Browser.
- Full Vulkan HW acceleration support.
- Full HW Video decoding support for H264 and VP8 videos.
- Bluetooth is now disabled completely on sleep to save battery.
- Enabled automatically on resume.
- Debloated and remade main image from scratch.
- Joystick Mapping.
- Based on L4T Megascript one and included by default.
- Reworked all mappings to the following:
- A, B, X, Y --> Enter, Backspace, Esc, Task Switch.
- Minus, Plus --> Rotate Screen, Show/Hide OSK.
- L3, R3 --> Caps Lock, Middle Click.
- Home --> Windows Key.
- D-pad --> Arrow keys.
- L/R Sticks --> Mouse, Scrolling.
- Capture --> Disables(/Enables) mappings and allows it to be used as gamepad.
- Now All updates can be done via APT. 5.0.0 will be the last image provided.
- Every new update will be done through Software Updates or Apt command.
- Updated ALSA profile to support all SKUs.
- Added HDCP support if requested by an App that supports the api.
Initramfs changes:
- WiFi MAC address is now derived from SoC id.
- BT MAC address if no joycon dump is derived from SoC id.
- Added error checking at boot.
- Fixes "bricks" where linux partition is corrupted but can be fixed.
- Creating
.reinit
file flag in switchroot/ubuntu will force a re-extraction of Kernel and Modules/Firmware. - That should always be used if user updates BSP to another one (for example r32.7.3).
- If initramfs fails booting it will try to dump kernel log in sd first (l4t_initramfs_kmesg.log) before showing the red screen.
Boot Stack changes:
- L4T Loader - specialized bootloader.
- Full support for T210B01 (Switch 2019, Lite and OLED).
- .ini file is now the main configuration file and uenv.txt is obsolete (a backup is done for existing copies).
- All configs are described in README_CONFIG.txt.
- Careful with what you are booting on T210B01 since it can create hangs in black screen or error messages.
- Error message will be shown if that's the case, to avoid a black screen hang.
Ubuntu Bionic 3.4.0
- 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).
Ubuntu Bionic 3.3.0
- Significant performance improvements.
- CPU arch, RAM, GPU, general latency, etc optimizations.
- Affects gui, apps, games, emus, etc.
- Significant deep sleep power draw fixes.
- Now almost all non-needed devices power off on deep sleep and ram is set to appropriate frequency..
- (Touch panel, LCD, Joycon charging and many more devices now power off in deep sleep as they should).
- IO scheduler was changed to provide way faster storage IO.
- Released 15 MiB extra ram.
- Fixed voltage calculation for OC. It should provide more stable overclocking.
- Refactored thermal management.
- Fan profiles are now the same with HOS.
- Added failsafes, throttling and force power off when very high temps for the board are reached.
- Faster boot times.
- Fixed issues with Joycon charging and Hori power on resume.
- Fixed Power button issues.
- Touch improvements.
- Added Hori and Obirds rail support.
- OTG now allows deep sleep, even if linux resides in a USB SSD.
- Various USB fixes.
- Allow fuel gauge to wake up system and power off gracefully on empty battery.
- Added support for many 3rd party docks.
- These include Genki, Zenscreen, Nexdock and anything else that uses similar methods.
- Basically, the support should reach 100% (docks that support DP via pin D).
- Fixed issues with fast charging when docked on boot.
- Fixed other issues with charging on certain edge cases
- Fixed DP/HDMI when plugging console while sleeping.
- Fixed DP/HDMI when already docked and waking up.
- Dock led indicator now has a breathing light when sleeping.
- Add exFAT partition support (boot driver still needs to be FAT32).
- Enabled 1GB ZRAM swap.
- Status messages on booting.
- Seamless display booting (needs hekate higher than v5.5.4).
- Disabled screen blanking on idle. Dimming/Screensaver is still there and can be disabled in Brightness & Lock.
- This will help with games/emus where gamepad is used and it does not reset idle times like mouse/keyboard.
- Fixed apt repo urls.
- NVPModel is revamped:
- Allow changing power profiles via touch.
- Added handheld power profile.
- Added fan profiles.
- Added automatic profiles based on handheld or docked.
- Added USB 3.0 disable toggle for boosting WiFi 2.4G and Bluetooth signal.
- OC profiles now do not require enabling overclock flag in sysfs.
Credits
- CTCaer (kernel/bootloader, distro maintainer, NVENC/NVDEC).
- Gavin_Darkglider (distro maintainer).
- Azkali (distro maintainer).
- Ave (repo management and host).
- DanielOgorchock(Switch controller drivers/joycond).
- Bylaws.
- Langerhans.
- Natinusala.
- stary2001 (reboot2payload).
- NVIDIA (Tegra BSP).
- theofficialgman and cobalt2727 (L4T-Megascript).
- Everyone else in switchroot.
External links
- Official website - https://switchroot.org/
- GitLab - https://gitlab.com/switchroot/android
- GitLab - https://github.com/CTCaer?tab=repositories&q=l4t
- Switchroot Wiki - https://wiki.switchroot.org/en/Linux/Distributions
- GBAtemp - https://gbatemp.net/threads/l4t-ubuntu-a-fully-featured-linux-on-your-switch.537301/
- Discord - https://discord.gg/N9PPYXjWMY