Linux for Nintendo Switch
hekate 6.0.1 or newer is mandatory to boot
Kernel/Driver changes
Download image here:
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
Initramfs 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
Boot Stack 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.
- 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.
GitHub - CTCaer/switch-l4t-kernel-4.9
Contribute to CTCaer/switch-l4t-kernel-4.9 development by creating an account on GitHub.
github.com
Download image here:
index - powered by h5ai v0.30.0 (https://larsjung.de/h5ai/)
index - powered by h5ai v0.30.0 (https://larsjung.de/h5ai/)
download.switchroot.org