Tutorial  Updated

L4T Ubuntu Applcation Install guides.

So, instead of clogging up poor @bylaws L4T thread (sorry buddy!) with emulators apps, I figured it might be a good idea to try and make a separate thread for quick guides, and leave his one to troubleshooting actual L4T issues.

The intent for this thread is to leave behind quickshot guides for others to install applications we know works for Tegra Linux, so here's the one's I've managed so far, with the help of some folks in the L4T OS thread.

If others are going to add to this thread with their own little guides, try to keep each seperate command on it's own line, and if the command is too big for 1 line, seperate it as I have done in the Vulkan Dolphin guide. Little comments should go into square brackets and have the color changed to red. Try to keep it in a format that people can copy/paste each line as they're needed.

(It is advised to make a Swapfile, so please follow that guide first!)

sudo apt install nano
[You can change 1G to whatever size you want, I used 2G]
sudo fallocate -l 1G /swapfile
[If fallocate throws an error, you want to run the]
[next command, if it doesn't, skip it]

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo nano /etc/fstab
[You need to add this entry to the file you just opened]
[to make the change permanent:]

/swapfile swap swap defaults 0 0
[To verify that it installed correctly:]
sudo free -h
[Something like this should be the output:]

       [total        used         free       shared  buff/cache  available]
[Mem: 488M 158M 83M 2.3M 246M 217M]
[Swap: 1.0G 506M 517M]

echo performance | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

sudo add-apt-repository ppa:dolphin-emu/ppa
sudo apt-get update
git clone https://github.com/Tinob/Ishiiruka.git
cd Ishiiruka
mkdir build
cd build

[This next line is all in one, so copy/paste]
sudo apt install git cmake ffmpeg libavcodec-dev libevdev-dev libusb-1.0-0-dev libavformat-dev libswscale-dev libsfml-dev libminiupnpc-dev libmbedtls-dev curl libhidapi-dev libwxbase3.0-dev libwxgtk3.0-dev libpangocairo-1.0-0 libgtk2.0-dev libbluetooth-dev qt5-default qtbase5-private-dev libudev-dev libxi-dev

cmake ..
make -j4
sudo make install

[Once installed, execute with]
ishiiruka
[Then lock it to the sidebar for easy access]

sudo add-apt-repository ppa:libretro/testing
sudo apt-get install retroarch* libretro*
sudo apt-get update && sudo apt-get upgrade
[Easy enough to install]

sudo apt-get install xserver-xorg-input-joystick

[To use your joycons as a mouse, press the sync buttons on the rail of each joycon, then use the bluetooth app to connect to them both. Once both are connected, hold them like you normally do, and press L+R (L1, R1 in Playstation terms), and that should be it!]
[Another easy install, to change sensitivity, go to system settings, mouse, and make your changes]

sudo apt-get install kodi
[After installing Kodi, you will need to logout. Do not shut down or reboot, but if you did, follow the same instructions.]
[Log out, and you'll be at the login menu. Click the account, and it'll ask you for your password.]
[Underneath the password box, is a cog. Click the cog, and click Unity.]
[From now on, Kodi will not automatically start upon booting up linux.]
[Yet another easy one, but this is a very powerful media box program]

[Original Post https://gbatemp.net/threads/tutoria...ling-moonlight-embedded-on-l4t-ubuntu.537429/ ]
sudo apt-get update
[Next line is all 1 command]
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

git clone https://github.com/irtimmer/moonlight-embedded.git
cd moonlight-embedded
git submodule update --init
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig

[Now reboot your switch]
moonlight pair <pc local ip>
moonlight stream <pc local ip>

[Where pc local ip, you must put in your pc's ip address. To find that, on windows, open Win+r, in the dialog box, put in cmd.exe. In the new window, type in ipconfg, then look for your systems ip address. if you computer is wired to your network, it'll fall under "Ethernet adapter Ethernet".
If it is Wireless, then it'll fall under "Wireless LAN adapter WiFi"
Either way, you'll want the IPv4 Address.]
[In linux, just open terminal, the command "ifconfig" and look for IPv4]


[To configure your joycons to work with Moonlight]
sudo gedit /usr/local/share/moonlight/gamecontroller.txt

[Scroll to the bottom and copy/paste one of these style codes into the file]
[For Nintendo Style:]
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,

[For Microsoft Style:] 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,

[Then,press CTRL + X. Then press Y. Then close terminal and reboot your switch.]
 
Last edited by ,

WuskyDingo

Active Member
Newcomer
Joined
Jun 2, 2018
Messages
26
Trophies
0
Location
San Diego, CA
Website
www.youtube.com
XP
122
Country
United States
Anyone knows if we can run gzdoom on L4T?
Compiled it from source and it works!

Code:
dingo@dingo-nintendo-switch:~/Downloads/gzdoom-g4.1.1/build$ ./gzdoom
GZDoom <unknown version> -  - SDL version
Compiled on May  8 2019

M_LoadDefaults: Load system defaults.
W_Init: Init WADfiles.
 adding /home/dingo/Downloads/gzdoom-g4.1.1/build/gzdoom.pk3, 621 lumps
 adding /home/dingo/Downloads/gzdoom-g4.1.1/build/zd_extra.pk3, 1520 lumps
 adding /home/dingo/.config/gzdoom/doom.wad, 1264 lumps
I_Init: Setting up machine state.
I_InitSound: Initializing OpenAL
  Opened device Built-in Audio Digital Stereo (HDMI)
  EFX enabled
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
script parsing took 886.21 ms
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
Using video driver x11
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: NVIDIA Tegra X1 (nvgpu)/integrated
GL_VERSION: 4.6.0 NVIDIA 32.1.0 (Core profile)
GL_SHADING_LANGUAGE_VERSION: 4.60 NVIDIA

Max. texture size: 16384
Max. texture units: 32
Max. varying: 124
Max. combined shader storage blocks: 96
Max. vertex shader storage blocks: 16
Resolution: 1920 x 1080
 
  • Like
Reactions: wicksand420

nabelo

Active Member
Newcomer
Joined
Mar 14, 2009
Messages
28
Trophies
1
XP
449
Country
Germany
Compiled it from source and it works!

Code:
dingo@dingo-nintendo-switch:~/Downloads/gzdoom-g4.1.1/build$ ./gzdoom
GZDoom <unknown version> -  - SDL version
Compiled on May  8 2019

M_LoadDefaults: Load system defaults.
W_Init: Init WADfiles.
 adding /home/dingo/Downloads/gzdoom-g4.1.1/build/gzdoom.pk3, 621 lumps
 adding /home/dingo/Downloads/gzdoom-g4.1.1/build/zd_extra.pk3, 1520 lumps
 adding /home/dingo/.config/gzdoom/doom.wad, 1264 lumps
I_Init: Setting up machine state.
I_InitSound: Initializing OpenAL
  Opened device Built-in Audio Digital Stereo (HDMI)
  EFX enabled
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
script parsing took 886.21 ms
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
Using video driver x11
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: NVIDIA Tegra X1 (nvgpu)/integrated
GL_VERSION: 4.6.0 NVIDIA 32.1.0 (Core profile)
GL_SHADING_LANGUAGE_VERSION: 4.60 NVIDIA

Max. texture size: 16384
Max. texture units: 32
Max. varying: 124
Max. combined shader storage blocks: 96
Max. vertex shader storage blocks: 16
Resolution: 1920 x 1080

May i ask if you have instructions for compilation? That would be really nice...
 
Last edited by nabelo,

AveSatanas

Well-Known Member
Member
Joined
Aug 7, 2018
Messages
153
Trophies
0
XP
950
Country
Chad
why not replace

Code:
sudo nano /etc/fstab
[You need to add this entry to the file you just opened]
[to make the change permanent:]
/swapfile swap swap defaults 0 0

with

Code:
echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab

it's a one liner, and you can drop the nano installation too.

3qw17tqq.png
 
Last edited by AveSatanas,

mhamd

Active Member
Newcomer
Joined
Nov 27, 2017
Messages
28
Trophies
0
Age
36
XP
170
Country
Italy
I installed qemu & virt manager

I have issue with creat virtual network , it show a message (could not start virtual network default , unable to creat bridge virbr0: package not installed)

I tried to enter a command to start default network but not success

Who installed qemu how you did it?
 

crabycowman123

Member
Newcomer
Joined
Nov 14, 2018
Messages
20
Trophies
0
Age
22
XP
501
Country
United States
What's the best way to transfer files from a Windows x64 computer to the L4T Linux Switch. I've just been uploading files to Microsoft OneDrive from my Windows computer and then downloading them to my Switch, but my upload speed is only supposed to be 10 mbits/second, and its usually less than that, so this process is really slow. Is there a way to send files over bluetooth or through a direct wifi connection or something?
 

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,567
Trophies
2
Location
United States
Website
sites.google.com
XP
3,879
Country
United States
What's the best way to transfer files from a Windows x64 computer to the L4T Linux Switch. I've just been uploading files to Microsoft OneDrive from my Windows computer and then downloading them to my Switch, but my upload speed is only supposed to be 10 mbits/second, and its usually less than that, so this process is really slow. Is there a way to send files over bluetooth or through a direct wifi connection or something?
Use USB mass storage device or ethernet
 

BruhBoy

Well-Known Member
Newcomer
Joined
May 3, 2019
Messages
46
Trophies
0
Age
54
XP
103
Country
United States
Well guys, I just spent 4 hours optimizing gamecube games as best as I could and I found out something rather interesting. Here are my first results on games running wonderfully at 100% game speed:

Double dash, melee, monkey ball 2 - strong 55-60 fps.

Twilight- 30 fps.

I then tested Mario power tennis which averaged around 30 which spikes up to 40. This game was completely unplayable at 100% speed. HOWEVER, at 200% game speed it worked wonderfully still at 30 fps.

Metroid- 40 fps averaged. Playable at 100% May be a better experience at a higher game speed.

Chibi robo- unplayable at 100% gamespeed (21 fps)
Playable at 200% game speed.

Sunshine- completely unplayable at 100% and 200% (may be playable at 400% but dolphin caps at 200%)

Mario party 7- 45fps in minigames, playable at 100% (may be a better experience at 150%)

Super Mario strikers kinda bad at 100% lots of stutters, 45fps. Very playable at 150% game speed)

Notice a pattern? Well it seems that if a game is not running at 60 fps when it is not capped at 30 fps you can follow this equation to figure out the optimal game speed to make the game playable

(60fps/Current games FPS= G. Then G × 100 = optimal game speed EX: 60fps/30fps = 2. Then 2 × 100 = 200% game speed. If you need to round, you should probably round UP)

Again what I just revealed above is what I found to play MUCH better. I am curious to see if you guys also find that increasing game speed makes the game better)

I messed around with settings at this point for 10+ hours and I believe these are the most optimal for the AVERAGE game (not all games). All games tested above used the settings below:

I did not optimize audio however the audio I was using sounded fine to me but note I focused on video more than sound

Whoever wanted me to optimize arcadea, I will do that tomorrow along with tons of Wii games..
Stay tuned

--------------------- MERGED ---------------------------

Everything was optimized at 2 GHz.
 

Techjunky90

Well-Known Member
Member
Joined
Apr 7, 2017
Messages
487
Trophies
0
Age
33
XP
882
Country
United States
Well guys, I just spent 4 hours optimizing gamecube games as best as I could and I found out something rather interesting. Here are my first results on games running wonderfully at 100% game speed:

Double dash, melee, monkey ball 2 - strong 55-60 fps.

Twilight- 30 fps.

I then tested Mario power tennis which averaged around 30 which spikes up to 40. This game was completely unplayable at 100% speed. HOWEVER, at 200% game speed it worked wonderfully still at 30 fps.

Metroid- 40 fps averaged. Playable at 100% May be a better experience at a higher game speed.

Chibi robo- unplayable at 100% gamespeed (21 fps)
Playable at 200% game speed.

Sunshine- completely unplayable at 100% and 200% (may be playable at 400% but dolphin caps at 200%)

Mario party 7- 45fps in minigames, playable at 100% (may be a better experience at 150%)

Super Mario strikers kinda bad at 100% lots of stutters, 45fps. Very playable at 150% game speed)

