Лично я готов дать 10 т.р. и те кто готов присоединится к разработке или финансированию рефакторинга пусть отписываются в этой теме указав сумму, способ связи и начисления доната.
Разработчики(получатели доната) должны дополнительно указать что они за этот донат будут делать.


П.С.Хотя о чём я думаю? Линуксойды днищеброды, я хоть и курьер, а наверняка никто мой донат не переплюнет.


Мотивация:



  1. Необходимость исправить указанные Линусом ошибки: Линуса гномеры покусали?

  2. Запуск иксов на дополнительной отдельной видеокарте нарушает работу консоли на основной видеокарте.

  3. Если раньше собственно консоль и иксы пользовались раздельными драйверами, и переключение в консоль при переполнении ОЗУ приводило к переключению на другой драйвер которому для нормальной работы хватало оставшейся памяти, что позволяло запустить htop и вручную удалить занимающий всю свободную память процесс, то теперь, когда благодаря KMS иксы и консоль используют один драйвер так уже сделать нельзя, распухшая графическая программа парализует работу графики и иксах, и в консоли.


Что имхо надо, оно же ТЗ:



  1. Вынести код консоли в отдельный модуль ядра, который должен уметь принимать опции инициализации и как аргумент запуска модуля, и как опцию в командной строке ядра, при этом опции в командной строке ядра должны иметь приоритет.

  2. В состав принимаемых модулем опций должны входить:
    2.1 Однозначная идентификация используемой видеокарты по []:[][:<class>] или по [[[]:]]:][<slot>][.[]]
    2.2 Аналогично однозначная идентификация назначаемых модулю клавиатуры и мыши, может просто как список устройств без указания их типа.
    Возможно следует просто указывать конкретный root_hub, к которому буду подключатся соответствующие USB устройства.
    2.3 Модуль должен использовать только статичное выделение памяти с запретом свопинга(Мотивация 3) и принимать в опциях размер буферов, под которые сразу должен выделять память и не менять самостоятельно её в процессе работы, но возможно создание в /proc или /sys отдельной директории с параметрами через которые можно будет поменять размер тех или иных буферов.

  3. Должна быть предусмотрена возможность параллельной загрузки и работы нескольких таких модулей, на разных комплектах из видеокарты, клавиатуры и прочих USB устройств, этот модуь должен уметь проверять занятие устройств другими модулями и выдавать соответствующую ошибку и список со статусом, кто чем занят всех имеющихся устройств.

    Вообще надо подумать как будут обрабатываться конфликты занятости устройства.

  4. Модуль должен использовать только общие стандартные интерфейсы видеокарт(Мотивация 3)

  5. При запуске на той или иной видеокарте иксервера модуль должен передавать и принимать управление видеокартой аналогично тому, как это происходило до появления KMS и modesetting.

    Так же он должен суметь передать и все сопутствующие устройства ввода(тут возможно придётся попилить и икссервер)

  6. В принципе хорошо бы и сам иксервер переписать так, чтобы при параллельном запуске нескольких иксерверов на разных видеокартах каждый бы иксервер занимал устройства ввода с определённых usb root hub, ну или в общем виде расширить эту концепцию на всю шину scsi









 , , , ,






URL записи