Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс сен 23, 2018 9:23 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 126 сообщений ]  На страницу Пред. 13 4 5 6 79 След.
Автор Сообщение
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Сб апр 14, 2018 9:08 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 193
Оказывается есть такая интересная штука - strace, трассирует системные вызовы. Правда её через sudo надо запускать.
JohnXenox, а что выдаст у тебя такая команда:
Код:
sudo strace -e trace=process ./kex /cd0/1/kolibrios/games/mun/mun
?


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Сб апр 14, 2018 10:55 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 148
tsdima писал(а):
Если мы про виртуальную папку /kolibrios, то её и не нужно создавать в ~/.kex/root, она мапится программой searchap
В реальной системе - да, но как это делается в эмуляторе, я не знал, поэтому, я просто скопировал папку /kolibrios из latest-distr.7z, в папку ~/.kex/root. В результате, при запуске Eolite, папка /kolibrios становится видна в Eolite.
P.S. У эмулятора, вообще странное поведение. Если папку /kolibrios разместить в папке /root, то эту папку видит только Eolite и Shell, а другие файловые менеджеры эту папку не видят.
tsdima писал(а):
Так задумано :) Сначала каталог ~/.kex/root тоже читался, как обычная папка, но потом я решил сделать список допустимых устройств, и они в верхнем регистре.
Ясно.
tsdima писал(а):
Оказывается есть такая интересная штука - strace, трассирует системные вызовы. Правда её через sudo надо запускать.
JohnXenox, а что выдаст у тебя такая команда:
Код:
sudo strace -e trace=process ./kex /cd0/1/kolibrios/games/mun/mun
?
У меня, путь до mun, немного другой, поэтому изменил путь. Вот вывод:
Спойлер: Показать
Код:
sudo strace -e trace=process ./kex /kolibrios/games/mun/mun
[sudo] password for -------:
execve("./kex", ["./kex", "/kolibrios/games/mun/mun"], [/* 29 vars */]) = 0
arch_prctl(ARCH_SET_FS, 0x7f1a37f04700) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1a37f049d0) = 2712
Process: mun
err : 0x00000000 trapno: 13 addr: 0x0000000000000000
EAX : 0x000000000001f000 EBX : 0x000000000000000c ECX : 0x000000000021f000
EDX : 0x0000000f3ffff000 ESI : 0x0000000000413ac2 EDI : 0x000000007ffff000
EBP : 0x00007ffecadc1390 EIP : 0x0000000000000058 ESP : 0x000000000001ee90
Flags : 0x00010206 CS: 0x000f
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2712, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2712
exit_group(0)                           = ?
+++ exited with 0 +++

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вс апр 15, 2018 2:20 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 193
JohnXenox писал(а):
Если папку /kolibrios разместить в папке /root, то эту папку видит только Eolite и Shell, а другие файловые менеджеры эту папку не видят.

А, я понял, другие менеджеры используют только список, возвращаемый функцией 70.1 при чтении папки "/", а Eolite проверяет ещё и наличие папки "/kolibrios". При чтении папки "/" я возвращаю только разрешённые устройства, а при открытии файлов и каталогов такой проверки нет. Короче, это не баг, это фича :)

JohnXenox писал(а):
Вот вывод

Честно говоря, я не понимаю, что происходит. Вроде fsbase установилось без ошибки (arch_prctl вернула ноль). Хотя, это вроде не мой вызов (адрес другой).
Интересно, как сказать strace-у, чтобы он и за дочерними процессами следил?


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 12:06 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 193
Kopa писал(а):
/root/RD/1/ каталог поместил в директорию программы и дополнительно img-образ подключил.

Можешь попробовать новую версию?
Только каталог /root/RD/1 надо не в директории программы делать. В каталоге пользователя (/home/<user>) нужно создать каталог .kex (именно с таким именем - точка kex), а вот уже туда поместить и /root/RD/1, и шрифты (char.mt, charUni.mt).


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 1:50 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 601
tsdima писал(а):
Можешь попробовать новую версию?

Проверил новую версию, проги стали запускаться (начал с tube :)
Запуск Eolite выдал такое сообщение
Код:
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  73 (X_GetImage)
  Serial number of failed request:  2524
  Current serial number in output stream:  2524


