Creating a fullscreen window when monitor outputs are superimposed...

Using GLFW
Brad Davis
2013-11-16
2013-11-16
  • Brad Davis
    Brad Davis
    2013-11-16

    GLFW seems to have a problem with fullscreen modes if one screen is set on top of another (working in X11 with XRandr).

    I normally set up my screens like this: 'xrandr --output DVI-I-1 --auto --pos 0x0 --primary --output DVI-D-0 --below DVI-I-1 --output HDMI-0 --auto --pos 100x100'

    The reason I'm superimposing my screens is because I'm doing software development for the Oculus Rift. It's viewed by the system as a monitor, but you can't really see normal desktop stuff through it very well, so having the output for it overlaid on one of my other monitors is usually helpful.

    Here's how it looks when I create a GLFW window using this code
    glfwWindowHint(GLFW_DECORATED, 0);
    window = glfwCreateWindow(w, h, "glfw", NULL, NULL);

    I see this:

    Good Render

    But when I try to do full screen with this code

      GLFWmonitor * target = ...;
      window = glfwCreateWindow(w, h, "glfw", target, NULL);
    

    I see this:

    Bad Render

    The Rift display is still showing the same window of the top screen, meaning I see something approximately like this:

    Bad Rift Render

    When I don't do superimposition, but instead set the Rift outside the areas covered by the existing monitors, then I don't have a problem, and the Rift display looks correct. I'd rather not have to use xrandr to reset the screen layouts every time I want to test something for fullscreen.

     
  • Camilla Löwy
    Camilla Löwy
    2013-11-16

    Please see GitHub for further discussion.