Где можно прочитать, как работает графическая подсистема linux?
т.е. в идеале это должна быть статья, в статье svg-картинка с компонентами, в картинке гиперссылки на документацию по компонентам.
Меня интересует поддержка нескольких GPU на одной видеокарте.
я тут сейчас букв понапишу, а вы поправьте, если что:
Ясно, что есть центральный процессор, есть видеокарта, между ними находится микросхема-мост (которая входит куда? в состав чипсета или в состав самого центрального процессора?). Эта микросхема мост с одной стороны соединяется с процессором через неясно-какую шину (данных и портов), а с другой стороны соединяется с видеокартой через шину PCIe
Для того, чтобы управлять шиной PCI через мост в ядре linux есть («menuconfig» -> bus options -> PCIe support) -
http://how-to.wikia.com/wiki/How_to_configure_the_Linux_kernel/drivers/pci/pcie
В видеокарте тоже есть память, процессоры, значит должен быть чипсет видеокарты. Не знаю, как называются эти модули в ядре. И должны быть модули для самих графических процессоров.
Поверх всего этого запускаются драйверы видеокарты из состава Xorg-сервера (одни нужны потому, что предоставляют общий API для разных карт, в то время как драйверы ядра предоставляют возможности специфичные для отдельных видеокарт? Или зачем вообще два комплекта драйверов?)
Поверх этих драйверов запускается Mir, поверх него XMir
последний предоставляет API X-сервера, которым пользуются прикладные программы (такие как XFCE, xfwm и xterm)
Мне ещё непонятно, чем xfce от xfwm отличается. И как именно xfwm управляет окнами? xfwm является композитным менеджером окон (или включает его в себя?).
Композитность очень важна для того, чтобы делать полупрозрачные окна (так ли это?).
Поверх всего этого запускается библиотека абстракций некоего фреймворка, типа питона или моно (как она в mono называется и где лежит?)
А в моно полупрозрачные окна нужны для того, чтобы работал дизайнер WinForms в Monodevelop.
The main stumble point is the lack of true Control transparency (WS_EX_TRANSPARENT), which is not yet supported by the MWF X11 backend, but is required for a proper Drag and Drop and other interaction (snap lines, etc) on the design service. There is WinForms bug in our bug tracker for this problem - http://bugzilla.novell.com/show_bug.cgi?id=323819.
В общем, как-то слишком много надо всего прочитать перед тем как просто взять и получить работающую программу в работающей операционке... И никак это в одном месте не сведено. Не ставят авторы интернета достаточного количества гиперссылок, чтобы всё было пролинковано...