P.S. Сейчас более детально потестирую.
Web (демо-приложение) отображает подобие "снежных"чёрточек вверху и внизу экрана монитора. (LCD монитор сейчас у меня в портретную ориентацию установлен).
В основном все программы запускаются, но обнаружены и не работающие (SNAKE)
TETRIS сначала отрисовывается с глюком до момента общей его перерисовки (повторные проверки подтверждают глюк)
CPUID выдал такое исключение
Код:
Process: CPUID
err : 0x00000000 trapno: 13 addr: 0x00000000
EAX : 0x52502028 EBX : 0x000f00bf ECX : 0x0000a8a3
EDX : 0x0000a8a2 ESI : 0x00000033 EDI : 0x0000b368
EBP : 0x00019bc7 EIP : 0x0000af7b ESP : 0x000254b2
Flags : 0x00210206 CS: 0x000f

и ещё запускаю программы через FAR, но начальное расположение запущенной программы всегда вверху экрана, что немного неудобно (приходится перетаскивать её окно), т.к. сам FAR hв центре экрана.
Webview "из коробки" не вывел тестовые страницы (проводное соединение)
Код:
HTTP library: init OK
parsing URL: http://kolibrios.org
hostname: kolibrios.org
pageaddr: /
port: 80
Resolving hostname
Usage: nmcli device { COMMAND | help }

COMMAND := { status | show | connect | reapply | disconnect | delete | monitor | wifi | lldp }

  status

  show [<ifname>]

  set [ifname] <ifname> [autoconnect yes|no] [managed yes|no]

  connect <ifname>

  reapply <ifname>

  disconnect <ifname> ...

  delete <ifname> ...

  monitor <ifname> ...

  wifi [list [ifname <ifname>] [bssid <BSSID>]]

  wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>]
                         [bssid <BSSID>] [name <name>] [private yes|no] [hidden yes|no]

  wifi hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|bg] [channel <channel>] [password <password>]

  wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]

  lldp [list [ifname <ifname>]]

Ошибка. Неверная команда «dev»: «list».
Error!
parsing URL: http://kolibri-n.org
hostname: kolibri-n.org
pageaddr: /
port: 80
Resolving hostname
Error!
parsing URL: http://kolibrios.org
hostname: kolibrios.org
pageaddr: /
port: 80
Resolving hostname
Error!

Launcher сначала отображается в верхней части экрана, а потом "перескакивает" к центру.
Magnfy замедленно отрисоывает своё изображение.
SCRSHOOT не захватил правильно изображение.
Кодировка вводимых символов в текстовом редакторе не изменяется.
ClipView не видит буфер обмена?
Pig такое сообщение
Код:
Done initializing video
Initializing timers...done
SDL: Subsystems initialized
Requested mode: 800x600x24, obtained mode 800x600x24 (offset 0)
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCould not load graphics!
/RD/1/MENUET.APP: exit code=1

Mun пишет /kolibrios/games/mun/libc.dll not found
запускаю его с CD0/1/kolibrios/
Директория kolibrios на CD0/1 при наличии не монтируется по умолчанию?

Piton
Код:
02.0000052C: mcall 18, 0xE, 0x103AC, 0x0

Консольный Тетрис не играбелен
Код:
02.000290C9: mcall 18, 0xE, 0x10, 0x23


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 5:17 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 193
Запускается - уже хорошо :)

Kopa писал(а):
Запуск Eolite выдал такое сообщение

Какие-то проблемы с чтением пикселей с экрана. Сейчас приходится выпендриваться: если прямоугольник полностью внутри окна - пиксели читаются из окна, и это вроде работает всегда. Как я думал. Но похоже, что нет.

Kopa писал(а):
Web (демо-приложение) отображает подобие "снежных"чёрточек вверху и внизу экрана монитора.

Видимо что-то с разрешением экрана. А у тебя сколько дисплеев и как они расположены?
Можно при компиляции указать -DSCREEN_WIDTH=xxx -DSCREEN_HEIGHT=yyy с желаемым разрешением xxx,yyy, потому-что если несколько дисплеев, то X11 объединяет их в одну общую поверхность, и в итоге разрешение получается больше размеров дисплея.

Kopa писал(а):
В основном все программы запускаются, но обнаружены и не работающие (SNAKE)

SNAKE корректирует свой размер после изменения размера. Поначалу он у меня вообще зацикливался на изменении размера. Может у тебя тоже так получается.

Kopa писал(а):
TETRIS сначала отрисовывается с глюком до момента общей его перерисовки

Тоже одно из капризных приложений. Постоянно читает события без ожидания. Загрузка процессора нехилая. Иксы чего-то там не успевают.

