Kuba Kodzi

Trzeba w ustawieniach Kit-a dodać enva:

QT_FORCE_STDERR_LOGGING=1

Źródło: https://bugreports.qt.io/browse/QTCREATORBUG-25421

Miałem dziwne problemy z networkingiem na RPI z Archem. Nie mógł synchronizować czasu i resolvować DNS-ów. Miałem włączone dhcpd i networkd jednocześnie. Zrobiłem disable na systemd-networkd, i zaczęło działać dobrze.

Jeżeli zapytania https w aplikacji QML działają na desktopie, ale nie działają na mobilce, spróbuj poniższych kroków:

  1. Sklonuj https://github.com/KDAB/android_openssl do katalogu obok głównego katalogu z kodem apki QML
  2. Dodaj do pliku .pro Twojego projektu QML-owego:
android: include(../android_openssl/openssl.pri)

Skompiluj aplikację ponownie

Za pomocą https://github.com/rvaiya/keyd.

Aby zmienić capslock na enter/return, w pliku /etc/keyd/default.conf ustaw:

[ids]

*

[main]

# Maps capslock to escape when pressed and control when held.
capslock = enter

I potem daj systemctl restart keyd

Aby na thinkadzie zmienić znak >< na prawo od lewego shifta na shifta, trzeba dodać

102nd = layer(shift)

Musiałem włączyć Frame Rate Sync i Sync Playback to Display w ustawieniach Kodi

Gdy są zainstalowane w zakładce tools/options/devices/android wszystkie SDK i NDK wspomniane tutaj, to trzeba tam odznaczyć opcję “automatically create android kits”, zrobić “apply”, i potem znowu zaznaczyć tę opcję i zrobić ponownie “apply”

https://git.kuba-orlik.name/kuba/qml-process

Osadzanie customowych binarek być może zadziała w ten sposób:

https://stackoverflow.com/a/15099666

cd ~/Downloads
git clone https://github.com/GNOME/adwaita-icon-theme.git
cd adwaita-icon-theme
git checkout 52c34cbbe
cp Adwaita ~/.local/share/icons/Adwaita-retro

cat << EOF  > ~/.local/share/icons/Adwaita-retro/index.theme
[Icon Theme]
Name=Adwaita-retro
Comment=The Only One
Example=folder
EOF

Skrypt daje GUI do wyboru urządzeń i opcję oglądania nagrywanego streamu na żywo (z dźwiękiem lub bez; opcja bez dźwięku ma mniejsze lagi).

Enkoduje do pliku z nazwą w której jest data i godzina. Enkodowanie jest przyspieszane sprzętowo za pomocą vaapi (testowane tylko na intelu).

#!/bin/bash -x

dialog_size="--width=500 --height=500"
settings_file="/home/kuba/bin/capture-settings.conf"

last_settings=$(cat "$settings_file")
if zenity --question --text="Use previous settings: $last_settings?";
then
  audio_stream=$(echo $last_settings | awk "-F ::: " '{print $1}')
  video_device=$(echo $last_settings | awk "-F ::: " '{print $2}')
  video_format=$(echo $last_settings | awk "-F ::: " '{print $3}')
  mbps=$(echo $last_settings | awk "-F ::: " '{print $4}')
  playback_audio=$(echo $last_settings | awk "-F ::: " '{print $5}')
  echo $audio_stream $video_device $video_format $mps
else
  audio_stream=$(pactl list sources | grep -A 14 'Source ' | grep -E '(Description|Monitor of Sink|Name)' | sed -E 's/\t[a-zA-Z ]+: //' | zenity --width=1200 --height=400 --list --column=name --column=Description "--column=Monitor Of")
  video_device=$(ls -1 /dev/video* | xargs -I {} bash -c "v4l2-ctl --device {} --info | grep --extended-regexp \"(Model|Card type)\" | awk -F: '{print \$2}' | awk '{print \"{}\" \",\" \$0}' | tr , '\n'" | zenity --list --column=device --column=name $dialog_size)
  formats=$(env TERM=dumb SHELL=/bin/bash ffplay -f video4linux2 -list_formats all $video_device 2>&1)
  video_format=$(echo "$formats" | grep video4linux2 | tr "\r" "\n" | grep -v 0/0 | awk -F" : " '{print $2 "," $3 "," $4}' | tr "," "\n" | sed -E 's/[ ]+/ /g' | zenity --list  --column=name --column=space --column=framesize $dialog_size | sed 's/ //g')
  mbps=$(zenity --scale --min-value=5 --max-value=100 --value=100 "--text=Mbps for video")
  playback_audio=$(zenity --question --text "Playback audio" && echo playback_yes || echo playback_no)
fi

settings="$audio_stream ::: $video_device ::: $video_format ::: $mbps ::: $playback_audio"
echo "$settings" > "$settings_file"

if [ $playback_audio = "playback_yes" ]; then
  audio_map="";
else
  audio_map="-an -fflags nobuffer";
fi


ffmpeg -hide_banner -loglevel error -vaapi_device /dev/dri/renderD128 \
        -f video4linux2 \
        -input_format "$video_format" \
        -thread_queue_size 512 \
        -i "$video_device" \
        -f pulse \
        -thread_queue_size 512 \
        -i "$audio_stream" \
        -vf 'format=nv12,hwupload' \
        -c:v h264_vaapi \
        -b:v "${mbps}M" \
        -f mp4 "$(date +%Y-%m-%d__%H_%M__%S).mp4" \
        -fflags nobuffer \
        -f nut -c copy $audio_map pipe:1 \
   | ffplay \
       -infbuf \
       -analyzeduration 0 \
       -loglevel debug \
       -f nut -