mojira.dev
MC-70651

1.8 Fullscreen still not working reliably in Linux

Starting Minecraft 1.8 or switching to fullscreen most often than not produces an invisible fullscreen window ontop of everything on the desktop and you have to switch to another tty to kill it.

It works approximately every third time you start so there is still a race condition present. Have the same problem on two computers. Also had this with 1.7.10.
Fullscreen worked in an earlier 1.7.x release on this computer.

I think this relates to MC-55045

Linked issues

Attachments

Comments 27

Do you know how to test another version of LWJGL?

If yes, please try the latest nightly from here: http://ci.newdawnsoftware.com/job/LWJGL-git-dist/
It contains some important fixes for linux fullscreen.

Unable to reproduce with Ubuntu 14.04 using Gnome Shell. Please add details about your desktop window manager, as well as graphics card and drivers in use.

Happens to me with the i3 WM, on a 7870 Ghz edition.

@tulius can't change LWJGL version since the new launcher, it overwrites it...

Alexander Lindqvist

HP Elitebook 745 G2 16GB RAM
AMD A10 PRO-7350B R6 APU

Radeonsi Mesa 10.1.5-1.20140607.fc20
Gnome Version 3.10.2
OpenJDK 1.7.0.65
Fedora 20 x64

To trick the launcher into acception custom LWJGL files:

0. Stop the launcher, if already running
1. Download the nightly (from here: http://ci.newdawnsoftware.com/job/LWJGL-git-dist/) (choose latest build --> lwjgl-2.9.2.zip)
2. Unzip it, copy lwjgl.jar from the zip file over minecrafts lwjgl-2.9.1.jar (override it, but keep the name) (usually found in ~/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl/2.9.1)
3. Correct the checksum of the jar in lwjgl-2.9.1.jar.sha with a text editor (calculate the new sum with "sha1sum" on the command line)
4. Block the launcher from accessing the internet. (just disable WiFi/unplug the network cable)
5. Now start the launcher, it will go to offline mode.

Without internet, the launcher will accept the custom library.

17 more comments

I dug into this and may have found something.

Same procedure as last time, custom lwjgl.jar is here: https://github.com/tfg13/lwjgl/releases/tag/test2_mc70651

I spare you the details, but the fix is quite experimental and may even break everything with other graphics drivers / operating systems.
The fix works for me, but your mileage may vary - So please test this!

Using DLWJGL_DISABLE_NETWM=true makes it so pressing the Windows key does not bring it out of fullscreen if it doesn't work for you you either did not put a space between the other arguments you have or just plain didn't do it right. That not only fixes the problem for me but makes it so pressing the Windows key does not disrupt gameplay. Perhaps an update to the Minecraft launcher should make it add it automatically. Anyway, it works and fixes the problem. Well, I shouldn't say fix, but it's a pretty dang good workaround, especially since the Windows key does NOTHING during gameplay anymore.

Alexander Lindqvist

Confirmed test2_mc70651. Works 10 out of 10 times and seems stable here atleast.
Can also confirm that you can start the launcher with internet access. lwjgl.jar wont be replaced. Because of the updated sha1sum ?

@John Scott
Did not test -DLWJGL_DISABLE_NETWM=true and Alt-Tab/Windows key as that is not a problem for me in Gnome 3. But it did not solve that startup to fullscreen issue we are talking about here. The updated lwjgl.jar from tulius did however.

Great work tulius! Fantastic support. More than you can say about the mc developers who has yet to chime in or acknowledge this bug.
Just send a comment here if you update the experimental code and want me to verify it again before release and inclusion in Minecraft.

Short update:
The fix for the crash has been merged and should be included in the next nightly LWJGL build.

Unfortunately the experimental fix for the fullscreen issue breaks other things (multi-threaded rendering) and therefore cannot be included in LWJGL.

It is still unknown why exactly the creation of the fullscreen window sometimes fails and sometimes works.
This may be a driver bug, a bug in LWJGL or something else. Since I don't have a system with a AMD graphics I really cannot dig into this any further, sorry for that. (the fix last week was created on a borrowed machine).

As suggested on github, Minecraft may be able to circumvent this by creating the window differently. (that is, destroying it and then creating a new one instead of switching).
Besides, most dev effort is going into LWJGL 3 these days and it is unlikely the way of things internally work in LWJGL 2 will be changed.

Until this is done, 2 things come to my mind that users can do:

1. Continue using the somewhat broken fix I provided above. I will not take it down in the near future and since it seems not to break anything in minecraft this may be the simplest solution (if the launcher can be reliably tricked in to accepting the .jar)
2. Emulate fullscreen with a borderless window. Leave minecraft in windowed mode and instruct your window manager to remove the borders and resize it to your full screen resolution. Depends on your window manager if this is possible for you. I am using KDE and it is definitely possible there. You can even create a rule to apply this automatically when the minecraft window appears.

Alexander Lindqvist

Have played several hours now and the experimental fix is stable with radeonsi on a few different computers. No crashes.
The launcher does not replace the fixed lwjgl so we can play online without problems. Thanks tulius for taking the time on this!

@Mojang
Can we try changing the way fullscreen works like suggested in the github thread above ie destroy and recreate and get this into 1.8.1?
This is a really annoying bug that affects all users of radeonsi.

Alexander Lindqvist

(Unassigned)

Unconfirmed

fullscreen, linux

Minecraft 1.8

Retrieved