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

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

Модератор: terminus

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

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

Непрочитанное сообщение paradox » 2009-08-13 23:42:44

набросал кода по емуляции функций биоса
взял x86emu с openbsd
прикрутил на скорую руку
запихнул в модуль ядреный аля test.ko
все работает
переводит в графический режим
и обратно

тоесть это для теста

надо до реализовать что бы можно было передавать блоки данных аля es:di итд
что бы можно было прочитать VESA даные
и дальше схрестить его с драйверов vesa.ko из i386 архитектуры
и вуаля))) то что я хотел будет работать
тоесть графическая консоль для amd64

Хостинговая компания 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/

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение Alex Keda » 2009-08-14 7:26:57

в рассылку посылал? или хотя бы на форум фряшный?
шоп код не пропал...
Убей их всех! Бог потом рассортирует...

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-14 11:10:12

там того кода))))
к томуже пока еще кое что не работает(((

зы
я разобрался почему у меня мои архивы пропадают под юниксой
я оказыватеться вместо tar cjvf набираю для архивации tar xjvf ))))))

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-14 14:14:36

круть)
все пофиксил
прикручиваю к vesa.c
и сделаю архитектурно независимый vesa драйвер

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-14 14:57:19

paradox.lissyara.su/test.tar.bz2

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

VESA BIOS detected
v_version is 768, v_oemstr is 0x00002100,
        v_venderstr is 0x00002107, v_prodstr is 0x0000211a,
        v_revstr is 0x00002133, v_modetable is 0x00002022
VESA VBE Version 3.0
VESA VBE Total Mem: 32768 kB
VESA VBE OEM: NVIDIA
VESA VBE OEM Software Rev: 5.81
VESA VBE OEM Vendor: NVIDIA Corporation
VESA VBE OEM Product: Crush50 Board - c51pv0
VESA VBE OEM Product Rev: Chip Rev
VESA modes:
0x0100 graphics mode: 640 x 400 x 8 bpp
0x0101 graphics mode: 640 x 480 x 8 bpp
0x0102 graphics mode: 800 x 600 x 4 bpp
0x0103 graphics mode: 800 x 600 x 8 bpp
0x0104 graphics mode: 1024 x 768 x 4 bpp
0x0105 graphics mode: 1024 x 768 x 8 bpp
0x0106 graphics mode: 1280 x 1024 x 4 bpp
0x0107 graphics mode: 1280 x 1024 x 8 bpp
0x010e graphics mode: 320 x 200 x 16 bpp
0x010f graphics mode: 320 x 200 x 32 bpp
0x0111 graphics mode: 640 x 480 x 16 bpp
0x0112 graphics mode: 640 x 480 x 32 bpp
0x0114 graphics mode: 800 x 600 x 16 bpp
0x0115 graphics mode: 800 x 600 x 32 bpp
0x0117 graphics mode: 1024 x 768 x 16 bpp
0x0118 graphics mode: 1024 x 768 x 32 bpp
0x011a graphics mode: 1280 x 1024 x 16 bpp
0x011b graphics mode: 1280 x 1024 x 32 bpp
0x0130 graphics mode: 320 x 200 x 8 bpp
0x0131 graphics mode: 320 x 400 x 8 bpp
0x0132 graphics mode: 320 x 400 x 16 bpp
0x0133 graphics mode: 320 x 400 x 32 bpp
0x0134 graphics mode: 320 x 240 x 8 bpp
0x0135 graphics mode: 320 x 240 x 16 bpp
0x0136 graphics mode: 320 x 240 x 32 bpp
0x013d graphics mode: 640 x 400 x 16 bpp
0x013e graphics mode: 640 x 400 x 32 bpp
мае))) жду ваших

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-14 17:22:34

:Yahoo!: :Yahoo!: :Yahoo!:
тестировалось на amd64 8-current

paradox.lissyara.su/vesa.tar.bz2

пересобираем ядро с опцией

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

options SC_PIXEL_MODE
далее заходим в папочку vesa
собираем драйвер

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

make 
make load
далее

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

vidcontrol -i mode
список всех режимов

8 битные не поддерживаються фреймбуфером
нужно отдельно патчить
но 32 бита на ура
16bit тоже поидеи должны работать(попозже буду тестить все режимы и пофиксю 8bit)
я люблю 800x600x32
у меня это номер 277

переключаем консоль

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

vidcontrol  MODE_277
и радуемся жизни в консоли)))

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

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

allscreens_flags="MODE_277"
ну и незабываем проинсталлить vesa.ko

из папочки vesa

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

make install
и в

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

/boot/defaults/loader.conf

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

vesa_load="YES"
:Yahoo!:

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-14 17:54:55


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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение Гость » 2009-08-15 8:26:04

