Listing posts

Displaying posts 1 - 5 of 252 in total
Setup RetroPie gaming station attachment
mouse 2854 · person cloud · link
Last update
2021-01-23
2021
01-23
«raspi»

Setting up RetroPie

  • Check your locale settings with the locale command:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pi$ locale | sort
LANG=en_GB.UTF-8
LANGUAGE=
LC_ADDRESS="en_GB.UTF-8"
LC_ALL=
LC_COLLATE="en_GB.UTF-8"
LC_CTYPE="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"

and set missing values in /etc/environment:

1
2
LANGUAGE="en_GB:en"
LC_ALL="en_GB.UTF-8"
  • Login as pi, clone the setup script and run it:
1
2
3
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git ~/RetroPie-Setup
cd ~/RetroPie-Setup
sudo ./retropie_setup.sh

do a Basic Install and disable the splashscreen in Configuration to avoid a suddend switch to VT1 after the graphical login (see reddit Q/A and retropie faq).

  • Disable screenblanker by appending consoleblank=0 to kernel parameters in /boot/cmdline.txt.

  • Set memory split for the video card to at least 128MB via raspi-config.

  • Create a shortcut to launch EmulationStation from the Pixel desktop (or use the alacarte menu editor):

1
2
3
4
5
6
7
8
9
# ~/.local/share/applications/retropie.desktop
[Desktop Entry]
Type=Application
Name=RetroPie
Comment=Retro video game emulators
Exec=/home/pi/bin/start-retropie
Icon=/path/to/retropie.png
Terminal=false
Categories=Application;Game;

create the /home/pi/bin/start-retropie:

1
2
3
4
5
6
7
8
#!/bin/sh
# release the video card and switch to the 1st foreground virtual terminal
sudo /path/to/ttyecho -n /dev/tty1 \
  "sudo systemctl stop lightdm ; " \
  "sleep 1 ; " \
  "chvt 1 ; " \
  "emulationstation --debug > /run/shm/ra.log 2>&1 ; " \
  "sudo systemctl start lightdm"

then compile and install the ttyecho program (see attachment).

Note: Make sure you have enabled console autologin on VT1 via raspi-config.

  • Optionally you can configure runcommand to show a game splashscreen by enabling Launch Menu Art in its configuration, and even set a system default image by installing the experimental package launchingimages.

  • Show scanlines:

    • Configuration > Retroarch > Enable shaders and overlays
    • Configuration > Configedit > Configure basic libretro emulator options > Configure default options for all libretro emulators > Video shader enable and Video shader file > crt-pi.glslp
  • When configuring controller you can skip buttons you don't have by simply long press a button.

  • Setup video mode:

Set your tv/monitor format by setting sdtv_mode=2 (PAL) in /boot/config.txt.

Set the low resolution VGA mode CEA-1 by putting in /opt/retropie/configs/all/videomodes.cfg:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
mame4all = "CEA-1"
mupen64plus = "CEA-1"
pifba = "CEA-1"
lr-beetle-ngp = "CEA-1"
lr-beetle-pce-fast = "CEA-1"
lr-beetle-supergrafx = "CEA-1"
lr-caprice32 = "CEA-1"
lr-fbalpha = "CEA-1"
lr-fceumm = "CEA-1"
lr-fuse = "CEA-1"
lr-gambatte = "CEA-1"
lr-genesis-plus-gx = "CEA-1"
lr-gpsp = "CEA-1"
lr-handy = "CEA-1"
lr-mame2000 = "CEA-1"
lr-mame2003 = "CEA-1"
lr-mgba = "CEA-1"
lr-mupen64plus = "CEA-1"
lr-nestopia = "CEA-1"
lr-pcsx-rearmed = "CEA-1"
lr-picodrive = "CEA-1"
lr-prosystem = "CEA-1"
lr-quicknes = "CEA-1"
lr-snes9x2002 = "CEA-1"
lr-snes9x2005 = "CEA-1"
lr-snes9x2010 = "CEA-1"
lr-stella = "CEA-1"
lr-vba-next = "CEA-1"
lr-vecx = "CEA-1"

in this manner your TV will do the upscaling work and the emulators will run faster.

Upgrading RetroPie version

1
2
3
cd ~/RetroPie-Setup
git pull
sudo ./retropie_setup.sh # and choose "Update" from the menu

Note: When the upgrade is finished make sure the splashscreen is disabled.

