BufferCapabilities bc = gc.getBufferCapabilities();
if (caps.getDoubleBuffered() && !bc.isPageFlipping()) return false;
if (caps.getStereo() && !bc.isMultiBufferAvailable()) return false;
if (!fullscreen && bc.isFullScreenRequired()) return false;
// Check hardware acceleration
ImageCapabilities ic = bc.getBackBufferCapabilities();
if (caps.getHardwareAccelerated() && !ic.isAccelerated()) return false;
if (fullscreen && !gc.getDevice().isFullScreenSupported()) return false;
// Default: OK
return true;
}