графическая консоль

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-26 17:39:43


Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-26 17:52:16

насчет гуи в ядре
это вроде как патентованая технология майкрософта :-o
хреново
если реализовать в бсд могут не принять

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-26 18:13:19

paradox писал(а):насчет гуи в ядре
это вроде как патентованая технология майкрософта :-o
пусть UI занимаются readline/ncurses/gtk/qt/etc. Нам ведь нужен только графический режим в самом начале загрузки?
paradox писал(а):не ну если ты уже попробовал ))
кстати куему вроде все те архитектуры поддерживает?
ia64 и pc98 собираются, но qemu их не умеет эмулировать.

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-26 18:16:08

кстати о UI, чем termios(4) не подходит на эту роль? Так что уже поздно ;)

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-26 18:26:08

про GUI в ядре я имел ввиду вообще
для создания аналога xorg


а то что в начале загрузки,.... можно попробовать подвинуть SI_ORDER_ для vesa может сработает
но загвоздка в другом

vga это то что инициализируеться самое первое RENDER устройство потому что нужно уже выводить на экран
это RENDER драйвер который обращаеться токо напрямую к портам ввода вывода
он не юзает PCI_* периферию

vesa это обертка над vga
и впринципе может быть подвинута раньше до всех драйверов до уровня vga
но есть еще s3_pci
который уже являеться классом PCI_* устройств и оберткой для vesa
и если двигать vesa вверх то желательно двигать и s3_pci
и вот сдесь я не уверен можно ли класс PCI_* устройтсв дивигать так далеко

если можно
то тогда в принципе можно переделать весь vga/vesa/s3_pci для i386/amd64 (как минимум) в один общий драйвер (как сделано в netbsd/openbsd)
который будет грузиться в начале(тогда когда нам нужно) что бы уже весь бут переводить с графический режим

еще один ньюанс
я не знаю как и что будет выполнять ed@
но если то что я вижу
то скорее всего полелит весь syscons и fb
посему то что кричал тот чел когда мы начали вводить vesa это фантики
посравнению с тем как будут кричать юзеры когда ed@ убирет вообще syscons и fb


что ты имеешь ввиду под UI ? User Interface ?
а причем тут termios ?
хм

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-26 18:28:26

пусть UI занимаются readline/ncurses/gtk/qt/etc. Нам ведь нужен только графический режим в самом начале загрузки?
аааа понял
нее
нафиг gtk qt
это графические интерфейсы (обертки для GUI API)
они своим так и будут заниматься

а GUI это основные елементы прорисовки окон итд
обратка сообщений от окон по типу DefWindowProc как в винде
создание базового окна
прорисовка при перетаскивании
обработка трех кнопок в крайнем углу
итд

вот на использование GUI в ядре
судя по гуглю у майкрософта патент :-D

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-26 18:47:12


paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-26 21:43:31

не помню говорил или нет
но пообщался с ed@ насчет его сайта
оказываеться он знает что под експлоером оно не работает
у него там динамик html кажись
который ie8 не поддерживает
и как говорит ed@ ему пофиг

хотя как по мне
можно было сделать и более человечно
а то получаеться сайт для избранных

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-26 22:13:06