Scraping game images

  • Install Skyscraper in the experimental packages
  • Customize game aliases in ~/.skyscraper/aliasMap.csv
  • Import your custom JPG/PNG images by placing them in ~/.skyscraper/import/<covers|screenshots|wheels> with the same name as your roms

PlayStation tips (lr-pcsx-rearmed)

  • Use this script to rip your own original PSX cd-rom discs:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env ruby
require 'shellwords'

dev   = '/dev/dvd'
title = ARGV[0].strip
vol   = `volname #{dev}`.strip
vol   = 'NO-LABEL' if vol.size == 0
puts "#{vol} - #{title}\n\n"

system "cdrdao read-cd --read-raw --read-subchan rw_raw --datafile #{title.shellescape}.bin --device #{dev} --driver generic-mmc-raw #{title.shellescape}.toc" # 2>&1 | tee #{title.shellescape}.log

system "eject #{dev}" if $?.to_i == 0

# add comment
lines = File.read("#{title}.toc").split("\n")
lines.insert(2, "// #{vol} - #{title}")
File.open("#{title}.toc",'w'){|f| f.puts lines }

# update m3u
if title =~ /^(.+) \(CD(.)\)$/
  File.open("#{$1}.m3u", 'a'){|f| f.puts "#{title}.toc"}
end

#toc2cue $vol.toc $vol.cue # optional

if using a different program that creates multiple bin files then you can merge them via binmerge

  • File extensions: bin/img + toc/cue + sbi (image, descr, subchannel)

  • Multidisc howto:

1
2
3
4
5
6
7
8
9
10
# files in Retropie/roms/psx folder:
.multidisc/Title (CD1).bin
.multidisc/Title (CD1).toc
.multidisc/Title (CD2).bin
.multidisc/Title (CD2).toc
Title.m3u

# Title.m3u file contents:
.multidisc/Title (CD1).toc
.multidisc/Title (CD2).toc

Setup an arcade controller via xboxdrv

Install xboxdrv from retropie_setup.sh, customize and run the command without --silent --daemon --detach options and test the new virtual controller with jstest /dev/input/js0, then put it in /etc/rc.local:

1
2
3
4
5
6
/opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
  --detach-kernel-driver \
  --silent --daemon --detach --pid-file /run/xboxdrv.pid \
  --device-by-id 045e:028e --type xbox360 \
  --trigger-as-button --dpad-only \
  --device-name "DragonSlay Arcade DGSAK17"

and create a new dbus rule in /etc/dbus-1/system.d/org.seul.Xboxdrv.conf:

1
2
3
4
5
6
7
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <policy context="default">
    <allow own="org.seul.Xboxdrv"/>
  </policy>
</busconfig>

See also:

Raspberry Pi4 tips


Source: RetroPie HP, wired, Pixel & RetroPie, RP icon, TTYecho, change linux vt/tty

Retropie docs: Wiki, Manual install, RA hotkeys, Controller setup, Supported systems, Arcade HP & MAME info

PlayStation 1: convert ISO to PBP format on windows and linux -- see gtk-popstation and psx2psp/popstation by Ivan Vega

MAME resources: Snapshots, DAT/XML files, game lists by genre, ES gamelist.xml script

Game systems DAT/XML files: HyperList


TODO/WIP:


~~~ * ~~~

RaspberryPi server
Last update
2021-01-23
2021
01-23
«raspi, raspbian, nas, webdav, dlna, media center, torrent, rdp/vnc, print/scan, firewall, dns, monitoring, vpn, zram, android»

Table of contents:

  1. Update raspbian linux to latest version
  2. Change password, hostname, full xdm greeter
  3. Configure a static IP address
  4. Tune kernel settings
  5. Tune video settings
  6. Tune audio settings
  7. Tune wifi settings
  8. Remove tv black borders
  9. Fix slow usb mouse
  10. Reduce power consumption
  11. Overclock
  12. Extend lifespan of mechanical HDD
  13. Extend lifespan of sdcard
  14. Extend your RAM by enabling ZRAM
  15. Setup a NAS (via NFS)
  16. Setup a remote desktop (via VNC)
  17. Setup a shared printer
  18. Setup the firewall
  19. SSH access and tunnels
  20. Dedicated posts:
  21. Tools
  22. Backup
  23. Miscellanea

Update raspbian linux to latest version:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get clean
apt-get autoremove
rpi-update # update firmware & kernel

apt-get purge bash-completion     # speed up shell TAB-auto completion

