Какие существуют средства для считывания пикселей с экрана?
Под linux и под windows.
И в OpenGL есть возможность чтения буфера кадров, возможно ли с его помощью считывать вообще всё, что выводится на экран? Или только то, что выводит сам OpenGL?
Судя по описанию вы делаете амбилайт или что-то подобное. Посмотрите готовые реализации, благо что любительские проекты как правило всегда открыты. Например вот на хабре статья есть.
Вот именно софт для лайтпака я и переписываю. Гуй глючный и мешается, делаю демона. И захват в самом лайтпаке сделан через снятие скриншота и последующее его чтение, если я не ошибаюсь.