долго он думал
Ed Schouten @ Wed, 24 Dec 2008 11:24:44 +0100 писал(а): > Anonymous <swell.k@gmail.com> wrote:
> BTW, it would be nice if xterm emulation support extension to display
> 256 colors
>
> :AB=\E[48;5;%dm:\
> :AF=\E[38;5;%dm:
>
> at least up to first batch of 8 colors and ignoring rest.

The reason why I didn't add support for 256 colors, is because it would
require fundamental changes to all syscons drivers as well. I'll look in
to it after I've committed this version.
Только для замены jfbterm не подходит. 256 цветов удобно использовать в vim/emacs для раскраски кода.
paradox писал(а):что ты имеешь ввиду под UI ? User Interface ?
а причем тут termios ?
да, User Interface. Все, где обрабатывается ввод/вывод от пользователя, имеет интерфейс. Один из самых простейших - termios (стирание символа, вывод состояния процесса, остановка/продолжение ввода/вывода), с панелью управления в stty(1).
paradox писал(а):vesa это обертка над vga
много кода надо брать из vga, чтобы сделать vesa таким же? Пофиг на текстовые режимы, сделав MODE_277 (или любой другой в hint.vesa.0.vesa_mode) дефолтом.
paradox писал(а):и если двигать vesa вверх то желательно двигать и s3_pci
и вот сдесь я не уверен можно ли класс PCI_* устройтсв дивигать так далеко
а в s3_pci PCI_* класс разве нужен для чего-то еще кроме PCI_S3_VENDOR_ID? Может лучше запихнуть его в vesa вынеся в отдельный `ifdef', например, VESA_S3_QUIRK.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-26 22:36:55

да, User Interface. Все, где обрабатывается ввод/вывод от пользователя, имеет интерфейс. Один из самых простейших - termios (стирание символа, вывод состояния процесса, остановка/продолжение ввода/вывода), с панелью управления в stty(1).
для реального создания GUI который бы мог потом заюзать теже gtk/qt - этот подход не подойдет
да и тормозить будет
ибо все события в termios и stty идут через что то подобное kevent
тоесть очередь дескрипторов
вообщем это не тот путь

а мне нужен callback процедуры зарегистрированы в юзер моде
которые можно было бы выполнить в кернел моде
много кода надо брать из vga, чтобы сделать vesa таким же? Пофиг на текстовые режимы, сделав MODE_277 (или любой другой в hint.vesa.0.vesa_mode) дефолтом.
да вопрос даже не в этом
можно частично и какие то текстовые оставить
вопрос в "мыслях @ed" токо он знает к чему и как он хочет привести
посему мои желания что то улучшить погут быть опосля удалены ed@
поэтому вопрос в том что нужно угадать что хочет сделать ed@
и как он это хочет
что бы то что было сделано - сразу же было взаимодействовано(заюзано) с тем что сделал ed@
а в s3_pci PCI_* класс разве нужен для чего-то еще кроме PCI_S3_VENDOR_ID? Может лучше запихнуть его в vesa вынеся в отдельный `ifdef', например, VESA_S3_QUIRK.
нужен [1]

в даном случае это PCI_* инфраструктура для доступа через pci_ шину к io отмапленным портам ввода/вывода и памяти LFB буффера
простой пример
порт 0x3ec к примеру это VGA регистр
так вот в любой ОС нельзя быть уверенным на все 100% что это порт будет за VGA
потому что PCI арбитр может перемапить ео куда и как угодно (тот же ACPI)
посему используют доступ через PCI_* инфрастуктру
которая точно скажет участок io
при котором (io+0x3ec) = будет дествительный port VGA

1.
но вопрос не токо в s3_pci
к примеру фиг с ней с s3_pci
и допустим уже сделан vesa.c который уже показывает все в граффике (и грузиться в самом начале)
теперь следующий шаг
это написания драйверов для каждой отдельной видео карты
что бы заюзать например аппаратное ускорение (а в дальнейшем и не только отдать это ускорение GUI - если такова будет)
и вот сдесь уже нужно писать PCI_* драйвера
и они так же должны быть на том же уровне инициализации где и vesa

судя по newcons ed@ в hw/vga.c
он инициализирует как PCI_* на том уровне
значит теоретически это делать можно
но меня почему то гложат сомнения

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-26 22:58:23

vt.h

Код: Выделить всё

#define VT_CONSDEV_DECLARE(driver, width, height, softc)                \
......
TERMINAL_DECLARE_EARLY(driver ## _consterm, vt_termclass,               \
    &driver ## _conswindow);                                            \
SYSINIT(vt_early_cons, SI_SUB_INT_CONFIG_HOOKS, SI_ORDER_ANY,           \
    vt_upgrade, &driver ## _consdev)
SI_SUB_INT_CONFIG_HOOKS
вот он где их инициализирует
хм

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-27 1:07:10

вот кстати проблемка
VESA может работать токо с примари видео адаптером
а как заставить все видео адптеры которые есть в системе?
воооот
вот сдесь и нужна PCI_ периферия
и нужно расширять функции in*/out* на PCI_* периферию
тогда можно все адаптеры которые есть в системе заюзать

как раз у меня
S3
NV6150 onboard
и AGP FX5200
так что впринципе есть на чем проверить эту идею

если получиться
то можно допатчить
и сделать wide screen :crazy:

правда моник токо один есть
но идею то проверить можно будет
интресно много народу заинтерисует эта фигня.... :-D :crazy:

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-27 1:29:42

и опять же проблема

заюзав PCI_* периферию
тоесть приаттачившись к каждому видео адаптеру что бы перевести его в режим VESA
нельзя уже будет загрузить драйвера видео карт к примеру nvidia (и для amd64 когда они их выпустят)
и наоборот
загрузив драйвера nvidia уже нельзя будет заюзать vesa
ибо те же регистры что юзает драйвер nvidia юзает и vesa(через видео биос который и предоставляеться самой же видео картой производителя)

тоесть нужно уже сидеть и ломать голову каким образом к чему цепляться :crazy:

к чему я веду
к тому что VESA и всеми вкусностями типа создания wide screen для обьединения нескольких адаптров в один виртуальный с большим екраном
уже нельзя будет если юзать драйвера от производителя

либо нужно сидеть и ломать голову уже над прослойкой по типу videoport которую бы юзали и проприетарные драйвера и VESA
тогда они теоретически смогут красиво распределять и арбитражировать ресурсы между собой через эту прослойку

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-27 1:33:09

и вспоминаеться вопрос о палитре
почему она ломаеться
да потому что драйвера xorg ее перенастраивают под себя
а веса ее не сохраняет и не восстанавливает


ps
увы x86bios прийдеться наверное переделывать в x86int10() для вызова этого видео прерывания
поскольку нужно переделывать in*/out* порты дотупа

и еще вспомнилось
что
каждый видео адаптер имеет собственный видео биос
но в область VBIOS по дефолту копируеться при POST инициализации компа
токо один биос
посему нужно еще сидеть и думать как добраться к каждому биосу отдельно
натравить на него x86bios
и заставить выполняться с учетом in*/out* портов для каждого

чувствую что x86bios наверное смениться на x86int10 модуль

зызы
чувствую нужно опять разбирать соурсы xorg что бы понять как они цепляют "vesa" к именно шине адартера -если коненчо они это могут

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-27 3:13:11

даааа
жаль что нет видео отчета или каких то слухов о чем говорилось на самите по теме что предлагал ed@
было бы интерeсно....

кстати ed@'у вообщем то и vesa не нужна
у него уже есть vga котроый переводит в графический режим 640x480
думаю он его планирует как стандартный режим по дефолту вместо 80x25

так что vesa это как игрушка

но впринципе реально попробовать ее переделать/усовершенствовать
сделав что бы она опционально цеплялась к всем найденым видеоадаптерам но которые разрешены из списка device.hint [1] для использования новым vesa.ko
который уже не будет хучить что то (сечас он хучит vga а после vesa ее же саму хучит s3_pci)
а будет полноценно регистрировать все видео адаптеры в системе vid_*
и которые уже сразу можно будет прописывать из того же device.hint для какой консоли используеться отображение на видео адаптер
а там я думаю и до панорамных режимов не далеко
по типу

Код: Выделить всё

vidcontrol wide vga0,vga1,vga2 vga3,vga4,vga5
будет обозначать
что есть в системе 6 видео адаптеров к примеру :crazy:
первые три vga0,vga1,vga2 обьеденяються в первую строку
вторые три в другую нижнюю стрку
в итоге имеем панорамный скрин
2x3
а если еще и при максимальном разришении каждого то это писеццццц :crazy: :crazy:

1. это разрешит конфликты с пропретарной nvidia и другими картами
но увы и скорее всего
невозможно будет заюзать один и тот же адаптер
для
1) работы иксов
2) использованием во всех консолях vesa режимов

а если и можно то нужно пересматривать всю DRM систему
ибо из исков, драйвера имею доступ к io* через /dev/pci (кроме nvidia)
но DRM имеют доступ и перехватывают (фактически являються pci драйверами) уже в системе сам PCI драйвер
а второй раз к нему не подключишься (((
другими словами
если уже приаттачиться vesa как pci драйвер
то drm драйвер уже не сможет приаттачиться
соответственно нужно переделать DRM систему так
что бы она аттачилась к PCI через vesa драйвер
а сам vesa наверное уже расспадеться на два составляющих драйвера, videoport как HAL к которому уже аттачиться две над системы
vesa и drm
вот так они точно ужитья смогу

это будет уже красиво
а как говорил один мой препод
то что спроектировано красиво - работает идеально - ибо в природе/жизне/etc все в гармонии

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35267
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: графическая консоль

Непрочитанное сообщение Alex Keda » 2009-09-27 19:16:07

интересно пишешь...
надо было вместо иопса и шизоида тебя захватить на конфу =)
чтоб рассказал всё это там =)
=======
Alex Keda - это реальное имя. вольная транслитерация от Кеда Алексей
А вообще - ты бы лучше рассекретился, да своё имя вставил. ибо именно к этому Гвест и подводил, помоему =)
Убей их всех! Бог потом рассортирует...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-27 19:24:44

1) это все никому нафиг не надо, потому как бсд развиваеться как сетевая ОС (об этом уже говорили)
2) Ли согласился на копирайт Алекс Кеда и показал диффы но почему то еще не заккомитил их(странно)
3) я не такая уж и фигура что бы раскрываться, гвестом быть проще
4) то что я пишу это для тех потомков которые захотят все таки реализовать то что не реализую я

