SteamOS ist ziemlich sicher tot

Die Spielefirma Valve und ihren CEO Gabe Newell dürften so ziemlich alle kennen, denn deren Spiele wie Counterstrike, Team Fortress 2 oder Half-Life kennt fast jeder. Valve drängt es ja seit einiger Zeit in die heimischen Wohnzimmer und das dazu auserkorene Mittel der Wahl war bisher eine eigene, auf Debian basierende Linuxdistribution namens SteamOS, an der Valve seit etwas über zwei Jahre arbeitet. Die Gründe dafür waren unter anderem die Offenheit von Linux, die Möglichkeit, einen eigenen Steamcontroller anzuschließen und die Kontrolle über das System. So sagte jedenfalls Gabe Newell.

Viele sahen das ja als den Durchbruch für Linux Gaming an und freuten sich, selbst Linus Torvalds war recht begeistert. Das Problem an Linux ist ja die Fragmentierung und wenn Valve eine Plattform für Spiele für alle bereit stellt, fällt das weitestgehend in dem Bereich weg. Andere Probleme waren und sind allerdings die manchmal grottige Performance von OpenGL, sowie dass unter Linux die Grafikkarten von Nvidia deutlich schneller als die von ATI laufen. Ein weiteres Problem ist, dass natürlich auch diverse Game Engines an Linux angepasst und optimiert werden müssten .Wenn man es richtig macht, dann sind Frameraten möglich, die mit Windows gleichauf sind oder sogar noch schneller, nur wird diesen Aufwand längst nicht jeder Entwickler oder jedes Studio betreiben, wie Valve das mit der Source Engine getan hat.

Jedenfalls nun gibt es, von der Öffentlichkeit recht wenig beachtet, seit einiger Zeit von Dells Alienware die erste Konsole zu Steam – und sie läuft mit Windows 8.1. A-ha. O-ho. Man hat keine Ahnung, wie Valve es geschafft hat, Microsoft weich zu kriegen, aber das Ding bootet nicht mal mit dem Windows-Logo, sondern einem von Alienware. Also hat Valve offenkundig von Microsoft bekommen was, anderen Firmen bisher nicht möglich war.

Da bleibt dann natürlich die Frage offen: Was wird nun aus SteamOS? Offenkundig war SteamOS ein gutes Druckmittel, um Microsoft klein zu kriegen und zum Einlenken zu bewegen. Das hat jetzt ja nun auch gut geklappt. Windows hat den Vorteil, dass auf der Plattform eben alle Spiele schon zur Verfügung stehen und nicht erst portiert werden müssen. Eine Steambox unter Windows hat den Vorteil, dass darauf natürlich sehr viel mehr Spiele laufen können, man hat den Leistungsabfall mit ATI-Treibern nicht und auch keinen extra Portierungsaufwand.

Da bleibt dann doch die Frage: was wird nun aus SteamOS werden? Der Grund, warum man mit der Entwicklung von SteamOS anfing, hat sich damit ja nun weitestgehend erledigt. Wird Valve nun wirklich weiterhin hinter SteamOS stehen oder aber es noch eine Weile pro forma weiter pflegen und dann gibt es einen „fade out of existance?“

Ich denke, letzteres wird der Fall werden. SteamOS hat seine Schuldigkeit getan und Valve benötigt es ganz einfach nicht mehr. Wozu also sollte Valve noch Energie in das Projekt stecken, was Zeit und Geld kostet, wo sie nun von Microsoft das bekommen haben, was sie wollten? SteamOS ist damit ziemlich sicher tot und wird irgendwann einfach aufhören zu existieren, ganz einfach weil SteamOS für Valve keinen Sinn mehr macht und seinen Zweck erfüllt hat.

Und wenn denn Microsoft dann doch irgendwann wieder meint, andere Bedingungen diktieren zu können, dann kann Valve einfach auf SteamOS verweisen und androhen, es weiter zu entwickeln. Das reicht dann schon aus, mehr muss es nicht mehr können.

Gedanken zu Windows 8.1

Ich habe bei mir auf dem Rechner seit vorgestern mal Windows 8.1 inklusive aller zur Zeit verfügbaren Updates installiert, einfach um mal zu schauen, wie sich das denn nun inzwischen so anfühlt und die neuen Features, wie der Start-Knopf, so sind.

Im Ergebnis muss ich sagen: es mag vielleicht gut gemeint sein, ist aber nach wie vor unbrauchbar und einem Durchschnittsbenutzer nicht zumutbar.

Das beginnt schon mit dem Start: nach wie vor sieht man zuerst den Loginbildschirm, den man nach oben schieben muss – oder die Leertaste drücken. Schon darauf wird sicher nicht jeder kommen. Dann ist man nach der Installation standardmäßig zuerst wieder in der Kacheloptik des Modern UI. Fail.

Dann sieht man, wenn man die Desktopapp drückt, wieder etwas, was ein Startknopf sein könnte in Form des neuen Windows-Logos, was aber in Wirklichkeit nur ein Umschalter zwischen dem Modern-UI und der Desktop-App ist. Fail, da der normale Benutzer hier ein Startmenü erwartet. Wenn man einen Rechtsklick auf den Knopf macht, dann sieht man einiges an Möglichkeiten, was einem Startmenü ähnelt, aber es ist mehr eine Auflistung von Orten und hat mit dem alten Startmenü auch nicht wirklich viel zu tun. Fail.

Weiterhin kommt dazu, dass unter Windows 8.1 nach wie vor für viele Dateitypen die neuen Modern-UI-Apps als Betrachter eingestellt sind und keine normalen Desktop-Apps. Big fail.

Und schließlich hält sich nach wie vor das Zwitterwesen von Windows 8.1, auch wenn man nun Apps in der Taskleiste ablegen kann, denn wenn man nicht weiß, wie, wird man oft genug zwischen der Modern-UI-Oberfläche und der Desktop-App hin- und herwechseln. Fail. Dazu kommt nach wie vor, dass am rechten Rand die Charms Bar ist, was sich gerne mal dann damit beißt, wenn man ein maximiertes Fenster durch Klick auf das rote X oben rechts schließen will. Fail, fail, fail!

Und abschalten kann man das Modern-UI nach wie vor nicht wirklich, man kann es weitgehend verdrängen, aber ab und an wird man doch sich damit auseinandersetzen müssen. Nur was will man auf einem Desktop-PC mit einer Oberfläche groß anfangen, die für Tablets gedacht ist? Fail!

Hätte Microsoft wirklich Boden wett machen wollen, dann hätte

a) das Modern-UI optional sein müssen und komplett abschaltbar, für Desktoprechner als Voreinstellung sowieso komplett abgeschaltet,
b) der Rechner wieder direkt in den Desktopmodus booten müssen,
c) das Startmenü im Stil von Windows 7 wiederhergestellt gehört,
d) und die Charms Bar weg, weg, weg!

So aber lindert Windows 8.1 ein wenig die Schmerzen, aber die grundlegenden Probleme, warum es viele meiden, behebt es nicht wirklich, denn solange man auf externe Programme angewiesen ist, damit es sich wirklich einigermaßen wieder wie Windows 7 auf dem Desktop anfühlt, solange kann man es einem Durchschnittsanwender, der diese althergebrachte Benutzerführung „out of the box“ haben will und erwartet, einfach nicht zumuten.

Wie man es besser machen kann, zeigen dabei eine Menge an externen Programmen wie „Classical Shell“ und andere, die einen großen Teil der Probleme beheben. Die blinkende Kacheloptik aber wird man leider mit denen auch nicht los und das Zwitterwesen von Windows 8.1 auch nicht.

