Skip to content

Instantly share code, notes, and snippets.

@generic-internet-user
generic-internet-user / wlcursor.md
Last active December 22, 2025 16:34
Wayland Cursor Lag

Wayland Cursor Lag: Just give me a break already...

I no longer consider any of this to be valid, and consider this entire adventure so far to have been intellectually dishonest and filled with questionable assumptions about everything, so, please, if you're reading this and got linked here, stop reading this and tell whoever linked you here to shut the f**k up already.

UPDATE: This (and, therefore, the promised bug reports) has been put on hold until I get around to getting actual evidence with the herein-mentioned RPi Pico + photoresistor setup, which is itself "delayed until further notice" because I simply have better and more important stuff to do[^1] right now.

UPDATE 2: Some madlad actually did it, only for GNOME though but that's still amazing

*UPDATE 3: Apparently, it's like this on purpose, at least

@jstarcher
jstarcher / EndeavourOS-Nvidia-fixes.md
Created July 9, 2024 02:44
Stable Nvidia + Wayland on EndeavourOS (Arch) with working Suspend

This guide was created for EndeavourOs Endeavour Release which if using the Online installer, as of July 2024, will provide Plasma 6.1 and Nvidia 555 drivers. This guide shows using Grub but will work with systemd-boot as well if you follow steps for kernel params.

  1. Create file /etc/modprobe.d/nvidia.conf with the following contents
options nvidia_drm modeset=1
options nvidia_drm fbdev=1
options nvidia NVreg_EnableGpuFirmware=0
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp
@sorend
sorend / Update firwmware WD Black SN770 firmware on Arch Linux.md
Last active February 14, 2026 05:39
Update firmware WD Black SN770 firmware on Arch Linux

Update firmware WD Black SN770 firmware on Arch Linux

Been having problems with my new SN770 drive, and decided to check if I can firmware update it on Linux. WD only provides a Windows tool, Western Digital Dashboard to download and install firmwares, but, it's possible to find the firmware and install it using Linux tooling as well.

1. Check that nvme-cli is installed:

❱ sudo pacman -S nvme-cli
@sebastiancarlos
sebastiancarlos / sway-print-tree.bash
Last active February 19, 2024 15:18
sway-print-tree.bash (Pretty print Sway/i3 tree, color output, 'jq' is the only dependency)
#! /usr/bin/env bash
# ansi colors
bold='\033[1m'
red='\033[0;31m'
green='\033[0;32m'
yellow='\033[1;33m'
blue='\033[0;34m'
reset='\033[0m'
@mjkstra
mjkstra / arch_linux_installation_guide.md
Last active February 14, 2026 15:54
A modern, updated installation guide for Arch Linux with BTRFS on an UEFI system
@v-fox
v-fox / NVMe_tweaks.md
Last active February 3, 2026 01:13
Linux kernel optimizations for NVMe

By default Linux distros are unoptimized in terms of I/O latency. So, here are some tips to improve that.

Most apps still don't do multi-threaded I/O access, so it's a thread-per-app which makes per-app speed always bottlenecked by single-core CPU performance (that's not even accounting for stuttering on contention between multiple processes), so even with NVMe capable of 3-6 GB/s of linear read you may get only 1-2 GB/s with ideal settings and 50-150/100-400 MB/s of un/buffered random read (what apps actually use in real life) is the best you can hope for.

All writes are heavily buffered on 3 layers (OS' RAM cache, device's RAM cache, device's SLC-like on-NAND cache), so it's difficult to get real or stable numbers but writes are largelly irrelevant for system's responsiveness, so they may be sacrificed for better random reads.

The performance can be checked by:

  • `fio --name=read --readonly --rw={read/randread} --ioengine=libaio --iodepth={jobs_per_each_worker's_command} --bs={4k/2M} --direct={0/1} --num

Arch Linux SilverBlue - Bootstrap Process

  1. Create an arch linux chroot using podman:
podman run --rm -it \
    -v "$PWD:$PWD" \
    -w "$PWD" \
    archlinux:latest
@Ruakij
Ruakij / Looking-glass-kvmfr-setup-Arch.md
Last active January 9, 2026 11:27
Looking-glass kvmfr setup Arch

Looking-glass kvmfr setup Arch

More in-depth setup-guide for usage of kvmfr (see https://looking-glass.io/docs/B6/module/)

This setup was done on EndeavourOs (Arch) on Kernel 6.1.12-arch1-1.
QEMU-version 7.2 and libvirt version 9.0.0 .
Running cGroups Policy (if you have AppArmor, some things are different)

Check respective sections in looking-glass docs for other versions (specifcally QEMU <6.2 and libvirt <7.9)

@pschmitt
pschmitt / sway-maximize.sh
Last active March 20, 2025 16:26
sway ipc script to maximize the currently focused window
#!/usr/bin/env bash
usage() {
echo "Usage: $(basename "$0") [-d DEFAULT_BORDER_PX] [-m MAXIMIZED_BORDER_PX]"
}
get_waybar_height() {
# Waybar's config is JSONC, ie it contains comments. We need to strip
# these for jq.
grep -v '//' ~/.config/waybar/config | jq -er '.height'
@brunoais
brunoais / proton
Last active November 1, 2025 01:21 — forked from thingsiplay/proton
Proton script
#!/bin/bash
# Execute Windows programs with Proton from Steams installation folder, without
# starting Steam client.
#
# 1. Create a directory for Proton environment to run in. As an example make a
# folder "proton" in your home directory. This folder must exist in order
# to make Proton work.
#
# 2. Point the variable "env_dir" in this script to that folder or...