Kopa писал(а):
CPUID выдал такое исключение

А оно везде должно работать? Может там команды какие хитрые используются?

Kopa писал(а):
и ещё запускаю программы через FAR, но начальное расположение запущенной программы всегда вверху экрана

Тоже подтверждает проблему с разрешением экрана. Попробуй скомпилировать с указанием разрешения.

Kopa писал(а):
Webview "из коробки" не вывел тестовые страницы (проводное соединение)

Блин, этот nmcli только у меня работает, что-ли? Видимо новые версии не имеют команды list. А как тогда выдать нечто подобное:

Спойлер: Показать
$ nmcli dev list
GENERAL.DEVICE: eth0
GENERAL.TYPE: 802-3-ethernet
GENERAL.VENDOR: Intel Corporation
GENERAL.PRODUCT: --
GENERAL.DRIVER: e1000e
GENERAL.DRIVER-VERSION: 2.3.2-k
GENERAL.FIRMWARE-VERSION: 0.1-4
...
IP4.ADDRESS[1]: ip = 192.168.1.15/24, gw = 192.168.1.1
IP4.DNS[1]: 192.168.1.1
...


Kopa писал(а):
SCRSHOOT не захватил правильно изображение.

Ему вроде gs: нужен, пока не реализовано.

Kopa писал(а):
Кодировка вводимых символов в текстовом редакторе не изменяется.

"Горячие" клавиши пока не реализованы, если мышкой щёлкнуть по иконке языка, то вроде меняются.

Kopa писал(а):
ClipView не видит буфер обмена?

Работало вроде.

Kopa писал(а):
Pig такое сообщение
Код:
Done initializing video
Initializing timers...done
SDL: Subsystems initialized
Requested mode: 800x600x24, obtained mode 800x600x24 (offset 0)
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCould not load graphics!
/RD/1/MENUET.APP: exit code=1


Так вроде и в реальной Колибри он не работает.

Kopa писал(а):
Mun пишет /kolibrios/games/mun/libc.dll not found
запускаю его с CD0/1/kolibrios/
Директория kolibrios на CD0/1 при наличии не монтируется по умолчанию?

Нужно запускать searchap. Он 5 секунд ждёт, потом монтирует. Было бы неплохо, задавать задержку в командной строке (это когда он из autorun.dat запускается).

Kopa писал(а):
Консольный Тетрис не играбелен

Это какой?


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 5:46 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 601
tsdima писал(а):
Kopa писал(а):
Консольный Тетрис не играбелен

Это какой?

viewtopic.php?f=41&t=2594

P.S. PIG в KolibriOS запускается. :)
В основном программы нормально работают и в текущем у меня разрешении экрана (1920ч1080) и в портретной ориентации. Те же DispTest, CROWNSCR. KFM нормально на весь экран расширяется и обратно восстанавливается, а KFAR почему то обратно к исходному размеру и расположению не приходит, а только сужается с боков (это при портретной ориентации LCD монитора), но похоже эффект нестойий.
Другие Файл-менеджеры отображаются нормально.
В графическом бенч тесте похоже тоже какие то артефакты в выводимом окне.
В целом всё отлично запускается :)

P.P.S. Сейчас PIG и CPUID тоже стартанули (вероятно после применения searchap и может перезагрузки компьютера),
но какие то вылеты исключений, всё же, бывают.


Последний раз редактировалось Kopa Вт апр 17, 2018 8:02 pm, всего редактировалось 2 раза.

Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 7:25 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 148
tsdima писал(а):
JohnXenox писал(а):
Если папку /kolibrios разместить в папке /root, то эту папку видит только Eolite и Shell, а другие файловые менеджеры эту папку не видят.

А, я понял, другие менеджеры используют только список, возвращаемый функцией 70.1 при чтении папки "/", а Eolite проверяет ещё и наличие папки "/kolibrios". При чтении папки "/" я возвращаю только разрешённые устройства, а при открытии файлов и каталогов такой проверки нет. Короче, это не баг, это фича :)
JohnXenox писал(а):
Вот вывод

