Страница 11 из 35

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 14:22:47
Гость
paradox писал(а):
Гость писал(а):__FreeBSD_version из <sys/param.h>?
так поддерживать не удобно будет. Удобнее так

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

.if ${OSVERSION} < 800000
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-scvesactl.c
.endif
вместо 800000 надо найти более точную версию

_Andy, проверяй на 7-stable.

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 14:23:56
paradox
ну смотря что поддерживать
или md5 менять)) или Makefile

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 14:28:23
Гость
paradox писал(а):ну смотря что поддерживать
или md5 менять)) или Makefile
дело не в md5. Я же в git не храню ifdef'ы. А отдельную ветку для этого делать пока жирно.

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 14:49:32
_Andy
Гость писал(а):_Andy, проверяй на 7-stable.
Приведи, пожалуйста, актуальный дифф порта.

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 14:53:54
Гость
_Andy писал(а):Приведи, пожалуйста, актуальный дифф порта.
актуальный дифф лежит на одном месте в vesa-kmod.diff. Я имею дурную привычку менять содержимое не предупреждая. :evil:
Так что используй `fetch -m'.

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 15:35:40
_Andy

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

powercharge# patch -sp1 -i /home/andy/ports/vesa-kmod/0006-fix-setting-graphics-mode-during-bootlog-and-extend-.patch 
1 out of 4 hunks failed--saving rejects to sys/dev/syscons/syscons.c.rej
:(

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 15:37:03
paradox
пофиксь ручками) и сделай патчи для 7

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 18:36:22
paradox
гость запость линк на порт на бсдфоруме орг
и скажи что работает порт и под 7

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 19:24:24
Гость
paradox писал(а):кстати а кто то пробовал сплешскрин? как оно выглядит хоть?
бек граунд картинка или что?
нет, как boot screen, а после загрузки как screen_saver.

Кстати, если использовать hint.sc.0.flags=0x180, то виснет сразу после выставления картинки. Попробовал воспроизвести на qemu и получил deadlock.

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

sc0: <System console> at flags 0x180 on isa0
VESA: set_mode(): 24(18) -> 261(105)
VESA: about to set a VESA mode...
VESA: mode set!
VESA: setting up LFB
vesa_map_buffer: paddr:e0000000 vaddr:e0000000 size:800000 off:0
vesa_set_mode(): vi_width:1024, len:1024, line_width:1024

KDB: enter: Line break on console
[thread pid 0 tid 100000 ]
Stopped at      kdb_enter+0x3d: movq    $0,0x681c80(%rip)

db> bt
Tracing pid 0 tid 100000 td 0xffffffff80c10700
kdb_enter() at kdb_enter+0x3d
uart_intr() at uart_intr+0x2be
intr_event_handle() at intr_event_handle+0x62
intr_execute_handlers() at intr_execute_handlers+0x5f
lapic_handle_intr() at lapic_handle_intr+0x37
Xapic_isr1() at Xapic_isr1+0xa4
--- interrupt, rip = 0xffffffff805c6e9a, rsp = 0xffffffff81072940, rbp = 0xffffffff81072a80 ---
witness_warn() at witness_warn+0x2da
_sleep() at _sleep+0x60
wait_scrn_saver_stop() at wait_scrn_saver_stop+0x4c
scsplash_callback() at scsplash_callback+0x48
splash_term() at splash_term+0x47
sc_attach_unit() at sc_attach_unit+0x39e
device_attach() at device_attach+0x79
isa_probe_children() at isa_probe_children+0x275
mi_startup() at mi_startup+0x59
btext() at btext+0x2c

db> show all pcpu
Current CPU: 0

cpuid        = 0
dynamic pcpu    = 0x4a6e00
curthread    = 0xffffffff80c10700: pid 0 "swapper"
curpcb       = 0xffffffff81072d40
fpcurthread  = none
idlethread   = 0xffffff00021cbab0: pid 10 "idle: cpu0"
curpmap         = 0
tssp            = 0xffffffff80e1df80
commontssp      = 0xffffffff80e1df80
rsp0            = 0xffffffff81072d40
gs32p           = 0xffffffff80e1cdb8
ldt             = 0xffffffff80e1cdf8
tss             = 0xffffffff80e1cde8
spin locks held:

db> show all locks
Process 0 (kernel) thread 0xffffffff80c10700 (100000)
exclusive sleep mutex Giant (Giant) r = 0 (0xffffffff80c130a0) locked @ /usr/src/sys/kern/kern_module.c:117

db> show thread 0xffffffff80c10700
Thread 100000 at 0xffffffff80c10700:
 proc (pid 0): 0xffffffff80c102a0
 name: swapper
 stack: 0xffffffff8106f000-0xffffffff8106efff
 flags: 0x210004  pflags: 0x10000
 state: RUNNING (CPU 0)
 priority: 68
 container lock: sched lock 0 (0xffffffff80c1a3c0)

db> show lock 0xffffffff80c130a0
 class: sleep mutex
 name: Giant
 flags: {DEF, RECURSE}
 state: {OWNED}
 owner: 0xffffffff80c10700 (tid 100000, pid 0, "swapper")
paradox писал(а):гость запость линк на порт на бсдфоруме орг
и скажи что работает порт и под 7
сделано

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 19:29:17
paradox
Кстати, если использовать hint.sc.0.flags=0x180, то виснет сразу после выставления картинки. Попробовал воспроизвести на qemu и получил deadlock.
:crazy:

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 19:32:26
Гость
если не трогать hint.sc.0.flags, то работает прекрасно как splash_pcx, так и splash_bmp. Кстати, из заставок работают только: blank, green, fade (не уверен), logo.
daemon, dragon, fire, rain, snake, star, warp не работают.

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 19:35:38
paradox
стоп
сплеш это картинка по время загрузки или ?

Andy а проверь на 7 тоже самое

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 19:38:31
Гость
Гость писал(а):работают прекрасно как splash_pcx, так и splash_bmp. Кстати, из заставок работают только: blank, green, fade (не уверен), logo.
не забудьте перевести тип изображения в Palette.

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

$ inkscape -w 800 BSDsPortrait.svg -e splash.png
Background RRGGBBAA: 000000ff
Area 0:0:1280:1024 exported to 800 x 640 pixels (56.25 dpi)
Bitmap saved as: splash.png

$ convert -type Palette splash.png splash.pcx

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-21 19:42:18
Гость
paradox писал(а):сплеш это картинка по время загрузки или ?
это и картинка во время загрузки, и скринсейвер после загрузки
splash(4) писал(а):
  • Splash screen
    • You can load and display an arbitrary bitmap image file as a welcome ban?
      ner on the screen when the system is about to start. This image will
      remain on the screen during kernel initialization process until the login
      prompt appears on the screen or until a screen saver is loaded and ini?
      tialized. The image will also disappear if you hit any key, although
      this may not work immediately if the kernel is still probing devices.

      If you specify the -c or -v boot option when loading the kernel, the
      splash image will not appear. However, it is still loaded and can be
      used as a screen saver later: see below.

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 0:29:53
Гость
paradox писал(а):
gnemmi писал(а):will this make it into BETA3?
yes
на чем основана уверенность? и что ты подразумеваешь под "yes", войдет в базу или будет пакет?

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 0:33:11
paradox
я думал он имел ввиду будет ли это "все работать" и для беты
))

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 9:43:30
Гость
будешь исправлять недопонимание?

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 10:09:58
_Andy
paradox писал(а):пофиксь ручками) и сделай патчи для 7
Пофиксил руками, для семерки патч следующий!

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

powercharge# cat patch-ab.patch 
--- /usr/src/sys/dev/syscons/syscons.c.orig	2009-04-15 07:14:26.000000000 +0400
+++ /usr/src/sys/dev/syscons/syscons.c	2009-08-22 10:59:58.000000000 +0400
@@ -367,17 +367,21 @@
     scp = sc_get_stat(sc->dev[0]);
     if (sc_console == NULL)	/* sc_console_unit < 0 */
 	sc_console = scp;
+	vmode = (flags >> 16) & 0x1fff;
+	 if (vmode < M_VESA_BASE || vmode > M_VESA_MODE_MAX)
+          vmode = M_VESA_FULL_800;
 
 #ifdef SC_PIXEL_MODE
     if ((sc->config & SC_VESA800X600)
-	&& ((*vidsw[sc->adapter]->get_info)(sc->adp, M_VESA_800x600, &info) == 0)) {
+     && (vidd_get_info(sc->adp, vmode, &info) == 0)) {
+
 #ifdef DEV_SPLASH
 	if (sc->flags & SC_SPLASH_SCRN)
-	    splash_term(sc->adp);
+         splash_term(sc->adp);	 
 #endif
-	sc_set_graphics_mode(scp, NULL, M_VESA_800x600);
-	sc_set_pixel_mode(scp, NULL, COL, ROW, 16, 8);
-	sc->initial_mode = M_VESA_800x600;
+          sc_set_graphics_mode(scp, NULL, vmode);
+	  sc_set_pixel_mode(scp, NULL, 0, 0, 16, 8);
+	  sc->initial_mode = vmode;
 #ifdef DEV_SPLASH
 	/* put up the splash again! */
 	if (sc->flags & SC_SPLASH_SCRN)

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 10:22:33
paradox
Гость писал(а):будешь исправлять недопонимание?
хм) мой англицкий это перевел так как я понял
а что говорил правильный англицкий?

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 10:38:56
_Andy
paradox писал(а):а что говорил правильный англицкий?
this patchset will work on BETA3 ?
p.S: МакКузик одобряет этот тред

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 10:52:59
paradox
:-D
что что
где ты там маккузика увидел

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 10:55:01
_Andy
paradox писал(а)::-D
что что
где ты там маккузика увидел
Че то патч для scvesactl.c нихрена не применяется, побороть
пытаюсь.

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 11:00:55
Гость
paradox писал(а):а что говорил правильный англицкий?
я первел так
"will this make it into BETA3?"
"попадет ли это в BETA3?"
где this = vesa портированный на x86emu.

_Andy, че-то мне не охота кидать патч специально для 7-ки в /users/Guest/vesa.
_Andy писал(а):Че то патч для scvesactl.c нихрена не применяется, побороть
там в дистфайле уже есть свой scvesactl.c. Он должен и использоваться.

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 11:03:09
paradox
ну а мы с Andy перевели по другому))
ну сечас переспросим у чела

Re: paradox эксперементирует с графической консолью

Добавлено: 2009-08-22 11:06:46
_Andy
Гость писал(а):там в дистфайле уже есть свой scvesactl.c. Он должен и использоваться.
Для семерки разве он должен использоваться? Я патчил семерочный родной файл.