When running glxinfo, it finds no framebuffer configs at all. I modified it to static GLXFBConfig * choose_fb_config(Display *dpy, int scrnum) { int fbAttribSingle[] = { GLX_RENDER_TYPE, GLX_COLOR_INDEX_BIT, // GLX_RGBA_BIT, GLX_RED_SIZE, GLX_DONT_CARE, GLX_GREEN_SIZE, GLX_DONT_CARE, GLX_BLUE_SIZE, GLX_DONT_CARE, GLX_DOUBLEBUFFER, False, None }; int fbAttribDouble[] = { GLX_RENDER_TYPE, GLX_COLOR_INDEX_BIT, // GLX_RGBA_BIT, GLX_RED_SIZE, GLX_DONT_CARE, GLX_GREEN_SIZE, GLX_DONT_CARE, GLX_BLUE_SIZE, GLX_DONT_CARE, GLX_DOUBLEBUFFER, True, None }; GLXFBConfig *configs; int nConfigs; configs = glXChooseFBConfig(dpy, scrnum, 0 /* fbAttribSingle */ , &nConfigs); printf ( "choose_fb_config: glXChooseFBConfig no attrib: %d configs\n" , nConfigs ) ; if (!configs) { configs = glXChooseFBConfig(dpy, scrnum, fbAttribDouble, &nConfigs); printf ( "choose_fb_config: glXChooseFBConfig double buffer: %d configs\n" , nConfigs ) ; } return configs; } With both possible GLX_RENDER_SIZE with nConfigs always zero. Thinking I might have a firmware problem, I checked the kernel, added firmware lines and rebuilt it: CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/TURKS_smc.bin radeon/TURKS_me.bin radeon/SUMO_uvd.bin radeon/TURKS_mc.bin radeon/TURKS_pfp.bin" CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware" CONFIG_FIRMWARE_EDID=y CONFIG_FIRMWARE_MEMMAP=y Each of the firmware blobs was mentioned during the kernel build. The firmware wiki says "dmesg | grep -i firmware" should list the loaded blobs but the only line that comes up is [ 0.074919] pci 0000:00:00.0: [Firmware Bug]: reg 0x1c: invalid BAR (can't size) From googling this type of error is common, but I can't find any that match my problem, and some of the fixes involved fiddling with BIOS. # uname -rv 4.14.83-gentoo #3 SMP Wed Jan 16 15:15:10 AEDT 2019
Well, this one is kind of old. Is this still an issue?
The problem is no longer manifesting, I had forgotten about it due to lots of other problems.