Вы можете использовать оба из них.XCB проще в использовании, лучше реагирует на многопоточную среду, но не имеет документации, в то время как Xlib - более устаревший / сложный инструмент, лучше документированный и полностью реализованный.
В настоящее время я изучаю API-интерфейс XCB итруднее всего найти документы и хорошие ссылки на API.
В конце концов: если вы стремитесь к более быстрой разработке, вам следует использовать Xlib, в противном случае XCB должен стать будущим (но до него еще далекоБыть таким).