Linux – FireFox Wayland Patch killed WebGL

Mit einem Patch, ist alles weg. Die Entwickler von Firefox haben es geschafft, statt WebGL auf Wayland zu laufen zu bringen, haben sie mit einem anscheinend un/schlechtgetesteten Patch WebGL komplett abgeschossen.

WTF is WebGL

Was die WebGL Schnittstelle vom Firefox und anderen Browsern kann, könnt Ihr hier ansehen:

http://helloracer.com/webgl/

Nach nein, geht ja nicht mehr. Wurde ja durch einen schlechten Patch für Wayland deaktviert, statt es kompatibler zu machen 🙁

Wayland, nicht fertig, in aller Munde, alle nur am fluchen und das wohl zu recht. Das Teil macht nur Ärger an jeder Ecke,und dann hat man es noch gar nicht laufen 😀

Bei Redhat kann man sich z.b Glück mit einem Befehl ( rpm -q –changelog packagename) die Changelogs ansehen und beim Firefox findet man das hier:

… which makes GL layer compositor usable …

* Mi Mai 30 2018 Martin Stransky <stransky@redhat.com> – 60.0.1-5</stransky@redhat.com>
– Added workaround for mozbz#1464823 which makes GL layer compositor usable on Wayland.

* Di Mai 29 2018 Martin Stransky <stransky@redhat.com> – 60.0.1-4
– Added fix for mozbz#1464808 – Set default D&D action to move on Wayland.

* Fr Mai 25 2018 Martin Stransky <stransky@redhat.com> – 60.0.1-3
– Added fix for mozbz#1436242 (rhbz#1577277) – Firefox IPC crashes.
– Added fix for mozbz#1462640 – Sandbox disables eglGetDisplay() call on Wayland/EGL backend.

* Fr Mai 25 2018 Martin Stransky <stransky@redhat.com> – 60.0.1-2
– Enable Wayland backend.

* Mi Mai 23 2018 Jan Horak <jhorak@redhat.com> – 60.0.1-1</jhorak@redhat.com>
– Update to 60.0.1

Als ich den Hohn in den Patchnodes gelesen habe, wäre ich fast vom Stuhl gefallen.

which makes GL layer compositor usable on Wayland“ und schaltet ihn für alle anderen ab 🙁 WOW.. Echt gut getestet Mozilla.

HOW TO FIX

Die Auswirkungen von dem Patch kann man teilweise beheben, so daß wenigstens etwas noch funktioniert, nämlich die 3D Demo oben 😉

Dazu geht man in die „about:config“ und ändert bei „webgl.force-enabled“ den Wert von False auf True.

Und wer alles wieder sehen will, der ändert noch „webgl.webgl2-compat-mode“ auf  True.

Damit kann man dann auch wieder „https://map2fly.flynex.de/“ sehen.

Update (14:29):

… oder, wie uns grade berichtet wird, in 60.0.2 soll der Bug behoben sein.

… wurde so ebend bestätigt. Wer das Update schon installieren will, bevor es im Stable verfügbar ist, hier der Link:

https://koji.fedoraproject.org/koji/buildinfo?buildID=1090754

Könnt Ihr Euch aber sparen, ich habs grade als stable ins repo gepusht. Kommt also die nächsten Stunden bei Euch so oder so an 😉

Mit was läuft Eure Desktopsession?

Wayland or Not-To-Wayland

Ich dachte bislang eigentlich, daß Wayland drin ist, wenn nicht X11 draufsteht. Aber wie erkennt man das eigentlich?

Indem man das hier eingibt :

[marius@eve ~]$ echo $WAYLAND_DISPLAY

Wie man sieht kommt da nichts. Wenn Wayland im Spiel wäre, müßte da laut Redhat’s AdminGuide für Fedora ( den gibts wirklich ) „wayland-0“ rauskommen.

Das verifizieren wir jetzt mal, in dem wir unsere Loginsession ansehen und befragen :

[marius@eve ~]$ loginctl
 SESSION UID USER   SEAT  TTY 
 c2       42 gdm    seat0 /dev/tty1 
 3      1000 marius seat0 /dev/tty2

2 sessions listed.

Ich habs mal aufgehübscht. Die 3 ist, was wir suchen, nämlich unsere SessionID. Mit der können wir das LoginControl lustige Sachen fragen:

[marius@eve ~]$ loginctl show-session 3 -p Type
Type=x11

Und das ist die Bestätigung, daß wir X11 fahren. Jetzt bin ich mal auf Redhats Antwort im Bugtracker gespannt, wie sie das erklären, wo doch Fedora auf Wayland umgestellt wurde und es im Sessionlogincontext auch EXTRA eine Auflistung der Desktopsessions gibt, die mit X11 laufen, was ja impliziert, daß die anderen es nicht tun ( so eine habe ich grade laufen).

Und so sieht die ganze Sessioninfo aus :

[marius@eve ~]$ loginctl show-session 3
Id=3
User=1000
Name=marius
Timestamp=Fri 2018-05-04 09:29:20 CEST
TimestampMonotonic=546595417
VTNr=2
Seat=seat0
TTY=/dev/tty2
Remote=no
Service=gdm-password
Scope=session-3.scope
Leader=7718
Audit=3
Type=x11
Class=user
Active=yes
State=active
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
LockedHint=no

Die interessanten habe ich eingedickt. Bis auf wenige Ausnahmen ( Sessionid ) dachte ich mir schon, daß ich ein User bin 😀

Teamviewer 13 funtzt unter Wayland nicht sauber