Notice a pattern? Well it seems that if a game is not running at 60 fps when it is not capped at 30 fps you can follow this equation to figure out the optimal game speed to make the game playable

(60fps/Current games FPS= G. Then G × 100 = optimal game speed EX: 60fps/30fps = 2. Then 2 × 100 = 200% game speed. If you need to round, you should probably round UP)

Again what I just revealed above is what I found to play MUCH better. I am curious to see if you guys also find that increasing game speed makes the game better)

I messed around with settings at this point for 10+ hours and I believe these are the most optimal for the AVERAGE game (not all games). All games tested above used the settings below:

I did not optimize audio however the audio I was using sounded fine to me but note I focused on video more than sound

Whoever wanted me to optimize arcadea, I will do that tomorrow along with tons of Wii games..
Stay tuned

--------------------- MERGED ---------------------------

Everything was optimized at 2 GHz.
You can get a higher frame rate on Metroid Prime if you overclock to 2ghz & set emulated cpu clock speed to about 60%. I've gotten 30-50+ fps that way
 

BruhBoy

Well-Known Member
Newcomer
Joined
May 3, 2019
Messages
46
Trophies
0
Age
54
XP
103
Country
United States
You can get a higher frame rate on Metroid Prime if you overclock to 2ghz & set emulated cpu clock speed to about 60%. I've gotten 30-50+ fps that way
I found that emulated clock rate effects games too insignificantly. Regardless of those extra frames, if you do the calculation and pick the appropriate game speed: Metroid will run at full speed.

