Ubuntu auf dem Laptop

Meine Spezial-Tastenkürzel

Laptop Lautsprecher an bei gestecktem Kopfhörer (Strg+Shift+S):

sh -c 'amixer -c 0 sset Speaker on && amixer -c 0 sset Speaker 100%'

Display heller bzw. dunkler (Strg+Shift+Cursor auf/ab):

sh -c 'gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Screen.StepUp'

sh -c 'gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Screen.StepDown'

Bildwiederholrate per command-line ändern (Strg+Shift+D/F) – das ist etwas unintuitiv:

#sh -c '/home/simon/set-wayland-cfg.sh 1920x1080@60.000499725341797 1'
#sh -c '/home/simon/set-wayland-cfg.sh 1920x1080@240.00050354003906 1'
# mittlerweile 60 und 240 rund

#!/bin/bash
set -xeu -o pipefail
resolution="$1"
scale="$2"
function get_serial() {
   serial="$(gdbus call --session --dest org.gnome.Mutter.DisplayConfig \
   --object-path /org/gnome/Mutter/DisplayConfig \
   --method org.gnome.Mutter.DisplayConfig.GetResources | awk '{print $2}' | tr -d ',')"
   echo $serial
}
serial=$(get_serial)
gdbus call --session --dest org.gnome.Mutter.DisplayConfig \
   --object-path /org/gnome/Mutter/DisplayConfig \
   --method org.gnome.Mutter.DisplayConfig.ApplyMonitorsConfig \
   $serial 1 "[(0, 0, $scale, 0, true, [('eDP-1', '$resolution', [] )] )]" "[]"

Starte den Desktop neu, wenn die Tastatur nicht mehr reagiert. Schließt leider alle Fenster…

sudo service gdm --full-restart

Automatisierung

Der Killer-LAN kommt nicht aktiv aus dem suspend: Fix: Script in /usr/lib/systemd/system-sleep

#script restorelan

#!/bin/sh
if [ "${1}" == "pre" ]; then
   # Do the thing you want before suspend here, e.g.:
   echo "we are suspending at $(date)…" > /tmp/systemd_suspend_test
elif [ "${1}" == "post" ]; then
   # Do the thing you want after resume here, e.g.:
   echo "…and we are back from $(date)" >> /tmp/systemd_suspend_test
   modprobe -r alx
   modprobe alx
fi

Mit PulseEffects kann ich den Frequenzgang der Laptop-Quäken tunen:

Und den Equalizer bei eingesteckten Kopfhörern automatisch abschalten:

#starte gnome-session-properties und dann dieses Skript in Autostart eintragen: /home/simon/phoneeq.sh

#!/bin/bash
acpi_listen | while IFS= read -r line;
do
     if [ "$line" = "jack/headphone HEADPHONE plug" ]
     then
        dconf write /com/github/wwmm/pulseeffects/sinkinputs/equalizer/state false
        notify-send "headphones connected. Sound is flat."
     elif [ "$line" = "jack/headphone HEADPHONE unplug" ]
     then
        dconf write /com/github/wwmm/pulseeffects/sinkinputs/equalizer/state true
        notify-send "headphones disconnected. Sound is equalized."
     fi
done

Linux-Welt

dconf ist wohl sowas wie die Registry.

modprobe lädt/entlädt Kernel-Module. Dazu passen lsmod und modinfo.

lsusb -t zeigt z.B. angeschlossene USB-Geräte und die Datenrate. War interessant, weil ein USB3-Stick zu langsam war. Nach einem Reboot wurde er dann korrekt erkannt.

gdbus dient zum Zugriff auf laufende Programme, Treiber, etc. Stichwort D-Bus.

Für Audio gibt es auch zig Tools. pavucontrol, pulseeffects, pa-info, pactl, pacmd, paplay, parecord, alsamixer, amixer… da hab ich JACK noch gar nicht erwähnt…

Strom sparen

Powertop: gemessen – bringt nix im idle

sudo powertop --auto-tune

Reduce power per script: bringt nix im idle

sudo pm-powersave true

gnome-settings: Energie sparen-Profil auswählen. Bringt 1/2 W im idle.

Display-Refreshrate auf 60Hz und dunkel stellen. Bringt nix.

