Tutorial
Updated
Installing Moonlight-QT on L4T Ubuntu
GuideOptional
Before continuing forth, know that now you can use moonlight-qt on the latest Ubuntu L4T 3.0.0, you should DEFINITELY check it out, since it uses HARDWARE ACCELERATION meaning it's lightyears faster than embedded, that can't work with it now due to lack of support.
If you had followed this guide before, uninstall the old package by doing 'sudo apt remove moonlight'.
Here's how get moonlight-qt, also, definitely check the optional tab later, contains some quality of life that you should see:
- First you need to download and flash UL4T 3.0.0, and boot it, after that you're going to run the following commands to install Moonlight Qt to your UL4T:
Code:curl -1sLf 'https://dl.cloudsmith.io/public/moonlight-game-streaming/moonlight-l4t/setup.deb.sh' | sudo -E bash
- And finally install your moonlight:
Code:sudo apt install moonlight-qt
- You can then launch Moonlight from your desktop or via the moonlight-qt command in the terminal.
- To update Moonlight Qt after you've installed it, run:
Code:sudo apt update sudo apt upgrade
And have fun with hw accelerated moonlight-qt!! Updated the repo on the guide for the new official release.
You can also refer to the official wiki on how to install: https://github.com/moonlight-stream...ling-Moonlight-Qt-on-Linux4Tegra-(L4T)-Ubuntu
This one by FeranthurReturn can improve QoL by a lot, specially when away from dock and keyboard.
- You'll need to install xorg joystick:
Code:sudo apt install xserver-xorg-input-joystick
- Download the config file and move to usr/share/X11/xorg.conf.d
Code:wget https://cdn.discordapp.com/attachments/604648722491768883/684926248505704484/50-joystick.conf && sudo mv 50-joystick.conf /usr/share/X11/xorg.conf.d
- Reboot or log-out and log back in.
These are the default mappings, you can change them by editing 50-joystick.conf:
Buttons Mappings and key code A Right Mouse Button(button=3) B Left Mouse Button(button=1) L and R Volume up(key=123) and Volume down(key=122) ZL and ZR Brightness up(key=233) and Brightness down(key=232) Screenshot Enables/Disable mouse mode (when you want to play games) Home Esc(Key=9) Plus (+) Enter(key=36) Minus (-) Back(key=22)
If you want to edit, these are the joycon's button codes:
Button Button Codes B MapButton 5 A MapButton 6 X MapButton 7 Y MapButton 8 Screenshot MapButton 9 L MapButton 10 R MapButton 11 ZL MapButton 12 ZR MapButton 13 Minus (-) MapButton 14 Plus (+) MapButton 15 Home MapButton 16 LStick MapButton 17 RStick MapButton 18
After editing save and reboot/relog.This one is a nice indicator that will stay on your taskbar's tray, you can use it to change CPU frequency on the go, for moonlight 1.02GHz is perfectly fine.
- Just install it and reboot:
Code:sudo apt install indicator-cpufreq
- Change frequency by right clicking it's icon.
Any errors or tips? Point them.
Build this only if you have a specific goal in mind, end users AVOID, use moonlight-qt because this one doesn't have hwdecoding, won't be fast.
Now, this is how i made moonlight-embedded work with l4t, no magic, basic compiling and running.
Preparing.
Now for the actual cloning and compiling part (fun begins).
Restart and you should be ready (fun deepens).
That's it! Works somewhat well with my router: TP-Link C3200.
But now we have to config our Joy-Cons to work with moonlight, since it cant detect and map it accordingly.
Look up for the moonlight command to see the available variables for you to tweak your connection (bitrate, resolution, input device and etc.).
Any errors or things i should add, point them .
Now, this is how i made moonlight-embedded work with l4t, no magic, basic compiling and running.
Preparing.
- First do the good old update, before that you have to apply the 1.1 update available on the ubuntu lt4 thread!
Code:
sudo apt-get update
- Then install the dependencies, some of them will already be installed on Ubuntu L4T but run it either way (some aren't), if other distro pops out without them here's how you get them:
Code:
sudo apt-get install libopus0 libexpat1 libasound2 libudev1 libavahi-client3 libcurl3 libevdev2 libenet7 -y && sudo apt-get install libssl-dev libopus-dev libasound2-dev libudev-dev libavahi-client-dev libcurl4-openssl-dev libevdev-dev libexpat1-dev libpulse-dev uuid-dev libenet-dev cmake gcc g++ fakeroot debhelper libavcodec-dev libsdl2-dev -y
Now for the actual cloning and compiling part (fun begins).
- Clone the repository with this command:
Code:
git clone https://github.com/irtimmer/moonlight-embedded.git
- Then compile it following this:
Code:
cd moonlight-embedded
git submodule update --init
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig
Restart and you should be ready (fun deepens).
- Here a basic connection setup:
Code:
moonlight pair <pc local ip>
moonlight stream <pc local ip>
That's it! Works somewhat well with my router: TP-Link C3200.
But now we have to config our Joy-Cons to work with moonlight, since it cant detect and map it accordingly.
- Got ya covered, to do that you have to just:
Code:
sudo gedit /usr/local/share/moonlight/gamecontrollerdb.txt
- Scroll to the end and add this line if you want ninty's layout:
Code:
050000007e0500000620000001000000,Nintendo Switch Joy-Cons,a:b1,b:b0,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b2,y:b3,
- If you want M$'s layout (invert a and b, x and y):
Code:
050000007e0500000620000001000000,Nintendo Switch Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,
Look up for the moonlight command to see the available variables for you to tweak your connection (bitrate, resolution, input device and etc.).
Any errors or things i should add, point them .
Last edited by ZeroFX,