LINUX.ORG.RU

История изменений

Исправление X512, (текущая версия) :

Давно интересно, чтоб тему не создавать, спрошу тут, как устроен гуй в хайку?

Через процесс app_server. В него загружаются драйвера видеокарты пользовательского режима и он принимает запросы от GUI программ по показу окон, отрисовке, принятию ввода и т.д.. Большая часть реализации видеодрайвера находится в модуле пространства пользователя под названием accelerant, модуль ядра только распознаёт железо, отображает регистры и видеопамять а также выделяет и освобождает видеопамять. Modesetting делает модуль пространства пользователя, ядро это делать не умеет. Загрузчик ядра устанавливает первичный видеорежим и передаёт указатель и параметры фреймбуфера в ядро, ядро это использует для рисования заставки. Если подходящих видеодрайверов нет, то фреймбуфер ядра может продолжаться использоваться app_server, так что GUI будет работать в любом случае.

Настоящий текстовый режим не поддерживается вообще. Есть консоль ядра, которая рисуется на фреймбуфере. Она используется для встроенного отладчика ядра KDL. Также есть программа «consoled» (console daemon), которая позволяет использовать консоль ядра в пространстве пользователя вместо GUI с app_server. Выглядит так. По умолчанию она используется только чтобы запустить отладчик пользовательского режима если упал критический сервис такой как app_server. В стандартной поставке нельзя запустить consoled с bash вместо app_server, надо править конфиги системы инициализации.

Переключаться между GUI и консолью как в Линуксе нельзя, можно только что-то одно.

Ядерная консоль на данный момент не оптимизирована и прокрутка очень медленная. GUI консоль в окне намного быстрее.

Исправление X512, :

Давно интересно, чтоб тему не создавать, спрошу тут, как устроен гуй в хайку?

Через процесс app_server. В него загружаются драйвера видеокарты пользовательского режима и он принимает запросы от GUI программ по показу окон, отрисовке, принятию ввода и т.д.. Большая часть реализации видеодрайвера находится в модуле пространства пользователя под названием accelerant, модуль ядра только распознаёт железо, отображает регистры и видеопамять а также выделяет и освобождает видеопамять. Modesetting делает модуль пространства пользователя, ядро это делать не умеет. Загрузчик ядра устанавливает первичный видеорежим и передаёт указатель и параметры фреймбуфера в ядро, ядро это использует для рисования заставки. Если подходящих видеодрайверов нет, то фреймбуфер ядра может продолжаться использоваться app_server, так что GUI будет работать в любом случае.

Настоящий текстовый режим не поддерживается вообще. Есть консоль ядра, которая рисуется на фреймбуфере. Она используется для встроенного отладчика ядра KDL. Также есть программа «consoled» (console daemon), которая позволяет использовать консоль ядра в пространстве пользователя вместо GUI с app_server. Выглядит так. По умолчанию она используется только чтобы запустить отладчик пользовательского режима если упал критический сервис такой как app_server. В стандартной поставке нельзя запустить consoled с bash вместо app_server, надо править конфиги системы инициализации.

Переключаться между GUI и консолью как в Линуксе нельзя, можно только что-то одно.

Исходная версия X512, :

Давно интересно, чтоб тему не создавать, спрошу тут, как устроен гуй в хайку?

Через процесс app_server. В него загружаются драйвера видеокарты пользовательского режима и он принимает запросы от GUI программ по показу окон, отрисовке, принятию ввода и т.д.. Большая часть реализации видеодрайвера находится в модуле пространства пользователя под названием accelerant, модуль ядра только распознаёт железо, отображает регистры и видеопамять а также выделяет и освобождает видеопамять. Modesetting делает модуль пространства пользователя, ядро это делать не умеет. Загрузчик ядра устанавливает первичный видеорежим и передаёт указатель и параметры фреймбуфера в ядро, ядро это использует для рисования заставки. Если подходящих видеодрайверов нет, то фреймбуфер ядра может продолжаться использоваться app_server, так что GUI будет работать в любом случае.

Настоящий текстовый режим не поддерживается вообще. Есть консоль ядра, которая рисуется на фреймбуфере. Она используется для встроенного отладчика ядра KDL. Также есть программа «consoled» (console daemon), которая позволяет использовать консоль ядра в пространстве пользователя вместо GUI с app_server. Выглядит так. По умолчанию она используется только чтобы запустить отладчик пользовательского режима если упал критический сервис такой как app_server. В стандартной поставке нельзя запустить consoled с bash вместо app_server, надо править конфиги системы инициализации.

Переключаться между GUI и консолью как в Линуксе нельзя, можно только что-то одно.