--------------------- MERGED ---------------------------

All tests above had emulated CPU disabled (unchecked)
 

BruhBoy

Well-Known Member
Newcomer
Joined
May 3, 2019
Messages
46
Trophies
0
Age
54
XP
103
Country
United States
I never mentioned why increasing game speed works and what are the cons of it so here's some clarification.

We shall use Mario power tennis as an example. In the menus it runs 60fps. During a match: 30fps. So in the match you are playing at half the speed as normal which is a terrible experience. When you increase the game speed, in this case to 200%, the games fps cap is now 120fps. This means in some games the menu will load faster, cut scenes will go faster, etc.. If you get into a match on power tennis the fps will still be 30fps, however, now it is playing power tennis at full speed at 30 fps. This is not ideal for some games, but power tennis can run now at full speed.

I used 'unplayable' and 'playable' quite a bit and I need to clarify what I meant. Metroid runs an average of 40 with some people getting upwards of 50. This is fine to play, however, it is still not running at full speed thus 'playable'. Mario sunshine averages 8-24 fps. It is completely unplayable in terms of immense stuttering and slowness, however, it still runs.
 

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,398
Trophies
1
Location
Hell
XP
4,209
Country
United States
I never mentioned why increasing game speed works and what are the cons of it so here's some clarification.