In der Summe gesehen ist es zu spät und zu wenig, als dass Windows 8.1 ein großer Renner werden dürfte. Microsoft sollte besser Windows 9 in Angriff nehmen und da alles richtig machen, denn Windows 8 ist und bleibt nunmal das neue Vista, was schade ist, weil es läuft ansonsten echt geschmeidig.

Was die Softwareentwickler wohl rauchen…

Also manchmal verstehe ich es einfach nicht, was in den Köpfen von Softwareentwicklern vorgeht. Irgendwie dreht sich in den letzten Jahren alles um das Thema Tablet und Vereinfachung der Benutzeroberflächen. Das ist im ersten Augenblick auch in Ordnung, wenn man dem Benutzer die Möglichkeit lässt, sein Programm so einzurichten, wie er es mag. Aber genau diese Wahlmöglichkeit nehmen die Entwickler einem häufig, die Ergebnisse gleichen sich häufig erstaunlich, und von den Fehlern der Vorgänger lernen? Fehlanzeige!

In Second Life war das der unglückliche Viewer 2, sozusagen das Vista von Linden Lab. Außer Haus entwickelt, eine nette Idee, aber total katastrophal und mit vielem Zeug wie Webprofilen, die keiner wirklich braucht. Kein Wunder, dass Firestorm da wohl nach wie vor der Marktführer ist.

Oder im Bereich der freien Software muss man sich nur mal GNOME anschauen. GNOME war bis zur Version 2.X unter Linux der beliebteste Desktop, doch dann erschien im Herbst 2010 die Version 3.0. GNOME 3.0 war, kurz gesagt, ein völliger Umbau, der dem Benutzer viele Wahlmöglichkeiten nahm. Aber genau diesen Wegfall pries man dem Nutzer noch als Fortschritt an und GNOME 3.0 würde sicher gut funktionieren, wenn es denn ein GNOME-Tablet geben würde. Das gibt es aber bis heute nicht, die Hauptanzahl seiner Benutzer sind nach wie vor klassische Desktopmausschubser und für die war GNOME 3.0 ein sofortiges Hassobjekt. Davon hat sich GNOME bis heute nicht erholt, die Benutzer verließen scharenweise das sinkende Schiff und selbst Debian hat GNOME als Standarddesktop rausgeworfen.

Dazu kam, dass mit Cinnamon und Mate zwei Forks entstanden, die auf unterschiedlicher Grundlage die althergebrachte Desktopmetapher weiter sponnen. Diese erhielten massiv Zulauf und GNOME selber hat Schadensbegrenzung betrieben, aber ist inzwischen in einem Zustand, dass es nur noch wenige benutzen dürften. Das Internet ist jedenfalls voll mit Postings Marke „GNOME 3 sucks“, und das zu Recht. Canonical hat mit Unity daher inzwischen auch seinen eigenen Desktop im Bau.

Microsoft wiederholte haargenau denselben Fehler mit Windows 8: man stülpte dem Desktop eine Tabletoberfläche über und entsorgte den Desktop. Nur machte das bei Microsoft noch Sinn, weil eben die auch wirklich Windows-Tablets herstellen. Dennoch ist auch hier Microsoft seit dem Erscheinen nur noch am Zurückrudern, den Startknopf gibt es inzwischen wieder, in Bälde soll man auch die Kacheloptik ganz auf dem PC abschalten können. Warum wohl trotz inzwischen 200 Millionen verkaufter Lizenzen? Ganz einfach weil kaum eine Firma Windows 8 bei sich einsetzen will, daher.

PS: wer meint, Apple sei da wirklich besser, der solle sich nur einfach einmal in Ruhe anschauen, was denn Apple in Mac OS X 10.7 mit dem Rollbalken verzapft hat. Mit 10.8 haben sie dann nachgebessert.

Die Beschleunigung des Viewer-Caches

