Tomb Raider (2013)
Friday, 29. May 2020
Das Reboot von 2013 ist das erste Spiel der Serie, das ich gespielt habe. Eines der Originale war mal in einer Spielesammlung, aber die auf die CD gepresste Spielversion war fehlerhaft. Klar kennt man Lara Croft und ich hatte damals Tests gelesen, aber so richtig wusste ich nicht was ich erwarten sollte.
Klettern, ein paar Rätsel und sehr viel mehr Schießen als von der Story her angelegt, damit hätte ich richtig gelegen. Dabei ist Tomb Raider in erster Linie sehr gut gemacht. Die Grafik ist toll, die Inszenierung ist besser. Es explodiert, die Kamera wackelt, Türme und Ruinen brechen zusammen, Lara springt von einer Extremsituation in die nächste, wird vom Storyverlauf immer wieder hart getroffen. Das wird fast etwas repetitiv, es ist voll und ganz unrealistisch, aber es ist doch unterhaltsam.
Zu Spielbeginn lässt ein Sturm das Schiff kentern, mit dem die junge Archäologin und ihre Crew zu einer Insel gelangen wollten. Überraschung: Sie stranden auf der richtigen Insel. Echte Überraschung: Sie sind nicht alleine auf der Insel. Die Gruppe wird getrennt, der Spieler lernt die Grundmechanismen und die Waffen kennen. Ohne zu viel von der relativ belanglosen Story verraten zu wollen geht es dann darum, der Insel zu entkommen.
Die Kämpfe können oft schleichend begonnen werden, Einzelsituationen so gelöst werden, aber das geht nicht immer und oft sind dann sehr viele Gegner zu besiegen. Dafür hat die Grabräuberin mehrere Waffen: Pfeil und Bogen, Pistole, Schrotflinte und Maschinengewehr. Auch Nahkampf ist eine Option, mit Axtangriffen und Quicktime-Events nach dem Ausweichen können Gegner erledigt werden. Da spielen stark die Fähigkeiten rein, die an den Lagerfeuern erworben werden können, Erfahrungspunkte werden dafür im Spielverlauf oder für Sammelobjekte vergeben. Die Balance aus solchen Nebenbeschäftigungen und dem eigentlichen Spielablauf fand ich gelungen. Ich hätte das Sammeln aller der Dokumente, Relikte und Materialien auch übertrieben erstnehmen und mir den Spielspaß kaputtmachen können, aber das Spiel forderte im Grunde nur, etwas aufmerksamer durch die Landschaft zu laufen.
Oder zu klettern. Denn das ist der andere Spielinhalt: Wege entdecken, an Seilen und Felsen entlang waghalsig zum nächsten Missionsmarker zu gelangen. Anders als in Enslaved sind diese Kletterpartien meist etwas anspruchsvoller. Dazu kommen noch kleinere Rätsel, besonders in den versteckten Grabkammern, in denen als Belohnung ein Schatz und damit Erfahrungspunkte und Ausrüstungsaufrüstungsmaterialien warten.
Als nervig empfand ich manche der Quicktime-Events, an ein paar Stellen bin ich ihretwegen mehrfach hintereinander gestorben. Unnötig. An ein paar Stellen fiel auch auf, dass die Kamera und die Inszenierung Gefahr und Spannung vorgaukeln wo keine war, ich als Spieler nur eine Bewegungstaste gedrückt hielt. Das waren aber nur kurze Abschnitte, normalerweise war dann doch immer mehr zu reagieren. Und es ist kein Spiel, das zur besseren Immersion Zwischensequenzen vermeidet. Das machen andere Computerspiele eleganter, selbst wenn die unsteuerbaren Abschnitte meist gut gemacht waren.
Nett dagegen: Das Interface bleibt sehr dezent, eingeblendet werden nur die gerade notwendigen Informationen. Das hilft dem Spiel, immer wieder mehr wie ein Film als wie ein reguläres Computerspiel auszusehen.
13 Stunden brauchte ich für die Story ohne übermäßig zu sammeln, das Outro schrieb ich habe 79% entdeckt, dabei wird es bleiben. Ich musste unter Proton spielen, die Linuxversion wollte mal wieder nicht starten. Das Spiel lief stabil, nur an einzelnen Stellen luden die Texturen von Personen einen Moment verzögert.
Ich fühlte mich die Spielzeit über sehr gut unterhalten. Tomb Raider wirkt auf mich wie ein gutes Beispiel für die Stärke von AAA-Spielen. Sowas kann nur ein großes Studio umsetzen, die Grafik, die Inszenierung, das Leveldesign. Hier ist das gelungen, ohne sich in einer Open-World voller Sammelaufgaben und Nebenmissionen zu verrennen. Ein gutes Spiel für einen Erstkontakt mit der Serie.
LineageOS 17.1, Update für das LG G3
Wednesday, 27. May 2020
Nachdem ich erst vor kurzem LineageOS 16.0 auf dem LG G3 installiert hatte war ich mit dem Upgrade auf 17.1 zögerlich. 16.0 sollte ja noch Updates bekommen und ich hatte mich gerade erst an das System gewöhnt. Jetzt aber wollte ich es hinter mich bringen. Das Update war problemlos und relativ einfach.
Ich bin der generischen Upgradeanleitung gefolgt, beim G3 gibt es wohl keine Überraschungen. Das Telefon mit per USB-Kabel mit dem PC verbinden, in den Entwickleroptionen Root Access Options auf ADB Only oder Apps and ADB setzen. Die neue Lineageversion herunterladen und mit adb installieren (ohne Google, also ohne gapps):
onli@fallout:~/Downloads$ sudo killall adb onli@fallout:~/Downloads$ sudo adb reboot sideload * daemon not running; starting now at tcp:5037 * daemon started successfully 'adb root' is required for 'adb reboot sideload'. onli@fallout:~/Downloads$ adb root restarting adbd as root onli@fallout:~/Downloads$ sudo adb reboot sideload onli@fallout:~/Downloads$ sudo adb sideload lineage-17.1-20200423-nightly-d855-signed.zip serving: 'lineage-17.1-20200423-nightly-d855-signed.zip' (~47%) adb: failed to read command: Success onli@fallout:~/Downloads$ sudo adb reboot
Man beachte die vertrauenserweckenden 47% Endfortschritt samt Fehler: Erfolg-Meldung, aber trotzdem startete das neue System.
Was hat sich geändert? Nach dem Einschalten und dem ersten Entsperren hängt das System einen längeren Moment. Es gibt jetzt wieder ein System zur Designauswahl, daran erinnere ich mich von früheren Cyanogen-Experimenten, geht zumindest in die Richtung. Die Oberfläche fühlt sich schneller an, die Icons in der Schnellkontrolle oben sind umorganisiert worden.
Das Changelog liest sich auch eher wie das eines Updates mit begrenztem Umfang, aber das ist bei Android als stabilem System wohl schon ein paar Versionen so üblich.
Aber dann habe ich die Gestennavigation entdeckt (via, wobei die Seite bei mir gerade nicht lädt). Die gab es auch schon in Android 9, meine ich, aber da funktionierte sie für mich nicht. Warum genau weiß ich nicht mehr. Aber die Implementation in Android 10 funktioniert hervorragend! Android hatte ja vorher das Navigationssystem von webOS gekapert, mit der Übersicht der Fenster. Mit dem neuen System haben sie jetzt die auswendig zu lernenden Gesten als Kern der Navigation übernommen, wofür es unten einen angedeuteten Gestenbereich gibt. Das ganze ist bei Android aber optional und zusätzlich zu den Wischgesten unten muss für die Aktion Zurück von der Seite des Bildschirms eine Wischgeste gestartet werden, egal auf welcher Höhe. Sie haben das System also weiter auf Android angepasst. Der Fokus auf die Gesten, dass es dafür einen dedizierten Bereich gibt und welche Bewegungen gefordert werden wurde übernommen, aber die Appfensterliste ist nicht mehr feste Station der Navigation, außerdem ist (clever!) der Gestenbereich Teil des Bildschirms.
Es funktioniert so: In Settings -> System -> Gestures -> System Navigation auf Gesture Navigation umstellen. Danach verschwinden die drei Buttons unten, sie werden ersetzt durch einen weißen Strich (wieder: wie beim webOS-Palm).
Ins Appmenü führt eine Geste von unten nach oben, die gleiche führt auch wieder zum Desktop zurück, auch wenn statt des Menüs eine App offen war. Zurück in einer App geht über die Seiten. Zwischen Apps wechselt eine Bewegung von links nach rechts oder von rechts nach links, auszuführen im Bereich unten. Für die alte Appfensterübersicht muss man von unten halb nach oben und dann nach links wischen, die Liste bietet sich während der ersten Hälfte an. Das klingt vielleicht erstmal kompliziert. Ich weiß aber von meinem HP Veer, dass solche Gesten sehr schnell gelernt werden und dann sitzen, auch Jahre später. Toll!
Mir ging es ja vor allem darum, eine aktuelle Version eines freien Betriebssystems samt Sicherheitsupdates auf dem Telefon zu haben. Bei dem Ziel ist es bereits ohne solche Verbesserungen super, wenn das G3 weiterhin von einer großen Android-Distribution unterstützt wird. Von daher freue ich mich über das erfolgreiche Update auf Android 10/LineageOS 17.1.
Cities Skylines im Humble Bundle
Tuesday, 26. May 2020
Eines der meistgespielten Spiele aus meiner Spielesammlung wird gerade im Humble Bundle (wer möchte: Affiliate-Link) samt einiger Erweiterungen verkauft.
Cities: Skylines ist ein Simcity-Klon, der damals kurz nach einem gescheiterten Simcity-Reboot startete, den Macken wie eine verpflichtend dauerhaft bestehende Internetverbindung plagten. Skylines vermied solche Spielerdrangsalierungen und wurde so der Fanfavorit, die sympathischere Alternative.
Über Skylines habe ich mittlerweile einiges geschrieben und nichtmal nur im Blog. 2016 stellte ich hier das Spiel vor, lobte es und ging auf ein paar Schwachstellen ein. 2017 erweiterte ich das in einem Artikel über die bei mir auftretenden Simulationsfehler (die mittlerweile meinem Eindruck nach weniger spielblockierend sind). Vor einem Jahr folgte ein Artikel auf GamersGlobal über die Erweiterungen. Im Laufe der Jahre bekam Skylines einige davon. Ich habe für GG alle damals veröffentlichten und spielrelevanten vorgestellt und getestet.
Was meine ich mit spielrelevanten? Es gibt drei Arten von Erweiterungen für Skylines. Content Creator Packs, Radioerweiterungen und die anderen. Die ersten beiden halte ich für nicht relevant für normale Spieler. Content Creator Packs geben nur zusätzliche Assets, also z.B. neue Gebäude, die einem bestimmten Stil entsprechen. Ohne weitere Funktionen kann man damit nur seine Städte aufhübschen, wenn man sie gezielt einsetzt. Radioerweiterungen bringen neue Musik, was nett ist, aber man kann auch einfach seine eigene Musik im Hintergrund laufen lassen. Aber die anderen Erweiterungen, die sind relevant, denn sie bringen neue Funktionen wie z.B. neue Fortbewegungsmittel und lockern so den Spielablauf auf, wenn man das Grundspiel schon durch hat.
Mit dem Hintergrund ein paar Worte zum Bundle. Wer das Spiel noch nicht und auch nur minimal Interesse am Genre hat hat sollte auf jeden Fall zuschlagen. Die erste Stufe kostet 1€ und beinhaltet das Grundspiel sowie ein paar Musikstücke für das Ingame-Radio. Mit dem Grundspiel kann man sich schon locker 30 Stunden beschäftigen, ohne dass andere Erweiterungen nötig wären.
In der zweiten Stufe kommen dann ein paar echte Erweiterungen hinzu. Concerts, Snowfall und Natural Disasters. Doch ich muss warnen: Die sind nicht richtig toll. Concerts ist nett, aber eine kleine Erweiterung, in der ein Konzertgelände platziert und verbessert werden kann. Snowfall hat das Potential toll zu sein, denn der Wintereinbruch sieht nett aus und hat Auswirkungen auf den Verkehr und den (mit Snowfall eingeführten) Heizbedarf, aber es ist leider vermurkst: Es gibt nur ewige Schneekarten oder die gewöhnlichen, in denen nie Schnee fällt. Es bringt also enttäuschenderweise keinen dynamischen Jahreszeitenwechsel. Und Natural Disasters schließlich hat Zufallskatastrophen wie Kometeneinschläge, gegen die man Schutzgebäude wie Bunker und Warnsysteme bauen sollte. Das unterhält etwas, aber nicht lange. Snowfall und Natural Disasters sind zwei der ältesten Erweiterungen (After Dark gab es davor, ist aber inzwischen fast komplett im Grundspiel mit dabei), bei denen die Entwickler in ihren Erweiterungsmöglichkeiten scheinbar noch sehr beschränkt waren.
Wer mehr als die erste Stufe kaufen will sollte direkt zur dritten Stufe springen. Die Erweiterungen hier sind hervorragend. Mass Transit, Green Cities, Campus und Industries bringen alle gute neue Spielelemente. Mass Transit hat viele neue Transportmöglichkeiten, und da ein großer Teil des Spiels die Verkehrsplanung umfasst sind die angenehm spielauflockernd. Green Cities bringt alternative umweltschonende Zonen, was die Stadt aufhübscht und immer wieder eine nette Alternative ist, mit Vor- und Nachteilen. Campus bringt riesige Universitätsgebäude, die statt der Standarduniversität gebaut werden können. Diese Gebäude sind in einer Zone zusammengefasst, wobei diese Zone dann auflevelt und neue Gebäude freischaltet, was wiederum die Universität und umliegende Anwohnerzonen verbessert. Und schließlich Industries, was wahrscheinlich die beste Erweiterungen ist. In Industries wurde das Wirtschaftssystem überarbeitet. Statt wie zuvor einfach Industriezonen zu markieren und höchstens noch einen Industriezweig vorzugeben, können nun einzelne größere Fabriken und Betriebe platziert werden. Die fördern dann Rohstoffe oder verarbeiten sie, in mehrstufigen Abfolgen. Die Holzindustrie z.B. fällt Bäume, es gibt dann Bretter und Sägemehl, Möbel, Pellets und Papier, samt Bedarf für Produkte anderer Industriezweige. Was gut in das Spiel eingreift, denn gleichzeitig werden so Arbeitsplätze geschaffen und muss der dadurch entstehende Verkehr geleitet werden.
Wer das meiste aus den Erweiterungen ziehen will aktiviert sie nacheinander. So gibt es stufenweise neue Ergänzungen, die man in seine Stadt einbauen kann. Wer direkt mit den Erweiterungen anfängt wird sich an ihnen weniger erfreuen.
Es sei erwähnt, dass dieses Bundle nicht komplett ist, es gibt mit Parklife eine weitere gute ältere Erweiterung und mit Sunset Harbor ist die neueste nicht dabei, die ich auch selbst noch nicht getestet habe. Es ist auch durchaus möglich, dass Skylines nicht mehr ewig lange gepflegt wird und das Bundle ein Signal ist, dass bald ein Nachfolger angekündigt werden wird. Da weiß ich nichts genaues drüber, habe aber entsprechende Spekulationen gelesen. Das muss nicht vom Kauf abhalten, aber wer lieber auf einen Nachfolger warten wollte sollte sich dem bewusst sein.
Skylines läuft gut unter Linux, es ist eines der wenigen Linuxspiele die ich nicht mit Proton laufen lassen muss. Auch eine Bemerkung wert: Das Spiel hat die andere Person im Haus beim Zuschauen so fasziniert, dass sie das Computerspielen aufgenommen hat und Skylines jetzt auch selbst spielt. Alternativ oder zusätzlich zu den Erweiterungen gibt es eine aktive Modszene, die das Spiel gut erweitert hat. Wirklich einen Blick wert.
Freesync unter Linux
Wednesday, 13. May 2020
Mit dem neuen Acer CB242Y konnte ich jetzt zum ersten mal richtig Freesync unter Linux testen. Mein Ersteindruck: Das geht ja gar nicht, alles stürzt ab. Zweiter Eindruck nach Neukonfiguration: Funktioniert einwandfrei und ist nett. Halten wir mal fest, wie das einzurichten und zu testen ist.
Einrichten
Der Monitor muss mit dem Displayport verbunden sein. HDMI funktioniert unter Windows, derzeit aber nicht unter Linux. Phoronix schrieb im Oktober 2019, dass sich das ändern soll, aber bisher sah ich dazu noch nichts neues und bei mir funktionierte Freesync unter HDMI nicht.
Dann, klar, muss Freesync im Monitormenü aktiviert werden. Dafür gibt es normalerweise eine Option, manche Monitore sind doof und verstecken sie in einem Game-Modus.
Jetzt zur Linuxseite. Erstmal zu meinem System. Meine Grafikkarte ist eine Radeon RX 580. Kernel:
onli@fallout:~$ uname -a Linux fallout 5.6.11_1 #1 SMP Wed May 6 19:42:50 UTC 2020 x86_64 GNU/Linux
Mesa:
onli@fallout:~$ glxinfo | grep "OpenGL core profile version string" OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.6
Eventuell musst du gar nichts konfigurieren. Im Terminal, prüfe die Ausgabe von xrandr --props
und suche nach vrr:
vrr_capable: 1 range: (0, 1)
Hier ist Freesync also an, 0 wäre aus. Vorsicht: Es gibt einen eigenen Eintrag für jeden Monitoreingang, da kann man sich schnell vertun.
Ist es 0 sollte die xorg.conf angepasst werden. Dafür fügt man eine Konfigurationsdatei in xorg.conf.d/ hinzu oder editiert die bestehende:
onli@fallout:~$ cat /usr/share/X11/xorg.conf.d/10-amdgpu.conf Section "OutputClass" Identifier "AMDgpu" MatchDriver "amdgpu" Driver "amdgpu" Option "VariableRefresh" "true" Option "TearFree" "true" EndSection
Mit einer Nvidia-Grafikkarte sähe das natürlich anders aus. Für den amdgpu-Treiber ist VariableRefresh die Option für Freesync, TearFree ist eine andere Rucklervermeidung wenn die FPS über der Monitor-Bildwiederholrate sind, optional.
Bei mir nicht optional: V-Sync. Ist das nicht an funktionierte Freesync nicht. Auch das mag sich noch ändern oder vom jeweiligen Spiel abhängen, aber bisher muss ich es systemweit erzwingen. Dafür setze ich beim Systemstart:
export vblank_mode=3
Jetzt sollten Programme im Vollbild(!) mit Freesync Ruckler und Tearing vermeiden.
Testen
Aber funktioniert es überhaupt in Praxis? Der Effekt ist normalerweise nicht so stark, dass man das direkt bemerkt. Spezielle Testsequenzen können es aber deutlich zeigen. Ein richtig gutes und absurderweise unbekanntes Programm dafür ist VRRTest. Es zeichnet graue Balken, die schnell von links nach rechts huschen. Wird die Bildwiederholrate des Monitors getroffen oder ist Freesync an ist das eine glatte Bewegung, ohne Freesync wird bei niedrigeren FPS deutlich unglatt, die Balken verursachen viel Tearing.
Es ist das einzige mir bekannte Programm, mit dem man Freesync unter Linux testen kann. Nett: Es hat ein AppImage! Installation ist also simpel. Lade von der Releaseseite das AppImage herunter und mache es ausführbar.
Bevor du es startest, solltest du deinen Compositor deaktivieren. Bei mir läuft picom, also beende ich den:
killall picom
Wenn GNOME oder KDE als Desktopumgebung benutzt wird haben die ihren eigenen Compositor integriert, der hoffentlich irgendwo in den Einstellungen deaktivierbar ist oder sich von selbst bei aktiven Vollbildanwendungen ausschaltet. Wayland unterstützt Freesync noch nicht, sagt auch das Arch-Wiki, gleichzeitig wird aber Unterstützung im Wayland-WM sway erwähnt, da scheint sich also gerade ein bisschen was zu tun. Im Zweifel: Wayland deaktivieren.
Dann kann vrrTest gestartet werden. Die Anwendung öffnet ihre Testoberfläche im Vollbild. Das sieht dann so aus:
Der Text oben links erklärt die Bedienung: Mit den Pfeiltasten die FPS auswählen. Ich fand es gut, erst auf die Monitorbildwiederholrate zu schalten, bei mir sind das 75, und mit b die genauere FPS-Zählung zu aktivieren. Wenn ich dann runtergehe wird es ohne Freesync ruckelig, mit Freesync bleibt es stabil, bis ich dann die 49 FPS erreiche und wohl die Freesync-Range verlassen wird.
Fazit: Kinderschuhe
Linux hängt hier doch deutlich hinterher. Kein Freesync über HDMI, keine einfache Aktivierung in einem grafischen Treiberverwaltungsprogramm, X konfigurierte ich seit vielen Jahren sonst nur noch zum Bugfixing in instabilen Distributionen. Blöd auch, dass die Funktion überhaupt so intransparent ist das Testprogramme nötig sind. Der Konflikt mit dem Compositor ist auch unpraktisch. Ich kann zudem gar nicht sicher sein, dass die Abstürze vom ersten Test nicht wiederkommen.
Aber immerhin: Freesync wird offiziell von AMD unter Linux unterstützt, es funktioniert verifizierbar in Praxis und der Effekt wenn es greift ist ziemlich cool. Ich freue mich, bei der Monitorauswahl auf die Funktion bestanden zu haben.
Scaleway schaltet ARM-Instanzen ab, ich migrierte
Friday, 8. May 2020
Am 14. April schickte mir Scaleway diese Email:
C2 & ARM64 Instances end-of-life — Migrate now to Virtual Instances & Bare Metal cloud servers
Dear customer,
As of December 1 st, 2020, our C2 and ARM64 Instances will reach their end-of-life. The physical servers hosting them are indeed randomly affected by several stability issues, which prevent us from fully guaranteeing the overall quality of service. Rest assured, however, that we are committed to guiding you in your migration and provide you with the best matching resources for improved stability, performance and reliability.
Starting from April 14th, 2020, it is no longer possible to create new C2 and ARM64 Instances. In addition, their support will end on July 1st, 2020. As a result, our technical assistance will no longer address issues related to those instances. A price increase is also to be expected on July 1st, 2020. Lastly, C2 and ARM64 Instances will be completely deprovisioned as of December 1st, 2020.
Das betraf direkt alle drei meiner Scaleway-Instance. Ich hatte zwei kleine ARM64-Instanzen, von denen eine diesen Blog und die andere einen Microservice für pc-kombo betrieb. Die dritte war eine C2-Instanz, auf der pc-kombo selbst lief. Diese Email bedeutete für mich also vor allem Arbeit. Aber ich war gar nicht arg verärgert: Hosterwechsel oder zumindest Serverwechsel sind ja immer auch eine Chance, etwas schnelleres zu erwischen. Beides war richtig: Es war eine Menge Arbeit, und alle drei Projekte dürften jetzt schneller sein.
Blog: Scaleway zu Vultr
Den Anfang machte die unkritischste Seite, dieser Blog. Ich wollte wieder eine möglichst günstige Lösung haben. Spart Geld, aber nicht nur das: Ein Serverchen sollte für die Besucheranzahl dieser Seite auch wirklich ausreichen, zudem kann es für Serendipity nur gut sein, wenn ein weiterer Entwickler Performance auf schwächeren Servern durch den eigenen Blog im Blick hat.
Ich bin dann bei Vultr gelandet. Das waren die möglichen Angebote:
Als ich dann nach etwas Recherche feststellte, dass dank Cloudflare auch IPv4-Besucher die Seite erreichen würden, wählte ich das günstigste Angebot, das nur mit IPv6 auskommt.
Was ich da noch nicht wusste: Github kann kein IPv6. Serendipity will aber mit Github kommunizieren, um Plugins und sich selbst zu aktualisieren. Da hilft dann auch Cloudflare nicht. Aber so entstehen eben neue Serendipity-Entwicklungen: Es gibt jetzt einen Mirror auf Gitlab, der Pluginupdates ausliefern kann und der Code dafür ist im aktuellen Master. Jetzt fehlt nur noch, die Versionsprüfung und das Autoupdate-Plugin ebenfalls auf Gitlab zurückfallen zu lassen.
Wie schlug sich vultr selbst? Ziemlich gut. Die Verwaltungsoberfläche ist simpel und funktioniert, auch beim Server gab es keine Überraschungen. Der einzelne Prozessorkern war im Benchmark stärker als ein ARM64-Kern von Scaleway:
Scaleway:
root@onli-blogging-armv8:~# sysbench --test=cpu --cpu-max-prime=10000 run WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options. sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2) Running the test with following options: Number of threads: 1 Initializing random number generator from current time Prime numbers limit: 10000 Initializing worker threads... Threads started! CPU speed: events per second: 619.61 General statistics: total time: 10.0017s total number of events: 6202 Latency (ms): min: 1.55 avg: 1.61 max: 16.27 95th percentile: 1.70 sum: 9977.69 Threads fairness: events (avg/stddev): 6202.0000/0.00 execution time (avg/stddev): 9.9777/0.00
vultr:
root@onli-blogging:/var/www/html# sysbench --test=cpu --cpu-max-prime=10000 run WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options. sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3) Running the test with following options: Number of threads: 1 Initializing random number generator from current time Prime numbers limit: 10000 Initializing worker threads... Threads started! CPU speed: events per second: 752.41 General statistics: total time: 10.0013s total number of events: 7528 Latency (ms): min: 1.19 avg: 1.33 max: 8.34 95th percentile: 1.47 sum: 9984.29 Threads fairness: events (avg/stddev): 7528.0000/0.00 execution time (avg/stddev): 9.9843/0.00
Andererseits hatte die Scaleway-Instanz 4 dieser Kerne, war also insgesamt deutlich stärker. Im Betrieb aber fühlt sich die Seite seit dem Wechsel schneller an. Entweder, weil bei einzelnen Besuchern immer nur der eine stärkere Kern zählt, vielleicht ist die SSD schneller angebunden, oder es ist einfach die neuere Linuxversion.
Es gibt sogar ein affiliate-Programm, wer über diesen Link einen Account macht und selbst $10 ausgibt schenkt mir $10. Und derzeit läuft eine Sonderaktion, die dem sich darüber anmeldenden Nutzer für 30 Tage $100 gibt, der erste Monat also umsonst wäre. Nett.
Der Wechsel zu vultr war also gut, es war aber einiges an Arbeit weil die Emails nicht funktionieren wollten. Sie gingen einfach nicht raus, auch wenn ich mein Bestes versuchte die Konfiguration der Scaleway-Installation zu kopieren. Wahrscheinlich war der Port blockiert? Ich musste das neu einrichten, mit uberspace als Relay. Das herauszufinden kostete mich Stunden.
PC-Kombo: Scaleway zu Scaleway
Für pc-kombo bin ich nach einiger Recherche bei Scaleway geblieben. Ich brauchte folgendes:
- Mehrere Kerne, damit problemlos mehrere Dienste parallel laufen können und auch Besucherspitzen abgefangen werden können.
- Genug Ram, um weiterhin die Seite mit LRU-Cache und Memoization zu beschleunigen.
Natürlich kriegt man das auch anderswo, im Zweifel für viel Geld. Hetzner zum Beispiel hätte ohne hohen Preis gepasst, da liegt allerdings schon Pipes, zu riskant. Am Ende waren die Angebote bei Scaleway für mich die attraktivsten. Großer Pluspunkt: Die Migration innerhalb Scaleways sollte einfach sein, oder?
Falsch: Ich lief da ins offene Messer. Als ich die C2-Instanz herunterfuhr um mit dem Management-Interface ein Backup zu machen und dann komfortabel mit Scaleways Bordmitteln auf einer neuen DEV-Instanz die Seite wieder einzurichten, dieser Anleitung folgend, fuhr sie nicht mehr hoch. Scaleway hatte meine Instanz weggegeben oder ganz abgeschaltet und keine Reserven mehr über. Es gab eine üble und hektische Downtime, in der ich mittels meiner eigenen Backups (Gott sie dank hatte ich die!) die Seite wieder einzurichten versuchte und parallel den Migrationsanweisungen von Scaleway folgte, die dann nur mit Supporthilfe funktionierten. Zusammenschrieb hier.
Das war also Mist. Immerhin: Seitdem funktioniert die Seite auf der neuen DEV-Instanz ohne weitere Probleme.
Mikroservice: Scaleway zu Heimserver
Ich habe hier daheim zwei kleine ARM-Miniserver: Einen Pogo und einen CHIP. Erst wollte ich damit die Scaleway-Instanz mit dem Mikroservice ersetzen. Stellte sich aber raus, dass der CHIP nicht stabil läuft und der Pogo keine Kapazitäten mehr frei hat, dass der Speicher und Prozessorbedarf meines Services (Preisaktualisierungen laufen darüber, XML, JSON und CSV muss geparst werden) für die beiden auch etwas zu hoch ist. Aber worüber ich noch gar nicht geschrieben habe: Für die Wissenschaftlerin im Haus lag hier auch noch ein alter Dual-Xeon-Server rum, ein HP Proliant G6, mit 48GB Ram. Der wäre definitiv stark genug.
Für den Test mit dem CHIP hatte ich den Service schon so umgebaut, dass eine ausfallende Internetverbindung kein Problem ist, er wartet dann einfach. Schnelles Internet wird auch nicht benötigt. Kritisch war der Lärm. Ich verwandte etwas Zeit darauf, den Server so leise wie möglich zu machen: Stromsparmodus (sowieso eine gute Idee), die Xeons sind auch untertaktet stark genug, keine Redundanz der Netzteile. Dann brauchte ich noch einen Platz, der etwas Lärm frisst und sich nicht zu stark aufheizt. Es wurde ein Wandschrank mit jetzt nur noch angelehnter Tür.
Das ist vielleicht auf Dauer nicht die günstigste Lösung aufgrund des Stromverbrauchs. Andererseits ist es nett, mal etwas mehr (und ansonsten richtig teure) Rechenleistung zur Hand zu haben. Ich habe direkt noch weitere Aufgaben für ihn im Blick. Was die kleine Scaleway-Instanz noch überforderte ist für den alten Server ein Kinderspiel, er langweilt sich.
Die Migration ist beendet. Keine meiner Seiten/Projekte liegt noch bei Scaleways ARM-Instanzen, die sie abschalten. Für Scaleway nicht ganz so toll: Obwohl ich ihnen als Kunde erhalten bleibe ist meine Monatsrechnung dort jetzt geringer, zudem kommt mit vultr ein weiterer günstiger und solider Hoster zu den von mir getesteten und positiv befundenen (Scaleway, Digital Ocean, Hetzner Cloud, vultr). Trotzdem ist die Abschaltung sicher richtig: Auch ich sah vorher Instabilitäten, gerade der Mikroservice lief nicht sauber. Sowas zu bereinigen vermeidet Enttäuschungen. Andererseits schade, dass jetzt keine günstige Bare-Metal-Lösung mehr angeboten wird. Damit war Scaleway gestartet und Probleme durch lastverursachende Nachbarn zu vermeiden hat einen gewissen Wert.
Snap und Ubuntu: Nachbesserungen erforderlich
Monday, 4. May 2020
Ubuntu 20.04 integriert Snaps stärker als zuvor in das Gesamtsystem. Während Ubuntu wie Debian eigentlich .debs benutzt, um Programme und Updates zu verteilen, werden jetzt mehr Teile per Snap ausgeliefert. Und das ist eigentlich eine tolle Sache: Denn Snaps sind nicht auf Ubuntu beschränkt. Sie können auch auf anderen Distributionen laufen. Zudem enthalten sie ihre Abhängigkeiten, dass Software im Laufe der Zeit auf neuen Linuxumgebungen nicht mehr startet wird dadurch gelöst oder zumindest minimiert. Zudem waren .debs nicht besonders einfach zu bauen. In der Hinsicht sind Snaps ähnlich wie Flatpaks oder das hervorragende AppImage eine gute Verbesserung. Ich bin ein Fan des Konzepts.
Aber es gibt auch Nachteile. Manche sind konzeptbedingt, andere betreffen speziell die Umsetzung von snap. Um die soll es hier gehen.
Die Problematik
Es gab jetzt in kurzer Zeit mindestens zwei populäre Artikel samt Thread auf Hacker News, die zusammen Probleme mit Snaps überzeugen vortragen. Der erste war Disabling Snaps in Ubuntu 20.04 mit dieser Diskussion, der zweite war Ubuntu 20.04 LTS’ snap obsession has snapped me off of it mit dieser.
Das Hauptproblem sind die Autoupdates. Snaps auf Ubuntu aktualisieren sich selbst. Sicherheitstechnisch begrüßenswert hat das einen Rattenschwanz von Problemen:
- Snaps können ohne Vorwarnung und Lösung kaputtgehen. Wenn ein Snap-Ersteller ein fehlerhaftes Update veröffentlicht, bricht die Software bei all ihren Nutzern, ohne dass Nutzer das Update verhindern können.
- Wie immer bei Autoupdates können sie im falschen Zeitpunkt auftauchen. Während einer wichtigen Präsentation beispielsweise soll der dafür genutzte Browser besser nicht updaten und dann einen Neustart einfordern. Mitten im Arbeitsflow gilt das gleiche für jede andere Software.
- Nicht immer ist Traffic unbegrenzt verfügbar. Hänge ich am mobilen Internet, will ich wohl kaum, dass mein begrenztes Volumen von Snaps aufgefressen wird.
Diese Argumente sind für mich völlig überzeugend. Snaps, da jetzt Teil des Distribution, sollten genau wie .debs nur auf Nutzeranforderung (zu der das System eventuell aufforderte) aktualisiert werden. Leider verweigert sich das Projekt dagegen. kikoreis nennt drei Argumente pro autoupdates:
- Browsers machen das sowieso schon.
- Ubuntu macht das sowieso schon, seit 16.04 LTS
- Snaps brauchen keine Rootrechte und ihre Updates sind daher weniger problematisch
Alle diese Argumente sind nicht korrekt. Browsers updaten sich selbst, aber eben nicht unter Linux – da macht das die Paketverwaltung unter Kontrolle des Nutzers. Ubuntu auf meinem Laptop im Büro hatte mich auch nach 2016 noch wegen der Updates gefragt. Und ob Updates mit oder ohne Rootrechte durchgeführt werden ändert an ihrer Problematik rein gar nichts.
Vor allem geht es am Thema vorbei: die Argumente adressieren keines der Probleme. Das Ursprungsproblem ist fehlende Konfigurierbarkeit. Um Nutzerbedürfnisse zu befriedigen und die Probleme zu lösen müssten die Autoupdates konfigurierbar sein. Sind sie es nicht, ist die Lösung ungeeignet.
In den Diskussionen kristallisieren sich weitere Probleme heraus. Eines davon finde ich beachtenswert: Ubuntu legt ~/snap an. Zwar ist klar, dass Snap ins Benutzerverzeichnis schreiben muss. Aber andere Software und auch proprietäre wie Steam ist wesentlich höflicher und versteckt sich, denn das Benutzerverzeichnis und sein Inhalt gehört dem Nutzer, der seine Organisation weitestgehend frei wählen darf. So liegt Steam unter ~/.local/share/Steam/. Genauso hätte es sich für Snap gehört.
Ubuntu hat weiterhin ein Problem mit fehlender Nutzerzentrierung
Es ist so schade, dass Canonical weiterhin seine Nutzerfeindlichkeit pflegt. Es war ja mal ganz anders: Linux for human beings wurde als Auftrag an größtmögliche Nutzerfreundlichkeit verstanden. Im Laufe der Zeit wurde daraus ein immer wieder durchschimmerndes Wir wissen es besser und eine Orientierung am unmündigsten aller Nutzer, um eigene Vorstellungen vorzugeben. Beispiel: Die Fensterverwaltungsbuttons nach links zu verschieben und damit die Nutzererwartung zu missachten wäre schon seltsam gewesen, sich dann aber sogar zu weigern die Seite grafisch konfigurierbar zu machen war einfach nur feindselig.
Genau diese Haltung bedroht jetzt auch Snaps: Denn eigentlich sind die eine gute Sache, gerade auch für Entwickler wie mich. Aber sie zu benutzen, um Zwangsupdates wie bei Windows durchzudrücken? Etwas, weswegen ein beachtlicher Teil der Linuxnutzer von Windows weggewechselt ist? Das missachtet grob Usability-Kriterien, hier vor allem die Aufgabenangemessenheit, und macht damit im Zweifel ein System für Nutzer unbenutzbar. Und das, obwohl Ubuntu 20.04 selbst wohl ein ziemlich gutes Release geworden ist.
Es erzeugt zudem völlig unnötigerweise einen Konflikt zwischen den Nutzern und den Machern des Systems.
Canonical hat gezeigt, dass sie es besser können. Die Fensterverwaltungsbuttonsseite war irgendwann wieder offiziell konfigurierbar, dann war auch die Standardeinstellung wieder korrekt. Aus Unity wurde mit solchen Verbesserungen im Laufe der Zeit eine gute Desktopumgebung, sodass als Ubuntu schließlich aufgab und zu Gnome wechselte dies bedauerlich war. Ich hoffe, dass die Organisation immer noch die Vernunft und die Kraft hat, auf die Kritik richtig zu reagieren. Dass Snaps konfigurierbar gemacht werden, wieder ultimativ der Nutzer sein System seinen Anforderungen entsprechend verwalten kann. Das wäre erfüllt, sobald Autoupdates optional werden und der sichtbare Snapordner verschwindet. Gut wäre es auch, wenn problemlos alte Snapversionen zurückgespielt werden können.
Hollow Knight
Friday, 1. May 2020
Hollow Knight ist ein wunderbar gelungenes Metroidvania.
Zu Beginn würde man das kaum glauben. Die Spielerführung anfangs ist mies. Die Spielfigur fällt vom Himmel, landet nahe einer kleinen Siedlung, die einen Zugang zu einer Höhle hat. Es ist der Eingang zur Spielwelt, doch gibt es keinen Grund sie zu entdecken, keine Story, keine Motivation. Macht man es trotzdem greifen immerhin recht schnell die üblichen Motivationsmechanismen des Genres: Dank neuer Fähigkeiten werden vorher unzugängliche Stellen erreichbar, mit zunehmender Stärke werden vorher fast unschlagbare Gegner besiegbar, Schritt für Schritt werden neue Abschnitte der Spielwelt aufgedeckt.
Im Spielverlauf ergibt sich dann so etwas wie eine Story: Dass etwas nicht stimmt in dieser dunklen Höhlenwelt und es änderbar wäre, ein Endgegner kündigt sich an, Verbündete tauchen wiederholt auf. Das erinnert dann durchaus an Dark Souls, mit dem es sich auch das Spielelement des Verlusts der Spielwährung beim Tod teilt, wobei dann noch eine Chance besteht, die gleiche Stelle zu erreichen und alles zurückzuergattern. Auch ist Hollow Knight nicht gerade einfach. Anderseits spielt sich so ein 2D-Plattformer ganz anders und der Vergleich ist bereits überstrapaziert. Und doch: Mit der Melancholie einer im Sterben liegenden alten Welt und dem häppchenweisen Andeuten einer Hintergrundgeschichte trifft das Mini-Entwicklerteam einen ähnlichen Ton.
Toll fand ich die Grafik. Einfach schön gezeichnet. Es erinnert mich dabei sehr an SNES-Spiele, oder eher: Wie die mit moderner Technik aussehen würden (eben nicht im Pixellook!). Dabei hat Hollow Knight durchaus seinen eigenen Stil. Sehr angenehm auch das Fortschrittsgefühl, wenn der Charakter merklich immer stärker wird, entweder direkt durch Upgrades seiner Waffe oder durch neue ausrüstbare Zauber, mehr noch durch neue Fähigkeiten wie den Wandsprung. Ein paar Witze sind enthalten, besonders einer spielt mit Genrekonventionen und hat mich beeindruckt, aber den will ich hier nicht spoilern.
Es ist nicht alles perfekt. So gibt es ein paar frustige Stellen. Bosse, die unfair schwer sind (teils, wenn bestimmte Upgrades noch nicht gefunden wurden). Und sogar optionale Bosse, die mir bis zum Spielende komplett unmöglich waren. Es gibt eine Sprungpassage, den White Palace, der ohne Youtube-Guide unmöglich gewesen wäre und auch mit viel Glück und Geduld erforderte, was dann nicht mehr spaßig war. Immer wieder die gleichen Gebiete durchwandern zu müssen passiert einen Tick zu oft.
Doch insgesamt: Richtig toll. Unfassbar, dass das Entwicklerstudio im Kern aus drei Leuten besteht.
Emails für einen IPv6-Server trotz Cloudflare per Uberspace
Wednesday, 29. April 2020
Ich habe gerade diesen Serendipity-Blog auf einen neuen Server umgezogen (dazu später mehr). Das schwierigste war, die Emails wieder zum Laufen zu kriegen. Deshalb muss ich das unbedingt dokumentieren.
Das Setup sieht so aus: Der Server ist die kleinste Cloud-Compute-Instanz bei Vultr. Ich habe mal wieder den Preis optimiert. Sie kann nur IPv6. Nicht ganz so schlimm, denn die Domain wird von Cloudflare verwaltet, was für jeden AAAA-Eintrag direkt einen A-Eintrag bereitstellt, also Zugang per IPv4. Cloudflare aber ist problematisch, um direkt vom Server Emails zu verschicken. Aber dafür ist noch uberspace dabei, das sowieso meine Emails verwaltet und hier als SMTP-Relay dient.
Ich zeige alles im Detail.
uberspace
Uberspace muss die Domain als Email-Domain führen. Das wird in der Anleitung erklärt und ist nur ein auf uberspace per SSH abzusendender Befehl.
Der vordere Teil der Emailadresse muss auch angelegt sein. Bei mir ist das postmaster@...
. So sieht das in der Verwaltungsoberfläche aus:
Beachte, dass jeder Account bei uberspace bei einem von mehreren Servern liegt. In den Konfigurationen unten werde ich den Servernamen immer mit UBERSPACEHOST
ersetzen, damit niemand aus Versehen den meinen verwendet.
Cloudflare
Ich gehe davon aus, dass Cloudflare als DNS-Server eingerichtet ist. Das variiert je nach Hoster, der die Domain gerade verwaltet, aber man sollte da den Nameserver übertragen können.
Für den Webserver zeigt Cloudflare auf die IP des Server. Für die Email zeigt der MX-Eintrag auf den jeweiligen Uberspace-Host und ein TXT-Eintrag aktiviert SPF:
Mehr muss Cloudflare nicht tun, es braucht auch insbesondere und anders als die Dokumentation für Email-Versand rät keinen Nameserver-Eintrag, der ohne Proxy auf die IP zeigt. Denn der Server versendet die Mails ja nicht direkt.
Server/Postfix
Serendipity ist konfiguriert, Emails als postmaster@onli-blogging.de zu senden. Wordpress müsste man genauso einstellen.
Auf dem Server leitet postfix die Emails an uberspace weiter. Das ist im wesentlichen diese Anleitung. Die /etc/postfix/main.cf muss editiert werden:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no append_dot_mydomain = no readme_directory = no compatibility_level = 2 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_security_level=may smtp_tls_CApath=/etc/ssl/certs smtp_tls_security_level=may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all myorgin = /etc/mailname mydestination = onli-blogging, localhost.localdomain, localhost myhostname = onli-blogging.de relayhost = UBERSPACEHOST.uberspace.de:submission smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
Nur der letzte Abschnitt ist abgeändert. Dort wird der Mailserver und die eigene Domain als Absender gesetzt. In /etc/mailname steht übrigens nur nochmal die Domain:
onli-blogging.de
In /etc/postfix/sasl_password müssen die uberspace-Zugangsdaten angegeben werden. Das ist einfach die Hauptemail und das SSH-Passwort:
UBERSPACEHOST.uberspace.de:submission UBERSPACE_EMAIL:UBERSPACE_PASSWORD
UBERSPACE_EMAIL
könnte beispielsweise xyznutzer@UBERSPACEHOST.uberspace.de
sein. Diese Datei muss noch umgewandelt werden:
postmap /etc/postfix/sasl_password
Jetzt sollten Emails rausgehen und ankommen!
Pipes ist nun frei
Friday, 17. April 2020
Ich habe mich entschieden, Pipes unter eine freie Lizenz zu stellen. Die Pipes CE ist nun auf Github, steht unter der AGPL und ist einfach installierbar.
Pipes ist ein Projekt von mir, eine Webanwendung, die Yahoo! Pipes nachempfunden ist. Es ist ein grafischer Editor, in den man Daten – gerne RSS-Feeds – hereinzieht und dann bearbeitet, indem Blöcke verbunden werden. Einfachstes Beispiel wäre das Filtern eines Blogs oder eine Nachrichtenseite nach einem bestimmten Thema. Die geteilten Pipes zeigen was andere damit anfangen, und ich hatte im Pipes-Blog eine kleine Artikelsammlung darüber geschrieben, was die Seite so kann.
Auf jeden Fall war diese Webanwendung bisher nicht offen. Auf der einen Seite muss sowas natürlich auch mal okay sein, andererseits ging mir das auch etwas gegen den Strich, und es ist gerade bei Pipes ein bisschen kritisch gewesen. Denn der Vorgänger (mit dem ich nichts zu tun hatte) wurde erst nicht weiterentwickelt, dann abgeschaltet. Klar, dass dann nicht jeder Zeit (oder gar Geld) in eine SaaS-Seite investieren will, bei der das wieder passieren könnte. Die neue freie Version soll gegen solche Bedenken helfen.
Pipes CE ist eine Ruby/Sinatra-Anwendung. Sie kann einfach installiert werden und läuft dann eben auf dem eigenen Rechner oder Server. Der Funktionsumfang ist momentan nicht geringer als bei Pipes, nur Zeug wie die Stripeeinbindung habe ich herausgenommen. Das Design ist auch angepasst, es soll ja nicht identisch aussehen. Im Laufe der Zeit könnte sich noch ändern wie ähnlich die beiden Versionen sich sind. Wie es jetzt weitergeht ist nicht genau durchgeplant und hängt ja auch davon ab, ob noch andere gerne mit der Software spielen wollen.
OpenVPN-Performance durch MTU-Anpassung retten
Friday, 10. April 2020
Während bisher mein VPN-Anbieter gut funktionierte, hatte ich in letzter Zeit massive Probleme. Ich weiß nicht ganz, wann das angefangen hat, aber einige Seiten wollten einfach nicht laden oder brauchten dafür viele Sekunden, manchmal luden auch nur Teile der Seite. Verzögert waren auch Seiten wie https://old.reddit.com/, die ohne aktivierten VPN in kürzester Zeit da sind. Gleichzeitig war nicht etwa der Server oder meine Leitung überlastet, denn andere Seiten wie Hacker News funktionierten einwandfrei und erschienen sofort.
Ich versuchte dem durch Serverwechsel zu begegnen, in der Annahme, dass der Anbieter schuld ist und einzelne Serverstandort überlastet. Als das nicht half wurde ich jetzt misstrauisch. Wird da die Verbindung geblockt? Stimmt da irgendwas auf der Route nicht?
Ich fand dann Hinweise wie den, die Komprimierung zu deaktivieren oder zu aktivieren. Der hilfreicheste zusammenfassende Artikel über was helfen könnte war ein Blogartikel, Optimizing OpenVPN Throughput von Hamy, ein kompletter Zufallsfund. Und dort findet sich auch die Lösung in meinem Fall: Das Modifizieren der MTU!
Diese zwei Zeilen fügte ich in die .ovpn des Clients (meinem vorgeschaltetem Router) hinzu:
tun-mtu 1492 mssfix 1400
Seitdem ist die Verbindung wieder zuverlässig und völlig akzeptabel schnell.
Mit BOINC gegen Corona rechnen
Monday, 6. April 2020
Es gibt mindestens zwei Programme, um den eigenen PC bei der Suche nach Mittel gegen den Coronavirus helfen zu lassen. Da wäre zum einen Folding@home, wo Proteinfaltungen simuliert werden. Bei der Software BOINC gibt es dagegen das Projekt Rosetta@home, das dreht sich ebenfalls um Proteine und Faltungen, es gibt aber wohl durchaus Unterschiede was berechnet wird. Es scheint als Laie egal, beide könnten helfen.
Bei mir unter void war nur BOINC in den Quellen, bei Ubuntu wäre für Folding@home auch ein .deb auf der Webseite verfügbar. Ich installierte daher BOINC:
sudo xbps-install boinc
Dann startet man am besten den boincmgr
. Er führt durch die Einrichtung und ermöglicht danach die weitere Konfiguration, zum Beispiel wann BOINC arbeiten soll.
Zuerst ist Name und Passwort zu wählen:
Danach erschien bei mir keine für mich klar erkennbare Projektauswahlliste. Rosetta zeigt aber auf der Webseite die URL, http://boinc.bakerlab.org/rosetta/, mit der das Projekt manuell hinzugefügt werden kann:
Man kann auch noch ein Team auswählen, dem man beitreten will. Jetzt sollten auch die Arbeitsaufträge ankommen. Ich habe, um davon und insbesondere die anfänglichen Downloads mehr zu sehen, View -> Advanced View ausgewählt.
Options -> Computing Preferences erlaubt dann noch zu wählen, wann die Anwendung Berechnungen starten soll, beispielsweise nur wenn der Prozessor gerade nichts anderes macht. Das ist auch in der Menüleiste umschaltbar.
Rosetta scheint nämlich ausschließlich den Prozessor zu nutzen. Die Grafikkarte wurde bei mir unabhängig von den Einstellungen nicht belastet. BOINCs Wiki listet Rosetta auch nicht als GPU-Projekt. Das wäre bei Folding@home anders.
Wie man diese Alternative einrichtet zeigte übrigens Linus Tech Tips:
Das Video hat Windows im Fokus, aber abgesehen von der Installation sollte sich da nichts unterscheiden.
Covid-19 Humble Bundle
Wednesday, 1. April 2020
Humble Bundle hat ein ein größeres Bundle rausgebracht. Die Einnahmen sollen zu 100% an gegen die Pandemie kämpfende Organisationen gehen. 45 Spiele und dazu 40 E-Books oder Hörbücher sind drin. Fast alle der Spiele laufen unter Linux:
- Into the Breach (mit Proton)
- Undertale (nativ)
- Hollow Knight (nativ)
- Wizard of Legend (nativ)
- Totally Accurate Battle Simulator (mit Proton)
- The Witness (mit Proton)
- SUPERHOT (nativ)
- Tilt Brush (mit Proton)
- Lego Batman 3 (mit Proton)
- Killing Floor 2 (mit Proton)
- Fahrenheit: Indigo Prophecy Remastered (nativ)
- Darksiders II Deathinitive Edition (mit Proton)
- Darksiders Warmastered Edition (mit Proton, evtl nicht perfekt)
- Sniper Elite 3 (mit Proton)
- This is the Police (nativ)
- The Jackbox Party Pack 2 (nativ)
- Stick Fight: The Game (mit Proton)
- Brothers: A Tale of two Sons (mit Proton)
- Party Hard (nativ)
- Worms Revolution (mit Proton)
- Europa Universalis IV (nativ)
- Tropico 4 (mit Proton)
- GNOG (mit Proton, dünne Datenlage)
- Broken Age (nativ)
- Brütal Legend (nativ)
- Psychonauts (nativ)
- Pac-Man Championship Edition (mit Proton)
- Pikuniku (nativ)
- World of Goo (nativ)
- Super Hexagon (nativ)
- VVVVVV (nativ)
- Hacknet (nativ)
- A Good Snowman Is Hard To Build (nativ)
- Rebuild 3: Gangs of Deadsville (mit Proton)
- DUCATI - 90th Anniversary (mit Proton, dünne Datenlage)
- HIVESWAP: Act 1 (nativ)
- Alien Spidy (mit Proton)
- LostWinds (mit Proton)
- Zombotron (mit Proton)
Zu A Mortician's Tale gibt es in der Protondatenbank keine Einträge, zu Speed Brawl auch nicht, beide könnten sogar auch laufen. Stealth Inc 2: A Game of Clones braucht manuell angewendete Tricks um zu starten. Magicka funktioniert wohl manchmal mit einigem Aufwand. Agents of Mayhem funktioniert als einziges Spiel im Bundle definitiv nicht.
Was sind die Highlights? Es ist so groß und divers, dass das kaum zu sagen ist. The Witness vielleicht, wenn man Puzzlespiele mag. Hollow Knight und Into the Breach sollen toll sein, aber die muss ich noch spielen. Party Hard klang nett absurd. Wer Topico noch nicht kennt hat mit Tropico 4 ein tolles Aufbauspiel vor sich, Europe Universalis IV ist wohl ähnlich fesselnd wie Crusader Kings 2.
Über Brütal Legend habe ich im Blog geschrieben und damals gewarnt, das war aber abgesehen von den technischen Problemen ein gutes Spiel und ist heute nochmal einen Versuch wert. Fahrenheit fand ich gleichzeitig vermurkst und klasse. Psychonauts ist ein beliebter Klassiker, den ich angespielt habe, aber bei dem ich dann steckengeblieben bin und es nicht beendet habe. Über World of Goo schrieb ich vor über zehn Jahren, es ist eine sehr positive Erinnerung. All diese Spiele dürften die meisten aber schon haben.
Insgesamt ist das schon ein gutes Bundle. Man sollte nur gucken, dass wenigstens ein paar Spiele dabei sind, die einen persönlich wirklich interessieren. Und wer bisher fleißig Humble Bundles gekauft hat sollte prüfen, dass nicht zuviele der Spiele schon in der eigenen Sammlung drin sind.
Das Bundle ist noch 6 Tage verfügbar, bis zum 07.04.2020.
Wasteland 2: Director's Cut
Wednesday, 18. March 2020
Wasteland 2 ist ganz einfach ein etwas anderes Fallout. Historisch war andersrum Fallout wohl ein etwas anderes Wasteland. Auf jeden Fall gibt es eine große Ähnlichkeit: Die vielen Überschneidungen im Rollenspielsystem, das postapokalyptische Setting, die Story selbst.
Es gibt schon klare Unterschiede zwischen den Spieleserien. Da ist zuerst der Humor. Zwar haben beide absurde Elemente und fehlplatzierte Überbleibsel aus der Vergangenheit, aber Wasteland 2 ähnelt im Ton mehr dem ersten Fallout, nicht dem lustigeren Fallout 2 und ohne den Fokus auf die 50er. Die Gruppe ist größer, die man zudem auch meist komplett selbst kontrolliert (und nicht wie in Fallout nur den Hauptcharakter), auch baut man beim Spielbeginn nicht nur einen Charakter, sondern vier. Es gibt passend dafür mehr Begleiter, von denen drei die Vierergruppe ergänzen können. Und vor allem ist das Spiel kampflastiger, die Handlung und Mechanik lässt weniger Spielraum für Lösungen mittels Gesprächsführung oder Schleichen.
Der Handlung zufolge sorgen nach der Apokalypse die Desert Ranger für einen Hauch Ordnung in der harschen Welt. Die erstellte Gruppe ist neuester Teil der Organisation und bekommt einen Auftrag: Funktürme reaktivieren und dabei herausfinden, wie genau ein Ranger namens Ace gestorben ist. Das ist nur der Einstieg in eine größere Geschichte um eine Bedrohung, der sich die Ranger stellen müssen.
Ähnlich wie in Fallout gibt es auf einer Weltkarte verteilt mehrere markierte Orte wie Städte, die bereist werden können. In denen gilt es dann Quests zu erledigen, in den größeren Orten verbringt die Gruppe einiges an Zeit. Generell ist Wasteland kein kurzes Spiel, einmaliges Durchspielen beschäftigte mich etwa 70 Stunden. Währenddessen gibt es viele Levelaufstiege, die schneller kommen als üblich und zusammen mit der zu findenden besseren Ausrüstung gut motivieren.
Neben dem Aufleveln, der Gruppen- und Inventarverwaltung könnte man Wasteland auf drei Aspekte herunterbrechen:
- Die Rundenstrategiekämpfe füllen einen Großteil der Spielzeit.
- Daneben gibt es Gespräche mit NPCs, manchmal auch alternativ zu einem Kampf.
- Überall verteilt sind Skillchecks, wie das Einhauen von Mauern, Entschärfen von Minen oder Überzeugen von Gesprächspartnern.
Letztere haben mich genervt. Die Kämpfe funktionieren hervorragend: Aktionspunkte, Trefferwahrscheinlichkeiten, gezielte Schüsse, Rüstung, Deckung, die Gegner-KI – alles wie man es kennt und wie es sein soll. Die Gespräche sind gut geschrieben. Aber die Skillchecks sind leider, außerhalb von Gesprächen, Wahrscheinlichkeiten. Man braucht immer eine gewisse Stufe, um überhaupt eine Erfolgschance zu haben. Manchmal ist die dann 100%, oft aber viel weniger. Dann probiert doch jeder Spieler so lange, bis es klappt, und bei kritischen Fehlern wird eben neu geladen. Das ist ein blödes System. Viel besser ist es, wenn z.B. das Schloss aufgrund der hohen Fähigkeitsstufe auf jeden Fall geöffnet werden kann, oder eben nicht. Besonders blöd: Selbst auf der höchsten Stufe gibt es in der Spielwelt noch genug zu knackende Schlösser, die eine sehr geringe Erfolgschance haben. Da wird Schnellspeichern/Schnellladen zur Lebenszeitverschwendung.
Wenn ich schon bei Mankos bin: Die Grafik ist nur zweckdienlich, nicht hübsch. Und immer wieder gibt es bei den NPCs in den Gesprächen sichtbare Charakterportraits, die nicht zur Figur passen, besonders bei den Frauen. Die Technik ist nicht hervorragend, ich spielte die Windows-Version via Proton, weil die Linuxversion instabil war.
Doch insgesamt macht Wasteland 2 viel richtig. Die Kämpfe sind fordernd, aber nicht unfair, wobei das stark von der Qualität der benutzten Waffen abhängt. Die Begleiter kommentieren immer mal wieder die Handlung und neue Orte. Quests haben mehrere Lösungsmöglichkeiten bzw Entscheidungen, welche der Optionen gewählt werden soll: Verbünden wir uns mit den Banditen oder schlagen wir sie in die Flucht? Welche Faktion soll die Atombombe aufbewahren, welche Seite die Blutfehde gewinnen, oder ist etwa Frieden möglich? Diese Entscheidungen haben Auswirkungen, im Spiel und im Outro, was fast besser ist als die Umsetzung in den beiden ersten Fallout-Spielen.
Obwohl ein neues Spiel, fühlte sich Wasteland 2 sehr vertraut an. Es ist eben ein gutes Fallout. Wer es bis jetzt noch nicht gespielt hat (oder, auch das ist wie bei Fallout: Ich brauchte zwei Anläufe, um hineinzufinden) sollte das auf jeden Fall nachholen.
StressTest: Lasttest und Mini-Benchmark für Android
Wednesday, 11. March 2020
Ich habe per F-Droid einen Benchmark gesucht und bin nicht fündig geworden. Hintergrund ist, dass angeblich beim G3 das Kühlsystem manchmal(?) nicht ordentlich funktioniert. Und es passt zu meiner Erinnerung: Als ich das erste mal für eine Weile das G3 benutzte wurde es unter Last heiß und dann die Helligkeit reduziert, besonders im Sommer mit Pokemon Go (das war als es rauskam) war das ein Problem. Ich wollte wissen, ob mein neues Modell betroffen ist.
Daher habe ich eine kleine App geschrieben, stressTest. Sie führt fannkuch-redux aus. Das ist eigentlich kein ernsthafter Benchmark, aber es belastet für einen Moment alle Kerne des Telefons und ist daher zumindest als Lasttest geeignet.
Und tatsächlich: Die Temperatur schoss direkt auf 80℃ hoch. Ich werde mir also bald näher ansehen, ob der Kühler verbessert werden kann. Genau für sowas ist das einfach zu öffnende LG-Telefon ja gedacht.
Das G3 bewältigte den Algorithmus in 30 Sekunden, das Wileyfox Spark+ brauchte 147 – was nicht unbedingt heißen muss, dass das G3 fünfmal schneller ist, aber es würde gefühlt passen. Es ist ein erster Ansatz, aber die Ergebnisse fand ich gut genug um die Anwendung hier zu teilen.
30 Sekunden Laufzeit beim G3 bedeutet wohl auch, dass neuere Telefone in wenigen Sekunden fertig werden, was dann wieder die Funktion als Lasttest kaputtmacht. Dafür braucht es entweder einen anderen Ansatz, oder gerade habe ich die Idee, einen Button für den Benchmarkmodus und einen zweiten für konstante Last einzubauen.
Der Quellcode ist offen, Lizenz ist GPL 3.0, ein APK habe ich eben gebaut und hier hochgeladen.
DB Navigator ohne Google
Monday, 9. March 2020
Überraschenderweise funktioniert der Bahn-Navigator auf Android auch ohne Google-Frameworks. Auf dem G3 habe ich ja LineageOS ohne diese installiert. Er behauptet zwar etwas anderes: Auf der Startseite kommt bei jedem Laden eine Meldung, dass die App ohne Google-Services nicht funktionieren würde. Aber das stimmt schlicht nicht; Fahrplansuche, Einloggen und sogar Ticketkauf geht durchaus. Und auch bei der Ticketkontrolle gab es keine Probleme.
Es ist höchst bedauerlich, dass die Bahn in ihrer Großkonzernbräsigkeit nicht nur die App nicht außerhalb des Play Stores anbietet, nichtmal als einfache APK auf der eigenen Seite, sondern sogar in die Anwendung irreführende Meldungen einbaut. Wenigstens funktionierts und die Anwendung selbst taugt mittlerweile.
F-Droid installieren
Falls noch nicht geschehen installiere F-Droid. Das ist ein alternatives App-Store, mit dem freie Programme installiert werden können. Für ein freies Android unabdingbar. Die Anwendung aktualisiert sich selbst, es ist also völlig okay das .apk von der Webseite herunterzuladen und die App darüber zu installieren.
Aurora Store installieren
Mit F-Droid kann nun der Aurora Store installiert werden. Falls – so wie hier – eben doch mal eine Anwendung aus dem Play Store benötigt wird, kann sie über den Aurora Store geladen werden. Wichtig dabei: Das geht anonym, sodass der eigene Google-Account nicht gefährdet wird. Den könnte Google sonst sperren.
Viele Apps aus dem Play Store werden ohne Gapps oder microG nicht funktionieren, der DB Navigator aber schon.
Bahn Navigator installieren
Im Aurora Store kann nun wie üblich die App gesucht und installiert werden.
Es gibt dann schon ein paar Absonderlichkeiten: Die oben erwähnte unzutreffende Warnmeldung, und dass beim Login keine Erfolgsmeldung erscheint, obwohl er funktionierte. Das sind aber beides keine kompletten Blocker.