все таки хочеться узнать о чем был разговор на саммите по теме ed@

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35267
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: графическая консоль

Непрочитанное сообщение Alex Keda » 2009-09-27 19:27:31

надо выждать.
думаю, в ближайшее время материалы будут выложены.
Убей их всех! Бог потом рассортирует...

Andy
ст. лейтенант
Сообщения: 1117
Зарегистрирован: 2007-03-04 7:48:58
Откуда: Mytischi

Re: графическая консоль

Непрочитанное сообщение Andy » 2009-09-27 21:07:58

paradox писал(а):3) я не такая уж и фигура что бы раскрываться, гвестом быть проще
Вот это зря. Полезно для получения работы, ведь ты фрилансер. Вот и будешь ссылаться на код,
который в ОС.
Jul 16 19:37:15 freebsd sshd[4152]: Invalid user idiot from 210.75.200.104

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-27 21:26:56

как сказал Гость про ЧСВ
а я перефразирую

"ссылаться на две строчки кода в ядре - не лучший способ доказать свои знания"

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35267
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: графическая консоль

Непрочитанное сообщение Alex Keda » 2009-09-27 21:41:13

ну, тут уже двумя модулями пахнет, а не строчками =)))
Убей их всех! Бог потом рассортирует...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-28 2:16:31

вообщем вся задумка по универсальному vesa драйверу который аттачиться ко всем видео адаптерам
пока что зависает в воздухе и похоже надолго
нет пары функций в фрибсд (которые есть в netbsd и openbsd) которые не обходимы для выделения нужного количества страниц vm
нужно 4 функции
две вроде есть
еще 2 нет при беглом изучении
и думаю даже если углубиться то все равно их нет

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-28 3:29:35

вообщем написал письмо kib@
посмотрим что он ответит
хотя думаю письмо написаное в 4 утра понять ему тяжело будет понять (в плане формулировок)
так что может все таки в обед сутра по раньше голова проясниться у меня и придумает как это все можно будет сделать по другому... посмотрим..

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-28 12:00:26

ну теперь там парадокса нет нигде
лисяра

так что ссылаться неначто :-D

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35267
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: графическая консоль

Непрочитанное сообщение Alex Keda » 2009-09-28 12:10:09

жаль =(
Убей их всех! Бог потом рассортирует...