FreeBSD 8.0-CURRENT r196235M amd64
карточка

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

vgapci0@pci0:1:0:0:     class=0x030000 card=0x34811458 chip=0x062210de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    device     = 'nVidia (nVidia GeForce 9600GT)'
    class      = display
    subclass   = VGA
    bar   [10] = type Memory, range 32, base 0xf6000000, size 16777216, enabled
    bar   [14] = type Prefetchable Memory, range 64, base 0xe0000000, size 268435456, enabled
    bar   [1c] = type Memory, range 64, base 0xf4000000, size 33554432, enabled
    bar   [24] = type I/O Port, range 32, base 0xb000, size 128, enabled
    cap 01[60] = powerspec 3  supports D0 D3  current D0
    cap 05[68] = MSI supports 1 message, 64 bit enabled with 1 message
    cap 10[78] = PCI-Express 1 endpoint max data 128(128) link x16(x16)
    cap 09[b4] = vendor (length 20)
  • режимы определяются, переключение между ними работает за исключением текстовых; высокое разрешение как всегда тормозное
  • jfbterm + w3m с картинками работают; можно смотреть/обсуждать скриншоты на ЛОРе ;)
  • SDL_VIDEODRIVER=vgl тоже работает. mplayer показывает видео, с тормозами.
    Но по завершению показа оставляет пустой черный экран без возможности переключится на сосоедний терминал, ибо портится раскладка клавиатуры, т.е. нажатие привычных кнопок выводит совершенно неожидаемые символы.
  • переключение между Xserver + DRM (nouveau) и консолью в vesa режиме не работает - виден только пустой черный экран. В логе

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

    VESA: set_mode(): 24(18) -> 277(115)
    VESA: about to set a VESA mode...
    VESA: mode set!
    VESA: setting up LFB
    vesa_map_buffer: paddr:f5000000 vaddr:f5000000 size:e00000 off:0
    vesa_set_mode(): vi_width:800, len:3200, line_width:3200
    info: [drm] Unhandled PFIFO_INTR - 0x00000010
    info: [drm] Unhandled PFIFO_INTR - 0x00000010
    info: [drm] Unhandled PFIFO_INTR - 0x00000010
    info: [drm] Unhandled PFIFO_INTR - 0x00000010
    info: [drm] Unhandled PFIFO_INTR - 0x00000010
    info: [drm] Unhandled PFIFO_INTR - 0x00000010
    info: [drm] Unhandled PFIFO_INTR - 0x00000010
    info: [drm] Unhandled PFIFO_INTR - 0x00000010

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

        mode#     flags   type    size       font      window      linear buffer
    ------------------------------------------------------------------------------
     24 (0x018) 0x00000001 T 80x25           8x16  0xb8000 32k 32k 0x00000000 32k
    277 (0x115) 0x0000000f G 800x600x32 1    8x16  0xa0000 64k 64k 0xf5000000 14336k
    Но работает:
    • Xserver + DRM <-> консоль в текстовом режиме
    • Xserver + NoDRM <-> консоль в текстовом и vesa режиме

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 11:03:00

у меня и оригинальный веса на i386 глючил с переключениями в xorg
токо не помню в какой комбинации

так что можно списать на глючный sys/vm в бсд гдето там страницы мешаються

_Andy
проходил мимо

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение _Andy » 2009-08-15 11:17:31

paradox писал(а):у меня и оригинальный веса на i386 глючил с переключениями в xorg
токо не помню в какой комбинации

так что можно списать на глючный sys/vm в бсд гдето там страницы мешаються
В 7.2 RELEASE пойдет (теоретически)? Или можно не пытаться и время не терять?

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 11:20:55

теоретически пойдет на всех

>гость
а есть какойто мульти терминал? мне именно это и нужно в бсд
например запускаешь какойнибудь multiterm
и утебя много term которыми ты управляешь
все такие же кнопочки закрыть свернуть итд