# --- os version update, eg: from jessie (deb8) to stretch (deb9)
sed -i 's/jessie/stretch/g' /etc/apt/sources.list
sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/raspi.list
# repeat the commands above, then check the current version:
cat /etc/os-release

Debian 10 upgrade: see rpi blog post notes and comments.




Change password, hostname, full xdm greeter:

1
2
3
4
sudo raspi-config # Change User Password; Hostname

# choose lightdm-gtk-greeter
sudo update-alternatives --config lightdm-greeter




Configure a static IP address (see also this and fallback method):

append the desired following blocks to /etc/dhcpcd.conf:

1
2
3
4
5
6
7
8
9
10
11
12
13
interface eth0
fallback mylan

SSID my_wifi_ssid
fallback mylan

interface wlan0
fallback mylan

profile mylan
static ip_address=192.168.1.110/24
static routers=192.168.1.1
static domain_name_servers=84.200.69.80 37.235.1.174 84.200.70.40 37.235.1.177

Note: Do not use the directive inform 192.168.1.110 because it breaks the UPS monitor.

Optional do not wait for network at boot: run raspi-config and select Boot > Wait for Network at Boot > No.




Tune kernel settings

  • Disable IPv6: append ipv6.disable=1 to kernel parameters in /boot/cmdline.txt or:
1
2
3
4
# via sysctl:
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.d/local.conf
# via modprobe:
echo "blacklist ipv6" >> /etc/modprobe.d/local.conf
  • Set autoreboot on kernel panic: append panic=5 to kernel parameters in /boot/cmdline.txt or via sysctl:
1
echo "kernel.panic = 5" >> /etc/sysctl.d/local.conf
  • better/visible boot messages: append consoleblank=0 plymouth.enable=0 to kernel parameters in /boot/cmdline.txt

  • Remove tv black borders: set disable_overscan=1 in the /boot/config.txt.

  • Fix slow usb mouse: append usbhid.mousepoll=0 to kernel parameters in /boot/cmdline.txt.




Tune video settings

Run raspi-config and in the Advanced Options section, if using a raspberry pi 4 then enable both the GL driver and the Compositor otherwise turn them off.

  • Note: to ensure the loading of Pi4's VC4/GL driver make sure to uninstall Xorg frame buffer drivers:

    1
    2
    apt install xserver-xorg-video-vesa
    apt purge xserver-xorg-video-fbdev xserver-xorg-video-fbturbo
    
  • Fix HDMI no signal

1
2
3
# /boot/config.txt
hdmi_force_hotplug=1
config_hdmi_boost=6
  • Fix Pi4's DRM mem error:

    1
    DRM_IOCTL_MODE_CREATE_DUMB failed: Cannot allocate memory
    

    If you see the above error then use these /boot/config.txt settings:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # force HD, and prevent 4K memory drain (optional)
    hdmi_group=1
    hdmi_mode=16
    [hdmi:0]
    hdmi_max_pixel_freq=200000000
    [hdmi:1]
    hdmi_max_pixel_freq=200000000
    
    [pi4]
    # Enable DRM VC4 V3D driver on top of the dispmanx display stack (default driver)
    dtoverlay=vc4-fkms-v3d
    # number of active displays 1-2
    max_framebuffers=1
    # disable any memory split
    #gpu_mem=256
    

    and append cma=384M to /boot/cmdline.txt.




Tune audio settings

1
2
# add tsched=0 in /etc/pulse/default.pa on this line:
load-module module-udev-detect tsched=0
1
2
3
4
cd /usr/share/pulseaudio/alsa-mixer/paths
tar -czvf ../paths.tgz .  # backup
perl -pi -0 -e 's/(\[[A-Za-z ]*(Mic Boost|Capture)\][A-Za-z._=\s-]+volume *= *)merge/\1zero/g;' *mic*.conf
shutdown -r 0




Tune wifi settings

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# disable roaming
echo "options brcmfmac roamoff=1" >> /etc/modprobe.d/local.conf

# set correct regional domain
sed -i 's/REGDOMAIN=.*/REGDOMAIN=IT/' /etc/default/crda

# auto turn off power management
cd /etc/network/if-up.d/
echo -e '#!/bin/bash\n/sbin/iw dev wlan0 set power_save off' > local-wlan
chmod 755 local-wlan
# find an optimal MTU size via:
#   ping -c 2 -M do -s 1600 www.google.com
# then save it with:
echo "/sbin/ip link set dev wlan0 mtu 1400" >> local-wlan

Turn off bluetooth if unused, see this section.




Reduce power consumption:

put in /etc/rc.local:

1
2
3
4
5
6
7
8
9
10
11
# turn off leds multiple times
(for i in 1 2 3 4 5; do
  for i in /sys/class/leds/led?; do
    echo none > $i/trigger
    echo 0    > $i/brightness
  done
  sleep 60
done) &

# disable HDMI output (and set boot to console via raspi-config)
/usr/bin/tvservice -o # -p to re-enable

set boot to console and reduce memory split:

1
2
raspi-config # Boot Options > Desktop / CLI > Console
raspi-config # Advanced Options > Memory Split > 16

turn off unsued wlan/bluetooth (see /boot/overlays/README), put in /boot/config.txt:

1
2
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt

and turn off the bluetooth services:

1
2
systemctl disable hciuart
systemctl disable bluetooth




Overclock RPI4:

Add these lines in /boot/config.txt:

1
2
3
4
arm_freq=2048
v3d_freq=750
over_voltage=6
hdmi_enable_4kp60=1

optionally set performance cpu governor:

1
2
# /etc/rc.local
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor




Extend lifespan of mechanical HDD:

put in /etc/hdparm.conf:

1
2
3
4
5
6
7
/dev/sda {
  write_cache = on
  # -B -- disable Advanced Power Management
  apm = 254
  # -S -- 1h timeout
  spindown_time = 242
}




Extend lifespan of sdcard:

install my tmpfs-folders script and add a custom periodic cleaning of /var/log files in root crontab:

1
2
#  m   h   dom   mon   dow   command
   0   0     *     *     3   /opt/systemd-units/clear_var_log.sh > /dev/null 2> /dev/null




Extend your RAM by enabling ZRAM (compressed RAM):

put in /etc/rc.local:

1
2
3
4
5
6
7
8
9
10
if modprobe zram num_devices=1 ; then
  echo lz4  > /sys/block/zram0/comp_algorithm
  echo 384M > /sys/block/zram0/mem_limit
  echo 768M > /sys/block/zram0/disksize

  mkswap /dev/zram0
  swapon -p 10 /dev/zram0

  sysctl vm.swappiness=90
fi

and optionally disable dphys-swapfile swapfile service:

1
systemctl disable dphys-swapfile




Setup a NAS (via NFS):

Server side commands:

1
2
3
4
5
6
7
8
9
apt-get install nfs-kernel-server

systemctl enable rpcbind # it's disabled by default...
systemctl restart nfs-kernel-server

# add a share to /etc/exports
echo "/path 192.168.1.0/24(rw,sync,no_subtree_check,all_squash,anonuid=1001,anongid=1001)" >> /etc/exports

exportfs -ra # reload server

and append these lines to /ect/rc.local:

1
2
3
# fix: nfs server doesn't start without rpcbind
systemctl start   rpcbind
systemctl restart nfs-kernel-server

Client side commands:

1
2
echo "192.168.1.110:/path /mnt/path nfs defaults,user,exec 0 0" >> /etc/fstab
mount /mnt/path




Setup a remote desktop (via VNC):

You have three options:

  1. Install the modern TigerVNC server, see the dedicated post
  2. Use the lightdm TigerVNC service by enabling it in /etc/lightdm/lightdm.conf
  3. Install the old TightVNC:

    1
    2
    3
    4
    5
    apt-get install tightvncserver
    # set a password and run a LQ server on display 1:
    vncpasswd
    vncserver -geometry 1024x768 -depth 8 :1
    vncviewer server_ip:1 # connect from another host
    




Setup a shared printer:

1
2
3
4
5
6
7
apt-get install cups
apt-get install hplip # HP printers drivers
hp-setup -i # install printer + dl drivers

elinks http://localhost:631
# Administration > Printers > Add printer
# Server settings > Share printers connected to this system

then turn the printer off and on again.

On Android you can install these apps: Let's print Droid, and Let's Print PDF.




Setup the firewall:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
apt-get install ufw

ufw reset # reset to defaults

ufw default deny  incoming
ufw default allow outgoing

ufw allow from 192.168.1.0/24 # your intranet
ufw allow from x.x.x.x        # a trusted IP
ufw limit 22/tcp              # max 6 new connections every 30 seconds
ufw limit 2200:2230/udp       # mosh port range
ufw allow 1810:1820/tcp       # bittorent - data
ufw allow 1810:1820/udp
ufw allow 6881:6891/tcp       # bittorent - tracker
ufw allow 6881:6891/udp
ufw allow 6771/udp            # bittorent - local peer discovery