Fazit: Laptop bleibt leise und kühl. Auch wenig anspruchsvolle Spiele halten den Lüfter noch leise. Auch ohne die Optionen oben und im Energie-Modus Ausgewogen ist beim Shellshock-Zocken der Laptop sparsam. Nur die Framerate muss man begrenzen.

Kompatibilität

Es laufen viele Programme: Die ganzen inav, betaflight, blheli-Konfiguratoren, OpenTX-Companion, Steam-Spiele, Skype (auch im Chromium-Browser).

Der nvidia-Originaltreiber unterstützt „PRIME“ (Optimus), damit bleibt der Laptop kühl und suspend klappt ohne Absturz. Ein bisschen scary ist das Vergeben eines „Passworts“ für den SecureBoot. Das braucht Linux offenbar, um sich Zugriff auf die Hardware zu verschaffen. Das Passwort wird beim Reboot einmalig zum „Enroll MOK“ abgefragt. Fertig.

Netflix und Amazon-Prime spielen ihre Medien ab.

In Firefox kann ich mein Profil importieren, Mailvelope läuft.

VLC spielt alle lokalen Medien ab.

Spielt auch Blue mit DTS: MakeMKV+nativer VLC (Audio auf ALSA+spdif und dann NVidia HDMI0)

Der HP-Drucker läuft einfach (und tatsächlich auch schneller als unter Windows, wo er ewig wartet bis er druckt).

Das Hersteller-Bildschirm-Farbprofil (ICC) lässt sich importieren.

Dark Mode: Ich nehme Qgir-dark, dazu Schriften auf 0,9 skaliert. Im gedit muss man in den Einstellungen (Schrift und Farbe) separat den dark-mode aktivieren.

Für die fehlenden Tastaturleds nehme ich Lock Key, das blendet in der Infoleiste die zwei Symbole für Caps- und Numlock ein.

SD-Card-Reader, Webcam, Ton, Mikrofon, kurzum, die Laptop-Hardware wird fast vollständig unterstützt. Ausnahmen: Externes Headset/Mikro, Tastatur-RGB-Beleuchtung und Spezialtasten (Helligkeit, Wifi, Lüfter). Der/die Lüfter lassen sich nicht direkt ansteuern. Die drei Energieoptionen (Leistung, Ausgewogen, Sparsam) funktionieren aber.

Bluetooth: ControllerMode = dual, dann klappts mit Ohrstöpseln und Maus.

Der Voltcraft co-20-Luftsensor wird erkannt und kann ausgelesen werden (https://github.com/tuxedo0801/usb-sensors-linux).

Dateien kopieren ist deutlich langsamer als unter Windows (es heißt, NTFS wäre ein reverse-engineered Treiber in Linux und daher nicht performant…).

grub knallt sich leider vor den Windows-Bootloader. Aber ich boote eh fast nur Linux. Ich hab’s noch nicht geschafft, Ubuntu aus dem Windows-Loader zu starten.

Wenn’s irgendwie mal komisch läuft, mach nen Neustart. In der Hinsicht läuft Windows „runder“. Linux wirkt auch mehr zusammengeschustert. Aber Ubuntu macht auf dieser Maschine Spaß. Ich habe das Gefühl, volle Kontrolle über das System zu haben.

Hin und wieder bleibt (wohl beim/nach dem Zocken) irgendwas „hängen“ bzw läuft im Hintergrund (gnome-shell), da dreht der Lüfter auf. Da hilft dann nur neu anmelden oder Neustart.

Der alte VAIO lief ebenso sehr gut mit Ubuntu. Da haperte es auch mit den Spezialtasten (gibt aber einen Hack). Auf dem Gigabyte habe ich einfach andere Tastenkürzel aktiviert.

Update

Mittlerweile habe ich einiges erlebt.

  • NVM config im UEFI wird von Windows zerstört, so dass Grub nicht mehr startet.
  • Beim Taskwechsel auf einen laufenden Chrome mit Skype-Videofonie kann es manchmal das gesamte System in den Orkus reißen.
  • Standby wacht nach kurzer Zeit wieder auf. Hatte ich aber auch unter Windows, aber gefühlt nicht so häufig. Ist mittlerweile gut.
  • Manchmal reagiert die Tastatur nach dem Sleep nicht mehr. Wenn man sich ausloggt, dann geht sie im Anmeldebildschirm (in lila). Da hilft nur noch service gdm –full-restart.
  • Ich kriege kein USB in VirtualBox mit Win10-Gast durchgereicht.
  • USB3-Sticks laufen nur mit USB2-Speed. Es sei denn, der war beim Boot schon eingesteckt, dann ist er schneller… und in Windows am selben Port natürlich auch.
  • Der Desktop ist fast nutzlos.
  • Es ist ein Krampf, Programme in den Launcher zu hieven (wenn sie sich nicht per Rechtsklick einhängen lassen).
  • Es gibt zu viele Möglichkeiten Programme zu verwalten (snap, apt, Synaptic, dpkg, appimage, flatpack, etc).
  • Finden, aus welchem System ein Programm stammt? Deinstallieren? Wo denkst du hin? Lösch es einfach (bleibt halt weiß Gott was zurück)…
  • USB-SD-etc kann das System aufhängen (schlechte SD-Karte, wackeliges Kabel, und so Zeug). Unter Windows leider auch nix Neues…
  • Wayland + HDMI = crash und abgemeldet.
  • Audio knackt und poppt (primär VLC, auch abhängig von Soundkarte)
  • REW kriegt durch die Audiostörungen Fehler in die Messung.

Gut:

  • Updates kommen sehr häufig.
  • Wayland ließ sich doch aktivieren.
    • Damit verschwanden auch manch andere Probleme.
  • Echtzeit-Audiomonitoring/Spektrum mit friture

Manches davon ist leider echt nervig – und ich habe für all das noch keine brauchbare Lösungen ergoogeln können…

AppImage zu Launcher: hier

Koppeln von True Wireless Huawei Freebuds Pro:

https://askubuntu.com/questions/922860/pairing-apple-airpods-as-headset

In /etc/bluetooth/main.conf

ControllerMode = dual 

Danach

sudo /etc/init.d/bluetooth restart

Jetzt klappt es mit dem Koppeln.

Power-Profile schalten:

powerprofilesctl set power-saver
powerprofilesctl set balanced
powerprofilesctl set performance

UDEV rules für eingesteckte USB-Geräte

https://askubuntu.com/questions/978552/how-do-i-make-libusb-work-as-non-root

sudo gedit /etc/udev/rules.d/99-usb-co20-rule.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2013", GROUP="plugdev", TAG+="uaccess"

Update 2

Audio und so.

Schlecht: Ab und zu „knackst“ es leicht – gerade mit VLC. Der Browser ist da besser. Das schwankt auch von Tag zu Tag. Ich denke, das hat was mit Prio und Scheduling zu tun.

Pulseeffects läuft nur noch in der „flatpack“-Version… da klappt der Auto-Equalizer über dconf leider nicht mehr.

Gut: Pulseeffects kann REW-Exports für APO importieren.

REW und das kalibrierte USB-MM-One-Einmessmikro laufen nativ. Die Nubert nuJubilee35 haben noch nie so gut geklungen. Das ATM-35 lässt sich schön in SW nachbauen. Einfach bei 33Hz +9dB drauf. Die Raummoden noch etwas dämpfen, fertig.

Update 3

Soundblaster X-Fi 5.1 Pro:

Lautstärkeknopf und Fernbedienung mit https://sites.google.com/site/klaasdc/runeaudio-creative-xfi-5-1-usb einrichten.

Startup mit:

systemctl stop lircd.service&&lircd --device=hw:Pro --driver=alsa_usb
irexec -d

Update 4

Mittlerweile ist Ubuntu 22 drauf.

HDMI ging nicht mehr, es gibt aber einen Trick:

https://askubuntu.com/questions/1097033/xrandr-missing-hdmi-output-after-install-nvidia-driver

sudo nano /lib/modprobe.d/nvidia-kms.conf
# und dann 
options nvidia-drm modeset=0

Update 5

Irgendwann fiel mir auf, dass SD Karten nicht mehr angezeigt werden. Nach kurzem Googlen:

sudo apt-get install --reinstall udisks2