под линухом нашел что то наподобии FBUI
под бсд что то нет((
а то чувствую буду писать свое((

_Andy
проходил мимо

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение _Andy » 2009-08-15 11:24:26

paradox писал(а):теоретически пойдет на всех

>гость
а есть какойто мульти терминал? мне именно это и нужно в бсд
например запускаешь какойнибудь multiterm
и утебя много term которыми ты управляешь
все такие же кнопочки закрыть свернуть итд

под линухом нашел что то наподобии FBUI
под бсд что то нет((
а то чувствую буду писать свое((
screen?

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 11:32:20

в нем есть окошечки, прокрутка как в примеру rxvt под xorg ?
и кнопочки закрыть свернуть и что бы окошечки можно было тягать?

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

_Andy
проходил мимо

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение _Andy » 2009-08-15 11:36:29

paradox писал(а):в нем есть окошечки, прокрутка как в примеру rxvt под xorg ?
и кнопочки закрыть свернуть и что бы окошечки можно было тягать?

посмотри FBUI это линуксовая разаработка которую уже давно кажись прикрылась
вот что то на подобии такого хочу
http://home.comcast.net/~fbui/
оно?

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 11:39:22

оно
Copyright © 2004-2009 by Zack Smith.
:-D
когда ночью качал соурсы не заметил

_Andy
проходил мимо

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение _Andy » 2009-08-15 11:41:28

paradox писал(а):оно
Copyright © 2004-2009 by Zack Smith.
:-D
когда ночью качал соурсы не заметил
2.6.9 ядро. У меня такого нету. Сходу припомнается CentOS 4.6, в котором именно
2.6.9, но со своим патчсэтом, такие серверы стоят в продакшене, насколько я знаю.
У меня есть возможность на 2.6.18 попробовать.

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 11:45:02

смотри ниже там livecd есть
метров на 11

_Andy
проходил мимо

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение _Andy » 2009-08-15 11:56:37

paradox писал(а):смотри ниже там livecd есть
метров на 11
Так его записать еще надо, а у меня под рукой ничего нету.

_Andy
проходил мимо

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение _Andy » 2009-08-15 13:01:03

На семерке даже собираться не хочет:

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

vesa.c:903: warning: passing argument 1 of 'dump_buffer' from incompatible pointer type
vesa.c:854: warning: unused variable 'err'
vesa.c: In function 'vesa_set_mode':
vesa.c:1356: warning: assignment makes integer from pointer without a cast
vesa.c: In function 'vesa_set_origin':
vesa.c:1532: warning: unused variable 'err'
vesa.c: In function 'vesa_unload':
vesa.c:1976: warning: passing argument 1 of 'pmap_unmapdev' makes integer from pointer without a cast
vesa.c: At top level:
vesa.c:832: warning: 'vesa_fix_ptr' defined but not used
cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc   -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -c scvesactl.c
scvesactl.c:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
scvesactl.c: In function 'vesa_ioctl':
scvesactl.c:30: error: 'struct tty' has no member named 'si_drv1'
scvesactl.c:92: error: 'prev_user_ioctl' undeclared (first use in this function)
scvesactl.c:92: error: (Each undeclared identifier is reported only once
scvesactl.c:92: error: for each function it appears in.)
scvesactl.c: In function 'vesa_load_ioctl':
scvesactl.c:101: error: 'prev_user_ioctl' undeclared (first use in this function)
scvesactl.c:104: warning: assignment from incompatible pointer type
scvesactl.c: In function 'vesa_unload_ioctl':
scvesactl.c:111: warning: comparison of distinct pointer types lacks a cast
scvesactl.c:113: error: 'prev_user_ioctl' undeclared (first use in this function)
*** Error code 1

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

powercharge# uname -a
FreeBSD powercharge.moskb.local 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #0: Sat Aug 15 13:24:15 MSD 2009     andy@powercharge.moskb.local:/usr/obj/usr/src/sys/MYKERN  i386
powercharge#

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 13:04:47

возьми с 7 scvesactl.c
в каталоге /usr/src/sys/dev/syscons/
и замени его
должно собраться

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 13:13:08

и поправь в нем строчку

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

#include <machine/pc/vesa.h>
на

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

#include "vesa.h"

_Andy
проходил мимо

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение _Andy » 2009-08-15 13:37:21

Спасибо, модуль собрался.
Вопрос - для чего нужен .kld файл?
Я на выходе такое получил:

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

7348639 -rw-r--r--  1 root  wheel    71K 15 ??? 14:33 newvesa.kld
7348641 -rwxr-xr-x  1 root  wheel    73K 15 ??? 14:33 newvesa.ko
p.S: на название не обращай внимание, это я порт сделал :)

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 13:41:13

а хз
после

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

make install 
оно поставить токо нужные остальные можно будет

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

make clean cleandep
end

если verbose поднять до 9 sysctl то после загрузки модуля можно кое какие логи увидеть по найденым режимам

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

Re: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение Andy » 2009-08-15 13:43:31

Сейчас попробую в хомяка заинсталлить, дабы поглядеть какие файлы инсталлируются,
что бы порт поправить. Кстати, тебе порт нужен? :)
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: RELENG_8, или /stable/8 ответвился

Непрочитанное сообщение paradox » 2009-08-15 13:47:17

у лиса посмотри в драйвер скайстара
там не все так просто с установочными файлами драйверов

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