# Full Screen Exlusive Mode (FSEM) unter Ubuntu



## Ernesto95 (30. Dez 2014)

Hallo zusammen !

Ich versuche mich gerade an meinem ersten Projekt im FSEM. Unter Windows gibts keinerlei Probleme, aber unter Linux will es irgendwie nicht so recht.

Asus G750JS
GeForce GTX 870M
Ubuntu 14.10 (bis gestern 14.04 mit gleichem Verhalten)
Oracle JDK Version 1.8.0_25 (gleiches Verhalten aber auch unter Java 6 + 7)
IDE Netbeans 8.0.2

Um es einfach zu halten nehmen wir das offizielle Beispiel von Oracle zum Thema FSEM, zu finden unter 

Java Tutorials Sample Code

Da sollten ja eigentlich keine Fehler drin sein 

Folgende Ausgangslage:

isFullScreenSupported() = true
isDisplayChangeSupported() = true

2 Probleme:

1. 
Der FSEM überdeckt nicht die Linux Taskleiste sondern nimmt nur den Platz ein den ein maximiertes Fenster einnehmen würde. Ich vermute sogar das gar kein Wechel in den FSEM stattfindet. FSEM kann man auch mit einem setUndecorated(false) erstellen (auch wenn das zugegeben wenig Sinn macht), aber wenn ich das Programm mit einem dekorierten Fenster unter Ubuntu vermeintlich in den FSEM Modus schalte kann ich das Fenster ganz normal wie ein maximiertes JFrame über den Bildschirm ziehen !

Zu diesem Problem findet Google Dutzende von Meldungen im Netz, auch das trotz isFullScreenSupported() = true kein umschalten in dem FSEM erfolgt, allerdings hauptsächlich aus den Jahren 2006-2012 mit teils bestätigten Bugs in Ubuntu und / oder Java die aber laut den Bug Reports alle behoben sind.

2. 
Ich bekomme als mögliche Display Modi lediglich den aktuellen Display Modus angezeigt, die ganzen anderen möglichen Auflösungen, Farbtiefen und Bildwiederholraten werden verschwiegen. Auch hier einige Treffer unter Google, allerdings ohne bei mir funktionierende Lösungsansätze ...

Zufällig irgendwer hier der selber unter Ubuntu programmiert und das gleiche Problem hatte oder der jemanden kennt der jemanden kennt der ... und mir weiterhelfen kann ? Sind das bekannte Bugs, wenn ja, gibt es dazu Lösungen ? Oder habe ich einfach nur ein komisch verhunztes OS ?

Dank euch !


----------



## Ernesto95 (31. Dez 2014)

So, kaum poste ich die Frage finde ich per Zufall zumindest zu Punkt 1 die Lösung. Es ist ein bekannter Bug im Compiz Fenstermanager der wohl auch nicht behoben werden wird da, wenn man diversen Forenbeiträgen glauben schenken darf die Lösung neue Probleme verursachen würde ?!

Workaround ist den CompizConfig Manager zu installieren und dort unter Werkzeuge - Workarounds den "Legacy Fullscreen Support" zu aktivieren. Dies als Info also für alle die Java FSEM unter Ubuntu nutzen wollen. Die anderen großen Linux Distributionen dürften nicht betroffen sein da laut Wikipedia Compiz nur bei Ubuntu im Einsatz ist.

Bleibt noch mein Problem 2 zu lösen ...


----------



## dzim (5. Jan 2015)

Bleibt zu hoffen, das Unity Next und der Mir-Display-Server dann ab 15.04 (?) oder 15.10 keine Probleme machen. Unity 7.x - also das im Moment noch aktuelle Unity - setzt eben noch auf Compiz (sollte aber die letzte grosse DE sein, die das tut).
Interessant wäre noch, wie sich die anderen DEs in dem Punkt verhalten, wenn sie unter Wayland laufen - das könntest du ja noch ausprobieren. Bhodi (Enlighment) und KDE Plasma 5 sollten da vielleicht ein guter Test-Kandidat sein - GNOME ist wohl (so habe ich es verstanden) noch nicht ganz so weit, was den Support von Wayland angeht.

Zu Punkt 2 kann ich leider nichts weiter sagen. Sorry.

Was mich noch interessieren würde: Das hier ist der Spiele-Thread, also entwickelst du mit JOGL oder so, richtig? Vielleicht können dir da noch ein paar andere ein paar Tipps geben.

#edit: Ich habe mal eine JavaFX-Anwendung geschrieben, bei der funktioniert der Full-Screen-Modus ohne Probleme. Ich musste keine CompizConfigManager-Änderungen machen. Verstehe also (noch) nicht ganz, warum dein Programm in Punkt 1 damit überhaupt Probleme hatte - aber das kann ja auch an OpenGL liegen... Wobei... Dann dürfte kein Spiel - also auch nicht die Wine-Ports - auf Ubuntu laufen. Echt schräg, dein Problem...


----------