Eines der Nadelöhre in der Architektur jedes Second Life Viewers ist sein Cache auf der Festplatte. In dem Cache legt der Viewer sowohl die dargestellten Texturen als auch der Objekte einer Sim ab. Klingt erst einmal nicht dramatisch, aber das hat seine Konsequenzen, die in der Natur der Festplatte liegen.

Nun ist es so, dass die meisten Texturen abgelegt auf der Festplatte für sich alleine nicht viel Speicherplatz benötigen. Ein typischer Cache-Ordner besteht aus 10000-30000 Dateien. Es sind eben pro Sim schon sehr viele Texturen, die ihren Weg auf die Festplatte finden, und damit greift dann letzten Endes die Festplatte als Nadelöhr.

Jedes moderne Betriebssystem ist sich der Tatsache, dass der Zugriff auf die Festplatte um Längen langsamer als auf den Hauptspeicher ist, bewusst. Deswegen nutzt jedes Betriebssystem automatisch den nicht durch Programme genutzten Teil des Hauptspeichers als Schreib-Lese-Cache. Das bedeutet, dass Schreibzugriffe auf die Festplatte zeitverzögert stattfinden und vorher noch vom System optimiert werden, sowie oft benötigte Dateien möglichst lange im Hauptspeicher gehalten werden. Fordert ein Programm eine solche Datei an, dann wird erst geschaut, ob sie im Cache vorliegt und wenn ja (das nennt man dann einen Hit), wird sie direkt aus dem Cache geliefert und nicht von der Festplatte gelesen. So weit, so gut.

Was aber passiert, wenn wir den Rechner gerade erst gestartet haben, dabei noch nicht in Second Life waren und einen recht gut gefüllten Viewercache haben? Dann bleibt dem System nichts anderes übrig, als alle diese Texturen nacheinander von der Festplatte zu lesen. Und da dies schon auf einer normalen Sim, auf der man sich bewegt und ein normales Blickfeld hat, durchaus mehrere Hundert Stück sein können, dauert das dann eine Weile.

Wieso kommt dies so? Ganz einfach daher, weil hier nun die mechanischen Beschränkungen einer Festplatte greifen. Die Leistungsfähigkeit einer modernen Festplatte wird an zwei Kennziffern gemessen, nämlich der maximale Schreib-/Lesedurchsatz sowie die Zugriffszeit. Die Zugriffszeit ist dabei der Zeitraum, den die Festplatte im Schnitt benötigt, um den Schreib-Lese-Kopf auf den Anfang der gewünschten Datei zu positionieren. Diesen Vorgang nennt man übrigens auch Seek. Typischerweise wird diese Zeit in Millisekunden gemessen, und eine moderne Festplatte hat eine Zugriffszeit im Bereich von irgendwo 5-10 ms. Dabei gilt natürlich die Devise: je niedriger die Zugriffszeit, desto besser. Eine gewisse Zugriffszeit aber wird man mit Festplatten niemals unterschreiten können.

So. Was bedeutet das? Wenn wir neu einloggen auf irgendeine Sim, dann will der Viewer aus einem gut gefüllten Cache einen Haufen an Texturen von der Festplatte lesen. Das bedeutet, dass es innerhalb kurzer Zeit zu einem Haufen an Seeks kommt, die die Festplatte abarbeiten muss.

Und hier nun eine einfache Rechnung: wieviel Seeks pro Sekunde schafft eine Festplatte maximal? 1 Sekunde sind 1000 Millisekunden, also meinetwegen 1000 ms / 8 ms = 125 Seeks/Sekunde. A-ha, damit kommen wir der Sache dann nämlich schon näher. Und sollte die Festplatte meinetwegen 6 ms Zugriffszeit haben, dann kommen wir da auf 1000 ms / 6 ms = 167 Seeks/Sekunde, was auch nicht wirklich besser ist.

