Я пишу свой собственный дисплейный сервер в качестве образовательного упражнения. Где в дереве ядра Linux мне искать документацию по графическому режиму консоли?
В принципе, как я понимаю, Xorg берет на себя управление устройством tty, а также сырым оборудованием. Где я могу найти документацию по дублированию этого действия?
решение1
Извините за повторение, но посмотрите Nano-X
источники.
git clone git://microwindows.org/microwin
В частности, взгляните на файлы:
drivers/kbd_tty.c
drivers/scr_fb.c
То, что делается в драйвере tty, очень похоже на то, что делает Xorg, иdevfb
Водительочень простая и понятная реализация.
В Linux кадровые буферы devfb в основном используют ioctl
(например, для установки/получения разрешения) и mmap
(для необработанной записи/чтения пикселей).
devfb
это всего лишь один (простой и немного более переносимый на Linux) способ доступа к графическому оборудованию.
Вместо этого драйверы Xorg состоят из драйвера ядра и интерфейса пользовательского пространства Xorg между драйвером и самим Xorg, а то, что происходит между ядром и стороной пользователя, на самом деле зависит от реализации (стандарта не существует).
Вы также можете взглянуть на SDL
или , Directfb
но Nano-X — самый чистый/простой и сам по себе сервер отображения, поэтому, вероятно, сможет помочь вам по другим вопросам, с которыми вы наверняка столкнетесь.