We shall use Mario power tennis as an example. In the menus it runs 60fps. During a match: 30fps. So in the match you are playing at half the speed as normal which is a terrible experience. When you increase the game speed, in this case to 200%, the games fps cap is now 120fps. This means in some games the menu will load faster, cut scenes will go faster, etc.. If you get into a match on power tennis the fps will still be 30fps, however, now it is playing power tennis at full speed at 30 fps. This is not ideal for some games, but power tennis can run now at full speed.

I used 'unplayable' and 'playable' quite a bit and I need to clarify what I meant. Metroid runs an average of 40 with some people getting upwards of 50. This is fine to play, however, it is still not running at full speed thus 'playable'. Mario sunshine averages 8-24 fps. It is completely unplayable in terms of immense stuttering and slowness, however, it still runs.
Mario Sunshine is 25-30fps for me (and generally sticks to 28-30) :thonk:
 

SMVB64

Now your playing with power! Super power!
Member
Joined
Feb 13, 2013
Messages
230
Trophies
1
XP
1,054
Country
Canada
this pretty damn good - got kodi working with my addons - its better then watching it on my smaller phone - 720p looks nice on the switch screen

Did anyone get wine working, I saw it mentioned - Its a shame steam wont work - pretty sure it could run stuff like TF2 with out breaking a sweat
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    But sadly that's coming to an end
  • Xdqwerty @ Xdqwerty:
    @Psionic Roshambo, atleast I think the latest version's apk is archived somewhere
    +1
  • K3Nv2 @ K3Nv2:
    Yeah it works great but it's the obvious Ds factor you loose from it it's not like playing atari games on atari because Nintendo actually use to give a reason to buy their hardware
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Honestly Ken I actually have the hardware and it's hacked and works fine, prefer my phone lol
  • Psionic Roshambo @ Psionic Roshambo:
    Microphone is more sensitive, DraStic has a high res mode, screen is way better just overall a better experience
  • K3Nv2 @ K3Nv2:
    I just like game consoles how they were intended to play if they have a unique enough reason to buy them anything else yeah just download emulation for it
  • Psionic Roshambo @ Psionic Roshambo:
    Oh and touch screen infinity better lol
  • HiradeGirl @ HiradeGirl:
    @Xdqwerty It's still on Play Store.
  • HiradeGirl @ HiradeGirl:
    for free
  • HiradeGirl @ HiradeGirl:
    Install before they remove it.
  • K3Nv2 @ K3Nv2:
    I'd like to see a DS emulator that allows casting top screen to TV then use bottom for the touch screen stuff
    +1
  • HiradeGirl @ HiradeGirl:
    I used a vertical touch 22" monitor for playing some 3DS games through Citra.
  • K3Nv2 @ K3Nv2:
    Can't be that far off from it not like ds requires super hardware
  • HiradeGirl @ HiradeGirl:
    @K3Nv2 I did that using Citra for 3DS games. Bottom screen was my smartphone. Until I got the touch screen.
  • SwordShielder @ SwordShielder:
    Use a TV
  • K3Nv2 @ K3Nv2:
    Citra allows it already?
  • HiradeGirl @ HiradeGirl:
    Yes.
  • Psionic Roshambo @ Psionic Roshambo:
    Ken I have that sort of set up on Drastic on Pi for games that don't require touch
  • Psionic Roshambo @ Psionic Roshambo:
    Looks nice too
  • HiradeGirl @ HiradeGirl:
    Any TV with your PC connected with Citra and any smartphone to use as a screen using a free play store app.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Gonna look into that when I get home
  • K3Nv2 @ K3Nv2:
    Any good 3ds smut titles psi? :creep:
  • Psionic Roshambo @ Psionic Roshambo:
    Lol I think there was some home brew
  • K3Nv2 @ K3Nv2:
    Tap to get bigger!
    K3Nv2 @ K3Nv2: Tap to get bigger!