What's new

Switch L4T Ubuntu 5.0.0 released!

Linux for Nintendo Switch

hekate 6.0.1 or newer is mandatory to boot

Kernel/Driver changes


  • 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
  • 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)
  • 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.

Download image here:

 

Top