Cairo смотрел.На первый взгляд подходит,хотя и немного медленне за иксы. А по поводу создаёш из им. пикс. и обратно ЭТО КАК??? И не займёт ли это кучу ресурсов???
XImage не Drawable, поэтому нарисовать туда этими функциями по другому нельзя. Если нужны только линии, то хватило бы и XPutPixel() - она работает с XImage напрямую.