ufw enable




SSH access and tunnels:

Here is an example for creating some simple forward tunnels while connecting to a remote server:

1
2
3
4
5
6
7
# deluge thin client & web ui, vnc, nginx
ssh \
  -L 58846:localhost:58846 \
  -L 8112:localhost:8112   \
  -L 5901:localhost:5901   \
  -L 1234:localhost:1234   \
  user@server_addr

There are some great SSH clients as PuTTY for windows/linux and juiceSSH on Android.

Use mosh (even with juiceSSH!) to reliably connect from unstable or high latency networks:

1
2
apt-get install mosh               # run this both on client and server
mosh -p 2200:2230 user@server_addr # connect to opened UDP ports on server

Read the dedicated post for an advanced tunnel usage.

Read the dedicated post to setup a SOCKS proxy with SSH.

Note: if sshd is slow to start at boot (systemd-analyze blame) then install haveged to have more entropy.




Dedicated posts:




Tools:

1
2
3
apt-get install rpi-chromium-mods # video acceleration on google chrome
apt-get install remmina           # very handy VNC/SSH GUI
apt-get install omxplayer         # accelerated cli media player
  • Fast/light web browsers:

    • kweb - raspberry pi's custom webkit build with omxplayer support
    • vivaldi - opera like browser
    • midori
  • OMXplayer GUIs:

    1
    2
    3
    4
    5
    sudo apt install libdbus-1-dev libglib2.0-dev
    pip install omxplayer-wrapper
    wget -O ~/bin/gomx https://github.com/vladcc/gomx/raw/master/gomx/gomx.py
    chmod 755 ~/bin/gomx
    sed -i 's/^PL_WIN_PAD = .*/PL_WIN_PAD = 0/' ~/bin/gomx # adjust padding
    
  • raspi-keygen -- Patch for MPEG-2, VC-1 license (untested, use it at your own risk)

    1
    2
    cd /boot && cp start.elf start.elf_backup && \
      perl -pne 's/\x47\xE9362H\x3C\x18/\x47\xE9362H\x3C\x1F/g' < start.elf_backup > start.elf
    




Backup:

You can do a full/raw sdcard backup, a live/tar one, or an incremental one.

As an alternative to 7za you can use xz just like the gz command (or use the -J option of tar).

Incremental backup commands

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# --- backup ----------------------------------------
cd /tmp && mkdir -p p1 p2
sudo mount -o ro /dev/sdc1 p1
sudo mount -o ro /dev/sdc2 p2

cd bkup-folder
sudo sfdisk -d /dev/sdc > ptable
mkdir -p p1 p2
sudo ribs -b --no-p p1 /tmp/p1
sudo ribs -b        p2 /tmp/p2

sudo umount /tmp/p?


# --- restore ---------------------------------------
cd bkup-folder

cd /tmp && mkdir -p p1 p2
sfdisk /dev/sdc < ptable
mkfs.vfat /dev/sdc1
mkfs.ext4 /dev/sdc2
sudo mount /dev/sdc1 p1
sudo mount /dev/sdc2 p2

sudo ribs -r p1 /tmp/p1
sudo ribs -r p2 /tmp/p2

cat ptable | grep label-id   # view old partition ID

# change to the new partition ID
sfdisk -d /dev/sdc | grep label-id
# update PARTUUID in p1/cmdline.txt 
# update PARTUUID in p2/etc/fstab

sudo umount /tmp/p?




