Labels

Thursday, 14 May 2020

Revert to evdev from libinput - to stop some GTK apps from tossing away the first scroll event

Ever since libinput.
- Moving the mouse into a new window and scrolling, the first scroll event seems discarded in GTK applications (like Chrome..), causing frustration..

A quick workaround for some GTK apps (Chrome esp.) is to remove libinput and replace it with evdev.
- May not be recommended for touch interface users:

apt install xserver-xorg-input-evdev
apt purge xserver-xorg-input-libinput

(Tested on Kubuntu 20.04.)

Observe:
Dependencies being removed..
- On my system that was limited to one: "xserver-xorg-input-all"
Mouse acceleration settings in the desktop environment needing to be re-adjusted.

Monday, 2 March 2020

Myopia

What is causing progression of myopia?

Myopia is getting widespread (check South Korea stats).
What major changes have happened that could cause this?
- Less exercise and and more staring at tiny screens -are obvious ones - but how?

From reading discussions on ophthalmology forums and articles on pubmed, apparently the cause is not:
- Overcorrecting..
- Undercorrecting (which includes not correcting)..
- Peripheral defocus (some reasonably new lenses are using technologies to do this and is getting closer/slowing progression)..


"Light" -fits all the facts so far, so maybe getting enough light into the peripheral could do the trick (and more exercise/daylight/etc..).

Thursday, 10 January 2019

Dark matter

Since particles pop into existence from vacuum fluctuations, I believe some of them can create a bit of gravity upon decaying by releasing smaller particles like neutrinos -or even EM.

Sunday, 9 September 2018

Boot openSUSE Tumbleweed faster

Change compression method for initrd, as root:
echo 'compress="cat"' >/etc/dracut.conf.d/99-compress.conf
dracut --force

And if you're not using YaST to configure network setup, Networkmanager might speed up boot a bit compared to Wicked, as root:
systemctl enable NetworkManager && systemctl disable wicked

Sunday, 8 October 2017

Fix Gnome (/Xorg) 3.24/3.26 stutter on NVIDIA

..By recompiling mutter without threaded GL sync.
From the source tree:

  1. cd mutter-3.26.1/
  2. cp src/backends/x11/meta-renderer-x11.c src/backends/x11/meta-renderer-x11.c.orig
  3. sed 's/cogl_xlib_renderer_set_threaded_swap_wait_enabled (cogl_renderer, TRUE/cogl_xlib_renderer_set_threaded_swap_wait_enabled (cogl_renderer, FALSE/' -i src/backends/x11/meta-renderer-x11.c


Now compile, install and restart it..

The problem arise from a timing issue.

Sunday, 19 February 2017

Re-encode audio to AAC, in a bunch of mkv files..

..as fast as bandwidth to the fileserver can allow, running encodes in parallel up to amount of processors. AAC seems compatible with HW decoders everywhere + also with Chromebooks, which invited me to create this:

#!/bin/bash -e

TEMP=/fast/temp
DOWN=2 #allow 1 more than max 'uploads' to keep encoding busy
UP=1 #limit in order to write in a streamlined fashion rather than trashing NAS/FS, due to potential race condition +1 might happen

[[ -z $1 ]] && echo "Usage: $0 <file> [file] [file].." && exit 0
FAACS=$(nproc)
PGID=$$ #limit scope for pgrep
cd "$TEMP"

sleeprnd() { echo $((RANDOM % ($(pgrep -xcg $PGID sleep)+1) +1)); } #random secs between 1 .. amount of sleep processes we're running
waitcount() { while [[ $(pgrep -xcg $PGID $1) -ge $2 ]]; do sleep $(sleeprnd); done; }
re-encode() {
        ORIG="$1"
        BASE="$(basename "$ORIG" .mkv)"
        LOCAL="$BASE"_orig.mkv
        DEST="$(dirname "$ORIG")"/"$BASE"_aac.mkv
        #now wait for ample space to be available @TEMP
        until [[ $(df --output=avail "$TEMP" | tail -n 1) -gt $(( 7 * $(du "$ORIG" | sed -e 's/\t.*//g') )) ]]; do sleep $(sleeprnd); done
        waitcount cp $DOWN; cp -v "$ORIG" "$LOCAL"
        mkvmerge --no-audio "$LOCAL" -o "$BASE"_noaudio.mkv
        for TRACK in $(mkvmerge -i "$LOCAL" | grep ': audio' | sed -e 's/:.*//g' -e 's/.* //g'); do
                mkvextract tracks "$LOCAL" $TRACK:"$BASE"_audio
                waitcount faac $FAACS; ffmpeg -v 0 -i "$BASE"_audio -f wav - \
                        | faac -b 160 - -o "$BASE"_audio_$TRACK.aac &>/dev/null
        done
        mkvmerge "$BASE"_noaudio.mkv "$BASE"_audio_*.aac -o "$BASE".new.mkv
        rm "$BASE"_*
        waitcount cp $UP; cp -v "$BASE".new.mkv "$DEST"
        touch "$DEST" -r "$ORIG"
        #mv "$DEST" "$ORIG"
        echo "$ORIG" >>/dev/shm/ramdisk/log
        rm "$BASE".new.mkv
}

while [[ -n "$1" ]]; do
        re-encode "$1" &
        sleep 1
        shift
done

wait