JoyCon may be paired through Linux blutooth settings or through hekate to allow for use in HOS, Linux, and Android without the need to repair.
JoyCon function via Bluetooth, railed on Switch, and connected via USB through the JoyCon charging grip. Multiple pairs can be connected and be registered by pressing L+R or ZL+ZR. Otherwise if SL+SR is used, it will pair them in sideways orientation.
Switch Pro Controller functions via Bluetooth and via USB. You may pair through the Linux/Android Bluetooth settings but the pairing will not match HOS. To dump the pairing info for use on HOS and Linux without the need to repair follow these instructions:
- Pair procon in L4T Ubuntu once in order to create the needed files
- Pair it again in HOS
- On your Switch running L4T Ubuntu, connect procon with USB and run
jc-dump-ltk
in the terminal to get the HOS LTK- Go to
/var/lib/bluetooth/{switch bluetooth mac address}/{procon mac address}/
in your switch and editinfo
file.
Under the section[LinkKey]
you will seeKey=
. Remove the contents after the = and paste the key you got fromjc-dump-ltk
in there. Remove spaces in the key.- Reboot Linux. Now procon will be able to auto connect in both HOS and Linux.
Both JoyCons and Switch Pro Controllers have their IMU (accelerometer/gyro) exposed as udev inputs in Linux and can be used in games/programs with support (Dolphin-Emulator is a good example)
Support for Official Nintendo Switch Dock as well as 3rd party Displayport/HDMI adapters/docks/hubs exists in Linux/Android. Official Dock requires power input from the official power adapter or better (15V 2.6A+ and 5V 1.5A+ PD profiles required from the charger). Many 3rd party adapters/docks/hubs can be used without supplemental power or with power from a USB-C PD Power adapter.
Official Original Nintendo Switch Dock is capable of resolutions up to 4k 30hz or 1440p 60hz. OLED dock supports up to 4k 60hz. Some 3rd party adapters can also achieve these resolutions. (note, any non-OLED Switch hardware is INCAPABLE of outputting 4k 60hz)
To specify a custom resolution for docked mode (useful for using 1920x1080 60hz on a 4K display): echo "1920x1080" | sudo tee /etc/dock-hotplug.conf
The syntax is basically WIDTHxHEIGHT {optional xrandr settings}
. For example 1920x1080 --rate 120
will select 1080p at 120hz.
OTG via USB-C is enabled and devices can pull up to 1.3A when unpowered.
Powered OTG adapters are not supported, it is advised to use a hub/dock (which usually contains HDMI/Displayport) if USB and powering is desired.
Automatic rotation is supported in DE that have it enabled. The built in accelerometer/gyro is NOT exposed in userspace as a udev input.
Instead, it is mapped as an iio device along with the ambient light sensor and fan tachometer.
/sys/bus/iio/devices/iio\:device0/ -> Accelerometer
/sys/bus/iio/devices/iio\:device1/ -> Rotation/IMU
Many users find it handy to map their JoyCons/Pro Controllers as a mouse/keyboard within Linux.
There are profiles pre-installed for Official Joy-Cons, Switch Pro Controller, GameCube Controller (Wii-U/Switch Gamecube adapter with ToadKing Driver), Dualshock 4 Controllers (wired only, for now), X-Box One Controller (Wireless Only).
The current JoyCon/ProCon mapping is
If you are used to other mappings, give the above a try for a full week.
It's based on the most common and intuitive gamepad mappings.
If you still can't get used to it, view the /usr/share/X11/xorg.conf.d/50-joystick.conf
file for instructions on editing/writing/customizing the configuration to your own needs.
RAM is automatically scaled and can reach max 1600 MHz.
Overclocking is supported by adding ram_oc=
key in the .ini. Read README_CONFIG.txt
for more, since the values must be precise.
Switch 2017 suggested max value is 1862400
KHz.
Switch 2019/Lite/OLED suggested max values are 1866000
and 2133000
, depending on ram chips.
An app called Reboot 2 Config
was added in 5.1.0 in the Switch tray icon.
It allows you to reboot into your existing hekate boot entries with 2-3 taps.
Widevine L3 is supported for Streaming Movie and TV series platforms.
Chromium Web Browser
.Chromium Streaming
one.Multiple custom cpu/gpu power profiles are included with the switchroot bionic 3.2.0 and future releases.
Nvidia documentation for nvpmodel GUI can be found at the link.
The nvpmodel config can be found here by default at
/etc/nvpmodel/nvpmodel_t210.conf
for Erista and
/etc/nvpmodel/nvpmodel_t210b01.conf
for Mariko devices.
More configs can be added by following the examples within.
Current L4T releases include these profiles by default:
Switch 2017 (v1):
Profile Name:
CPU/GPU: Min MHz - Max MHz
Console:
CPU: 0 - 1785
GPU: 0 - 768
Handheld:
CPU: 0 - 1428
GPU: 0 - 460
OC CPU:
CPU: 0 - 2091
GPU: 0 - 768
OC GPU:
CPU: 0 - 1785
GPU: 0 - 921
OC All:
CPU: 0 - 2091
GPU: 0 - 921
Perf All:
CPU: 1020 - 1785
GPU: 384 - 768
Perf OC All:
CPU: 1020 - 2091
GPU: 384 - 921
Switch 2019 (v2) / Lite / OLED:
Profile Name:
CPU/GPU: Minimum Frequency (MHz) - Max Frequency (MHz)
Console:
CPU: 0 - 1963
GPU: 0 - 844 (Lite: 768 or 844)
Handheld:
CPU: 0 - 1581
GPU: 0 - 537
OC CPU:
CPU: 0 - 2295 or 2397 (Lite: 1963 or 2091)
GPU: 0 - 844 (Lite: 768 or 844)
OC GPU:
CPU: 0 - 1963
GPU: 0 - up to 1228 (Lite: 768 or 844)
OC All:
CPU: 0 - 2295 or 2397 (Lite: 1963 or 2091)
GPU: 0 - up to 1228 (Lite: 768 or 844)
Perf All:
CPU: 1224 - 1963
GPU: 384 - 844 (Lite: 768 or 844)
Perf OC All:
CPU: 1224 - 2295 or 2397 (Lite: 1963 or 2091)
GPU: 384 - up to 1228 (Lite: 768 or 844)