Miscellanea:

  • Fix TV/monitor not detected unless powered on first:

    1
    sudo tvservice -d /boot/edid.dat
    
    1
    2
    3
    # /boot/config.txt
    hdmi_edid_file=1
    hdmi_force_hotplug=1
    
  • Test if we are on a raspberry (/sys, /proc/cpuinfo):

    1
    2
    cat /sys/firmware/devicetree/base/model # Raspberry Pi 3 Model B Rev 1.2
    grep Hardware /proc/cpuinfo             # Hardware : BCM2708
    
  • To save space on new installs of ruby gems, put in ~/.gemrc:

    1
    2
    install: --no-rdoc --no-ri -​-no-document
    update:  --no-rdoc --no-ri -​-no-document
    

    and to install a gem in the user $HOME use this command:

    1
    2
    3
    4
    gem install --user-install bundler
    
    # remember to update your PATH adding this line to ~/.bashrc
    export PATH=$HOME/.gem/ruby/2.1.0/bin:$PATH
    
  • If you have a logitech wireless keyboard (eg: K400+) then you can use solaar to query and configure it:

    1
    2
    3
    4
    5
    6
    git clone https://github.com/pwr/Solaar.git
    cd Solaar/bin
    
    solaar show all
    solaar show 1 | grep Battery
    solaar config 1 fn-swap off # toggle function keys
    
  • If you have a keyboard without the F# keys (like the kano keybord) you can emulate them with xdotool and then run it via xbindkeys:

    1
    2
    3
    4
    sudo apt-get install xdotool xbindkeys xbindkeys-config
    xdotool key ctrl+alt+F1  # emulate these key press
    xbindkeys-config         # create and save your bindings
    xbindkeys                # run daemon
    

    or you can use xmodmap to remap existing keys:

    1
    2
    3
    xmodmap -pke | tee ~/.Xmodmap > ~/.Xmodmap-orig
    nano    ~/.Xmodmap # edit keys
    xmodmap ~/.Xmodmap # load changes (run this on X startup)
    

    see Xorg keyboard references on the bottom.

  • Autostart programs when loggin in LXDE: put your commands prefixed by @ in ~/.config/lxsession/LXDE-pi/autostart

  • Change video mode/resolution without rebooting -- see rpi forum post

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# query available video modes
tvservice -m CEA
#Group CEA has 16 modes:
#           mode  4: 1280x720  @ 60Hz 16:9, clock:74MHz progressive 
#           mode 19: 1280x720  @ 50Hz 16:9, clock:74MHz progressive 
#  (prefer) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive 

# set custom video mode
tvservice -e "CEA 4 HDMI"
#fbset -depth 8 ; fbset -depth 16
fbset -g 1280 720 1280 720 16
xrefresh

# set default video mode
tvservice -p




Notes:

  • Raspberry Pi 3 provides 1.2A USB current by default (no need to set max_usb_current=1 in /boot/config.txt). Of course a 2.5A PSU is mandatory.

Tips:

Sources:


~~~ * ~~~

youtube-dl usage
mouse 842 · person cloud · link
Last update
2021-01-17
2021
01-17
« — »
1
2
3
4
5
6
7
# download/upgrade
curl -L -o ~/bin/youtube-dl https://yt-dl.org/downloads/latest/youtube-dl

# build from source repo
git clone https://github.com/ytdl-org/youtube-dl.git
cd youtube-dl
make clean && make
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# to parse a playlist use "--yes-playlist url" or simply "playlist_id"

# downoload a playlist audio only
youtube-dl -i -o "%(title)s.%(ext)s" \
  -f bestaudio --extract-audio --audio-format mp3 --audio-quality 5 \
  --postprocessor-args "-ar 44100" \
  <playlist_id>

# extract audio tracks from an url list
cat list.txt | xargs youtube-dl -i -o "%(title)s.%(ext)s" \
  -f bestaudio --extract-audio --audio-format mp3 --audio-quality 5 \
  --postprocessor-args "-ar 44100"

# download a specific combination of audio and video in a single file
youtube-dl -F <url> # detect desired format codes
youtube-dl --merge-output-format mkv -f <code1>+<code2> <url>

browser tools

1
2
3
4
5
6
7
8
9
// get youtube page links
var list = '';
document.
  querySelectorAll('a[id="video-title"]').
  forEach(function (i) {
    list += 'https://www.youtube.com' + i.getAttribute('href') +
            '  # ' + i.innerText.trim() + "\n";
  });
console.log(list);

Source: youtube-dl hp, stackoverflow.com, askubuntu.com


~~~ * ~~~

Destiny Child game resources
mouse 764 · person cloud · link
Last update
2021-01-11
2021
01-11
« — »

Reference

ID DB Reddit Moot Discord
ID DB Reddit Moot Discord
by7gk8yhh4ji riceminegl sub news, events chat

TODO:

  • pour onyx on: Bathory
  • pump: midas, Navi, thetis
  • SPA:
    • Thisbe, Neptune, Pomona, Athena, Dana
    • Bathory, Chang'e, N.Mona, Moa, Syrinx

Teams