Wie wir in empirischen Tests gerade nachweisen konnten, funktioniert Teamviewer 13 nicht mehr mit Wayland. Man kann zwar noch von Linux aus auf Windows zugreifen, aber auf ein Linux mit Wayland ist nicht mehr möglich. Man bekommt in dem Fall nur ein schwarzes Bild.

„Nutzen Sie X.ORG“

Teamviewer empfiehlt daher in einer langen Verkettung von Erklärungen, daß man doch die Desktopsession auf X.org umstellen sollte, also den alten X-Server. Klappt leider auch nicht 🙁 Genauso ein schwarzes Bild, wie unter Wayland.

Dabei beweist z.B. der SimpleScreenRecorder, daß es möglich ist, auch unter Wayland alles zu capturen, was man sich so vorstellen kann.Warum der Teamviewer das nicht kann, können wir hier leider nicht herausfinden.

Bleibt nur zu hoffen, daß es entweder eine bessere Lösung gibt, zumal das ja sowieso bedenklich ist, eine Session mit Audio/Video/Tastatur über die Teamviewerserver zu schicken, oder das Problem bald gelöst wird.

Workaround

Die praktische Antwort auf das Problem lautet dann natürlich auf VNC zurück zu fallen. Dafür muß im Router z.B. der Fritz!box ein Portforwarding eingerichtet werden. Im Screenshot ist ein Beispiel für GlusterFS und SSH abgebildet:

Symbolbeispiel für Portfreigaben auf der Fritzbox

Symbolbeispiel für Portfreigaben auf der Fritzbox

Für VNC muß man i.d.R. Port 5800-5910 freigeben und zum heimischen PC umleiten. Vorteil dabei ist, daß man jeden Port auf einen anderen Rechner leiten kann, so daß der Admin aus der Ferne festlegen kann zu welchen Desktoprechner er will.

VNC != VNC

VNC kann aber auch ein Problem in sich sein. So lange nur ein Adminuser auf den PC soll, ist das kein Problem, weil VNC heute meist so eingestellt ist, daß es eine eigene Desktopsession aufmacht. Wenn man sich dort einloggt, kann es vorkommen, daß z.B. Pulseaudio einen Abgang macht, weil es irrtümlich doppelt gestartet wird.

Was man also im VNC braucht, ist eine Shared Session, so daß man sieht, was auf dem physischen Bildschirm zu lesen ist:

x0vncserver -display :1 -SecurityTypes=none

aber der Befehl erlaubt jedem sofort ohne Passwort auf den Schirm zu connecten, was man natürlich NICHT will.

mit „vncpasswd“ kann man ein Zugangspasswort vergeben und dem Server so starten:

x0vncserver -display :1 -SecurityTypes=TLSVnc,VncAuth,TLSPlain -PasswordFile=.vnc/passwd

Und nicht vergessen, VNC braucht zum Desktop Sharing X.ORG 😉 Das will unter Wayland vermutlich aus dem gleichen Grund nicht, wie Teamviewer auch nicht wollte.

 

Linux – 10 FPS mehr auf Gnome

Einem kleinen Verdacht nachgehend, ich habe unter Linux die rohe Framerate von EVE Online auf Cinnamon und Gnome (X-Server) verglichen, beides mit den gleichen CPU/Memory/Grafikkarte/Grafikeinstellungen.

Nicht überraschend kam dabei raus, daß Gnome statte 10 FPS mehr beim internen FPS Counter von EVE schafft, als Cinnamon. Angefühlt hat sich das so schon immer, auch im 2D Betrieb. Wenn damals nicht der blöde Fenster-Zieh-Ruck-Bug unter Gnome gewesen wäre, der monatelange nicht behoben wurde und bei dem man wahnsinnig werden konnte, würde ich das als Desktop ja heute noch benutzen. Ich denke, daß der echte X-Server immer noch schneller ist, als Wayland. Um das zu prüfen, habe ich auch mit Gnome unter Wayland getestet.

Ergebnis: Gnome unter Wayland bringt auch nur 160 FPS in EVE, genau wie Cinnamon, welches wohl auch schon mit Wayland arbeitet.

Jetzt fragt sich der eine oder andere natürlich, wieso einen 10 FPS Unterschied bei 160 FPS stören, die könnte der Monitor ja eh nicht darstellen. Stimmt, kann er nicht, aber wenn man Let’s-Play Videos von Games macht, muß man Screenrecording einsetzen. Dies leidet unter der schlechteren Performance von Wayland, so daß man auf den Aufnahmen später ggf. störendes Tearing hat. Und das würde ich nicht auf Youtube zeigen wollen, weil das dem Image von Linux mal echt schaden würde. GGf. müßte man mal den extra für Games gemachten Capturemodus des OpenGL Hacks versuchen, der soll noch extra FPS bringen. Fragt sich nur, ob das auch das Tearing bekämpfen würde, weil ja nichts aus dem GFX Speicher ausgelesen würde. „Kommen Sie, Watson! Es lohnt sich vielleicht dieser Spur nachzugehen.“ 🙂

Fazit: Ein „Hoch“ auf den X-Server .. alt, aber schneller 😉

Fredora 25 mit Wayland als Default

Das Steuerungskomitee von Fedora hat entschieden, daß ab Fedora 25 Wayland als voreingestelltem Displayserver den X11 ablöst. Man sei sich bewußt, daß es noch einige Probleme auszumerzen gilt, aber es gäbe ja noch etwas Zeit, genau dies zu tun. Hmm.

Ich war mit X11 eigentlich ganz zufrieden .. schön wäre, wenn Wayland deutlich schneller wäre als X11, aber ausgerechnet darauf brauchen wir wohl nicht hoffen, wie bisherige Selbsttests gezeigt haben.

Quelle: https://fedoraproject.org/wiki/Changes/WaylandByDefault