Wenn wir uns dann noch klar machen, dass die Festplatte meist nicht nur von Second Life alleine benutzt wird, sondern zeitgleich auch andere Programme sie benutzen, dann wird einem klar, dass der Viewer längst nicht immer die theoretisch maximal mögliche Anzahl an Seeks pro Sekunde für sich alleine zur Verfügung haben wird.

Mit anderen Worten: die Festplatte ist in der Regel für den Anwendungsfall gut gefüllter Cache, neu gestartetes System und man loggt mit dem Viewer gerade ein, das Nadelöhr. Der Prozessor könnte mehr leisten, aber er kann es eben nicht, weil er auf die Festplatte warten muss und das ist schlecht.

Wenn man den Viewer-Cache für den obigen Fallo also beschleunigen will, dann muss man dafür sorgen, dass die Anzahl an Seeks pro Sekunde erhöht wird. Klingt einfach und ist es auch eigentlich, denn man könnte ja anstelle einer Festplatte eine billige Solid State Disk (SSD) im Rechner einbauen und den Viewercache darauf speichern. SSDs sind für solche Anwendungsfälle, also Ordnerstrukturen mit tausenden, kleinen Dateien, gerade zu ideal. Eine SSD hat keinerlei bewegliche Teile und ihre Zugriffszeit ist in der Regel um den Faktor 100 besser als einer Festplatte.

Die Zugriffszeit einer SSD beim Lesen liegt so im Bereich von 0,05 bis 0,08 Millisekunden. Einfache Rechnung also: 1000 ms / 0,07 ms = 14285 Seeks/Sekunden. Und selbst günstige SSDs sind nur unwesentlich langsamer. Das bedeutet klar, dass eine SSD ganz einfach das Speichermedium der Wahl für solche Anwendungsfälle ist.

Wenn man aber keine SSD hat oder erwerben will, dann kann man dennoch seinen Rechner beschleunigen. Voraussetzung dafür ist, dass man mindestens zwei Festplatten im Rechner installiert hat. Moderne Betriebssyssteme haben die Möglichkeit, zwei Festplatten oder zwei gleich große Partitionen auf zwei verschiedenen Festplatten zu einem sog. Stripe-Set  zusammenzufassen. Die Anwendung sieht nur ein Laufwerk in der Größe der beiden Partitionen zusammengerechnet, in Wirklichkeit aber handelt es sich dabei um diese beiden Festplatten, die das Betriebssystem als eine ansteuert.

Dabei verteilt das Betriebssystem nun Schreib-/Lesezugriffe möglichst gleich zwischen beiden Festplatten, ebenso die Dateien. Dies hat den Vorteil, dass ein Stripeset umso schneller wird, auf je mehr Festplatten es angelegt ist, denn die Zahl der Seeks pro Festplatte addiert sich (d.h. ein Set auf zwei Platten erreicht theoretisch bei 8 ms Zugriffszeit je Platte eben maximal 125 * 2 = 250 Seeks/s, bei 3 Platten 125 * 3 = 375 Seeks/s usw.), allerdings bietet es absolut keine Sicherheit für die darauf befindlichen Dateien. Geht eine Platte kaputt, dann ist das komplette Set unbrauchbar.

Das aber macht im Falle des Viewercaches absolut nichts aus, da dies ohnehin nur ein temporärer Zwischenspeicher ist, der jederzeit erneuert werden kann. Sollte man also beispielsweise unter Windows mehr als eine Festplatte im Rechner verbaut haben, dann kann sich der Aufbau eines Stripesets für den Viewercache durchaus lohnen, denn es bringt einem ohne Mehrkosten einen spürbaren Leistungsgewinn.

Eine Anleitung, wie man unter Windows 7 solch eine Konfiguration aufbaut, findet sich hier. Dabei ist wie immer zu beachten, dass man besser weiß, was man tut, denn man arbeitet an der Festplattenpartitionierung und ein falscher Handgriff kann da schlimmstenfalls Datenverlust nach sich ziehen. Also Vorsicht.