Slot Scope Notes Members
Slot Scope Notes Members
1 Ragna:Break DoT vedi sezione
2 Story exp, C2/2-4 Maat, Chang'e, Charlotte, X, Y
" NW/Dungeon LvlUp/Enh exp "
3 NW/Dungeon Gold exp Maat, Charlotte, Dana, Chang'e, Mafdet
" NW/Dungeon Evol exp "
4 NW/Re:Birth Lab exp, L5+3 EveS, Chang'eST, DanaS, 1NeptuneTSS, PomonaS
5 NW/Dungeon Narr exp PowerUp, Chang'e, Dana, Maat, Eve/X
6-10 NW/Devil Rumble-PVP exp vedi sezione
- NW/Underground exp Merlin, Lan Fei, Dana, Charlotte, Mafdet

Ragna Break (1 coin = 10 gold)

x x x x x
R.Frej C.Neamhain Neptune N.Mona L.Mona
Charlotte Mafdet Chang'e Maat Dana/N.Mona
  • vs light /
x x x x x
TODO
x x x x x
2S.DaviS ThanatosSTTTT 1N.MonaS 3LeoS PantheonS
1B.LisaS NeptuneS 2N.MonaS NicoleT PantheonS
x x x x x
C.BathoryT 2NeptuneST 3N.MonaST 1ThisbeTS L&H.DaviT
x x x x x
Neptune Chang'e Maat Eve N.Mona
Pantheon Neptune Chang'e N.Mona Eve

World Boss Teams (use 1x speed)

x x x x x
SB.Mona Pantheon Thisbe Mars Thetis
N.Mona Brownie BathoryTS 2Navi Midas
B.Aria R.Frej BastetT Maat Neptune
1DM.WerewolfTS L.Mona C.Luna Sytry 3D.Saturn
x x x x x
Mars Maat Bathory Chang'e Eve
Dana Leda 3Jupiter 1N.Mona Pantheon
Saturn P.Mars Midas 2DM.Werewolf Werewolf
Kubaba Khepri L.Maat Iphis Durandal
x x x x x
Maat Leda Mars Chang'e 3N.Mona
1Navi Midas Bathory DM.WerewolfST ThetisSTSSS
Pantheon Sytry Brownie B.Lisa 2S.Mona
AbaddonT JacheongbiT NicoleT Ayane LeifangT
x x x x x
Mars Maat Bathory Chang'e Eve
Dana Leda Daoine N.Mona Pantheon
Ailil Tyrving Midas Morgan 2Jupiter
1PS.Medb Hermes 3Ganesha C.Leda C.Bathory
x x x x x
MarsS MaatS BathoryTS Chang'eST BillyS
MidasS LedaS ThanathosT 2N.MonaS PantheonS
FoJ.MafdetTSS SalomeS BabelS DM.WerewolfST S.MonaS
DeinoS CalipsoS 1SS.DaviS 3NaviS SytryS
  • 6° slot testing

PvP Teams

Slot VS Team
Slot VS Team
6 * Athena, Chang'e, Dana, Neptune, P.B.Pomona immortals
7 Rita (death heal) Bathory, Chang'e, Dana, N.Mona, Nicole
8 Moa (pretify), Pomona (clean) Bathory, Chang'e, Dana, Syrinx, Lan Fei
9 Fire.Bathory (crit) Bathory, Chang'e, Dana, Syrinx, Moa main team
10 Isolde (freeze) Bathory, Chang'e, Dana, Syrinx, Nicole

Equipment enhance system (post, g-sheet, images)

S A B C D E
S A B C D E
probability 0.2 1% 5% 26.8% 37% 30%
transfer cost in stones 50 25 10 3 2 1

Weapon

  1. increase stats
    • S = bump HP/Atk/all
    • A = add %Atk>Hp, %Hp>Atk, bump Crt
    • B-E = add %X>Y
  2. increase damage (PVE: add %>Damage, PVP: S-rank or attacking tap/slide add %X>Damage)
    • S = attacking add %>Damage OR add %X>Damage
    • A-E = attacking add %>Damage OR add %Hp-Atk-Def-Agl-Crt>Damage
  3. recover Hp OR increase damage (PVE: ignore Def, PVP: ignore Def, recover %Dmg>Hp if needed)
    • S = attacking ignore Def offset OR attacking/defeat recover %Dmg>Hp/%MaxHp>Hp
    • A/C = attacking: ignore Def offset OR recover %Dmg>Hp
    • B/D = attacking ignore Def offset OR defeat recover %MaxHp>Hp