Честно говоря, я не понимаю, что происходит. Вроде fsbase установилось без ошибки (arch_prctl вернула ноль). Хотя, это вроде не мой вызов (адрес другой).
Ясно.
tsdima писал(а):
Блин, этот nmcli только у меня работает, что-ли? Видимо новые версии не имеют команды list. А как тогда выдать нечто подобное:
Спойлер: Показать
Код:
$ nmcli dev list
GENERAL.DEVICE: eth0
GENERAL.TYPE: 802-3-ethernet
GENERAL.VENDOR: Intel Corporation
GENERAL.PRODUCT: --
GENERAL.DRIVER: e1000e
GENERAL.DRIVER-VERSION: 2.3.2-k
GENERAL.FIRMWARE-VERSION: 0.1-4
...
IP4.ADDRESS[1]: ip = 192.168.1.15/24, gw = 192.168.1.1
IP4.DNS[1]: 192.168.1.1
Водимо, да. А выдать, легко.

Вот команда:
Код:
nmcli device show
Для получения адреса ip4:
Код:
nmcli device show | grep -i ip4.address
Для получения адреса ip4.dns:
Код:
nmcli device show | grep -i ip4.dns

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 8:04 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 193
Kopa писал(а):
P.S. PIG в KolibriOS запускается.

А ты точно ночную сборку проверял?
Я так полагаю, с тех пор, как эту игру перенесли на CD она и не работает. Ищет свои файлы в каталоге /cd0/1/games/pig хотя лежит в каталоге /cd0/1/kolibrios/games/pig
Скопировал в каталог /rd/2/games/pig - замечательно запустилась и в эмуляторе.

JohnXenox писал(а):
Вот команда:
Код:
nmcli device show

Печально. Заменили list на show. Ну и как быть? Обе пробовать? Или как-то версию проверять?


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 8:17 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 601
tsdima писал(а):
Kopa писал(а):
P.S. PIG в KolibriOS запускается.

А ты точно ночную сборку проверял?
...

Похоже так и есть т.к. запустилась вообще из стороннего каталога :)
GrafX2 запускается, но выйти из неё как? И режим запуска 320х240 (всё очень мелко)

P.S. А шрифты в KFAR (и других менеджерах) настраиваются?


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 9:12 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 193
Kopa писал(а):
GrafX2 запускается, но выйти из неё как? И режим запуска 320х240 (всё очень мелко)

На тулбаре есть кнопка QUIT. Рядом кнопка с дисплеем, выдаёт список разрешений. Приятные диалоги.

Kopa писал(а):
P.S. А шрифты в KFAR (и других менеджерах) настраиваются?

Нет вроде бы. Или это вопрос про эмулятор? В эмуляторе точно ничего такого нет.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 9:20 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4562
> GrafX2 запускается, но выйти из неё как?
Alt+F4 ?

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 9:20 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 148
tsdima писал(а):
Печально. Заменили list на show. Ну и как быть? Обе пробовать? Или как-то версию проверять?
Я думаю, надо проверить сначала list, если list выдаёт ошибку, то использовать show. На bash. это делается элементарно, а на C - не знаю.
Спойлер: Показать
Код:
#!/bin/bash

if `nmcli dev list &> /dev/null`; then
  nmcli dev list | grep -i ip4.address
  nmcli dev list | grep -i ip4.dns
else
  nmcli device show | grep -i ip4.address
  nmcli device show | grep -i ip4.dns
fi

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вт апр 17, 2018 10:06 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1392
Kopa писал(а):
P.S. А шрифты в KFAR (и других менеджерах) настраиваются?
В KFar похоже задаются при компиляции в файле http://websvn.kolibrios.org/filedetails ... 2Ffont.inc
В fNav можно просто заменить файл шрифта(fnav_fnt.png) например, вон на те из-под первого спойлера viewtopic.php?f=44&t=2178&start=45#p68083 просто нужно заменить шрифт в папке с программой.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Ср апр 18, 2018 1:32 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 148
Вообще, я думаю, мелкую работу можно сбросить на Bash скрипты, а основную работу оставить эмулятору.

Под мелкой работой, я имею ввиду:
1. Создание директорий: /RD/1/, /TMP0/1/.
2. Закачка и распаковка файлов: latest-distr.7z. char.mt, charUni.mt.
3. Автоматическое получение сетевых адресов (IP, DNS), и запись их в NETWORK.INI.

И, может быть ещё что-то.

Если интересует, могу попробовать сделать, но я только не знаю как распаковать образ .img, в пользовательском режиме.
Вроде программа из пакета mtools может это делать, но как с ней работать, я так и не знаю. Пробовал, но ничего не вышло.

P.S. Не на одном сайте, из мною просмотренных, об этом не говорится, но распаковать образ .img, оказывается можно программой 7z.

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 126 сообщений ]  На страницу Пред. 13 4 5 6 79 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB