Skip Navigation
8 comments
    • You are running Wayland
    • Your GLFW programs are using EGL, not GLX, to talk to your graphics drivers/hardware
    • glxinfo is talking to a software implementation, not your hardware
    • glxinfo's output is irrelevant if you want to talk to your hardware with your current configuration; if you want to use the software implementation recompile GLFW targeting GLX and it should match that (but will be VERY slow).
    • One of your old posts describes your GPU as: Intel GMA3100 (G31) -- is this the same system you're running on now? If so, that is ancient. It looks like that came out in 2007 -- which predates the existence of OpenGL 3.0; so, getting 2.1 as the newest context available when talking to actual hardware is not surprising...
    • is there a way to request glfw to use the software implementation (ps: yes, im using the same shitty computer)

      • Try compiling GLFW from source against GLX instead of EGL. If glxinfo is talking to a software implementation running on your system, I'd expect GLFW built to use GLX would use the same implementation on your computer.

  • 2.1 is ancient.

    A heck of a lot of old stuff has been deprecated in the intervening years.. it's possible your drivers don't support emulating that old.. although I'd found most can still do 1.x (because it was relatively simple, fixed pipeline).

    TBH though if you're writing anything new I'd start with vulkan, as it's really the next gen and nowadays supported everywhere.

  • It's more than likely that your hardware doesn't support OpenGL 4.2. While your system may be reporting that it's using version 4.2, llvmpipe is a software implementation of OpenGL rather than a hardware implementation.

    Looking at your paste bin you can see it's using Core Profile & Compatibility Profile which means that it only supports the core features of OpenGL 4.2 and provides backward compatibility with older versions of OpenGL. If you want to use the compatibility profile, the highest version you can request is 3.0, however your hardware/driver probably only supports 3.0 as Core Profiles and to why you're stuck with OpenGL 2.1.

8 comments