Armor

  1. increase stats
    • S = bump HP/Def/all
    • A = add %Atk>Hp, %Hp>Def, bump Agl
    • B-E = add %X>Y
  2. reduce damage (PVP: additionally reduce Damage)
    • S = reduce any attack % OR by %X
    • A = reduce tap/slide/drive % OR by %Hp
    • B = reduce tap/slide/drive % OR by %Atk
    • C-E = reduce tap/slide/drive % by %chance OR by %Def/Agl/Crt
  3. recover Hp OR ignore Def offset (PVP: offset>recover)
    • S = recover % OR % by %chance OR ignore DEF offset
    • A-E = recover % by %chance OR ignore DEF offset

Accessory

  1. increase stats
    • S = bump HP/Atk/Def/all
    • A = bump Crt/Agl OR add %Atk>Hp/Def, %Hp>Atk/Def
    • B-E = add %X>Y
  2. increase buff/debuff/heal (PVP: S/E rank or aim for a specific bump)
    • S = bump debuff EVA/ACC %
    • A = bump Confuse/Sleep EVA/ACC %
    • B = bump Silence/Stun EVA/ACC %
    • C = bump Freeze/Petrify EVA/ACC %
    • D = bump Blind/DeathHeal EVA/ACC %
    • E = bump RecoveryBlock EVA/ACC % OR bump Heal/Regen %
  3. increase skill/drive gauge (PVP: When hit by a Tap Skill)
    • S = attacking/attacked/defeat bump/reduce skill/drive gauge % by %chance
    • A/C = attacked/defeat bump drive gauge % by %chance
    • B/D/E = attacking/attacked reduce/bump skill gauge % by %chance

Resources

Soul Carta

  • eve: angelic smile
  • bathory: SOW
  • chang'e e neptune: showtime
  • dana: anniversary

Stacking of De/Buffs (post)

  • De/Buffs with different icons will always stack.
  • DE/Buffs with the same icon will override each other.
    The conditions are as follows:
    1. Buffs/debuffs from Drive Skills are considered to be in the highest tier, follow by Slide Skills, and lastly Tap Skills in the lowest tier.
    2. Higher tier buffs/debuffs will always override those from lower tiers. Lower tier buffs/debuffs will never override those from higher tiers and will simply be discarded.
    3. If the newly applied buffs/debuffs are in the same tier as the existing ones, the new one will always replace the old one regardless of whether the new one is stronger than the old one or not.
    4. Some exceptions are Regen buff and DoT debuffs (except Poison) which will stack.
  • Leader Buff lasts the entire fight even if the leader is KO'ed, and will never be overridden. If a new buff/debuff with the same effect as the leader buff is applied, the effects will stack.

Tools/Extra

Best level to farm

  • 1-4.2 1* fire material, ragna tickets.
  • 4-6.4: 2* childs, 2* fire material.

See also: gachazone.com, farm tables.

HOR stats

Fill mileage gauge with failed attempts: 29x10% + 1x12.5% = 363 blood gems

Best leveling areas (exp/stamina ratio)

level nrm% st exp hard%
level nrm% st exp hard%
ch1
4-6 8.4 9 76 9.2
5-1 8.0 10 80 9.5
5-8 9.0 11 99 10.6
6-1 9.3 12 112 11.0
6-8 10.3 13 134 12
ch2
1-4 14.04 25 351
2-4 15.88 25 397
4-4 18.08 25 452

~~~ * ~~~

Misura della luminosita
mouse 274 · person cloud · link
Last update
2020-12-12
2020
12-12
«lumen, candele, watts, luce»

Definizioni

  • cd candela: è l'intensità luminosa di una sorgente emettente una radiazione monocromatica della lunghezza d'onda pari a 555nm e di intensità radiante di 1/683 watt per steradiante
  • lm lumen : 1lm = 1cd / 4π (dove 4π è il numero di steradianti di una sfera)

Confronto approssimativo con le lampadine ad incandescenza

Watt Lumen
1 12
40 480
60 720

Scegliere i lumen in base alla superficie da illuminare

lm = lux · m2

Valori indicativi per tipologia di luogo:

Lux Luogo
350 cucina
200 soggiorno
100-150 camera da letto
150 bagno stanza
400 bagno specchio
150 corridoi
300-400 studio
100 disimpegno
200 garage

Range valori consigliabili:

Lux Luogo
200-500 cucina
50-150 camere
200-500 zona lettura
100-150 bagno stanza
400 bagno specchio
50-150 zona di passaggio

Fonte: micronova.it, karmanitalia.it