lwjgl 2.8.3 and kwin (also compix) fullscreen

Hi
I can’t understand why if i set Display.setFullscreen to true, it doesn’t go fullscreen but it’s like a big window (with button, border, title bar)

lwjgl say that this as been fixe3c since lwjgl 2.5… maybe I have to use other class instead of Display?

here the initialization code of the Display:

public void setDisplayMode(int width, int height, boolean fullscreen) {
		System.out.println("DisplayMode: " + Display.getDisplayMode());
		/*
		 * // return if requested DisplayMode is already set if
		 * ((Display.getDisplayMode().getWidth() == width) &&
		 * (Display.getDisplayMode().getHeight() == height) &&
		 * (Display.isFullscreen() == fullscreen)) { return; }
		 */

		try {
			DisplayMode targetDisplayMode = null;

			if (fullscreen) {
				DisplayMode[] modes = Display.getAvailableDisplayModes();
				int freq = 0;

				for (int i = 0; i < modes.length; i++) {
					DisplayMode current = modes[i];

					if ((current.getWidth() == width)
							&& (current.getHeight() == height)) {
						if ((targetDisplayMode == null)
								|| (current.getFrequency() >= freq)) {
							if ((targetDisplayMode == null)
									|| (current.getBitsPerPixel() > targetDisplayMode
											.getBitsPerPixel())) {
								targetDisplayMode = current;
								freq = targetDisplayMode.getFrequency();
							}
						}

						// if we've found a match for bpp and frequence against
						// the
						// original display mode then it's probably best to go
						// for this one
						// since it's most likely compatible with the monitor
						if ((current.getBitsPerPixel() == Display
								.getDesktopDisplayMode().getBitsPerPixel())
								&& (current.getFrequency() == Display
										.getDesktopDisplayMode().getFrequency())) {
							targetDisplayMode = current;
							break;
						}
					}
				}
			} else {
				targetDisplayMode = new DisplayMode(width, height);
			}

			if (targetDisplayMode == null) {
				System.out.println("Failed to find value mode: " + width + "x"
						+ height + " fs=" + fullscreen);
				return;
			}

			Display.setDisplayMode(targetDisplayMode);
			Display.setFullscreen(fullscreen);

		} catch (LWJGLException e) {
			System.out.println("Unable to setup mode " + width + "x" + height
					+ " fullscreen=" + fullscreen + e);
		}
	}

How about:


Display.setDisplayMode(Display.getDesktopDisplayMode());
Display.setFullScreen(true);

not enought ;D

edit: worked out not all resolution support fullscreen, you have to check

I have experienced a similar thing since 2.8.2, using libgdx and on win7. Used to work pre 2.8.2, but I wasn’t sure if it was related to libgdx or lwjgl. Seems like lwjgl is the common denominator here.

I am guessing that I am using what ra4king is suggesting, only with libgdx syntax:


			LwjglApplicationConfiguration lwjglAppCfg = new LwjglApplicationConfiguration();
			DisplayMode dispMode = LwjglApplicationConfiguration.getDesktopDisplayMode();
			lwjglAppCfg.setFromDisplayMode(dispMode);
			lwjglAppCfg.fullscreen = true;
			new LwjglApplication(new MyGame(), lwjglAppCfg);

It really should work with the native resolution. Anything else would be really annoying.

Works fine on OS X though. Could have something to do with screen res are different.

also seems that sync() in compix give some problem, so my friend used sleep(), maybe is not so accurate, but it’s good enough