LINUX.ORG.RU
решено ФорумGames

DosBox на Raspberry Pi

 ,


0

3

Почему бы и нет? Он собран, опакечен и запускается (raspbian8, RPi 3B). Производительности вроде достаточно чтобы поиграть как минимум в первый x-com. Если бы не одно НО:

Игра использует видеорежим 640х400, я использую монитор 1280х1024, но досбокс отказывается масштабироваться в 2 раза в оконном и полноэкранном режиме. В конфиге указано:

[sdl]
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=overlay
autolock=true
sensitivity=100
waitonerror=true
priority=higher
mapperfile=mapper.txt
usescancodes=true

[dosbox]
language=
machine=vgaonly
captures=capture
memsize=24

[render]
frameskip=0
aspect=false
scaler=normal2x

Пробовал scaler=normal3x, output=surface, aspect=true - не реагирует. output=opengl - тормозит, но не масштабирует.

Может кто встречался с подобной проблемой, или знает что то, чего я не понял из вики?

★★★★★
Ответ на: комментарий от coyotl

Умел. Дебиан, генту, х86, х86_64 - всё в порядке. Масштабы 2х и 3х работают и в окне, и на полном экране.

kirill_rrr ★★★★★
() автор топика

На DOS можно запустить первый Fallout. Интересно было бы узнать как у такой конструкции с производительностью на RPi.

Evenik ★★
()
Ответ на: комментарий от no-such-file

как ты собрался запускать игры для x86 на ARM?

DOSBox, an x86 emulator with DOS

Evenik ★★
()
Ответ на: комментарий от kirill_rrr

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

mm3 ★★★
()
Ответ на: комментарий от Evenik

Видимо будет ужастной. doom2 у меня адово тормозил, хотя некоторые люди умудряются гонять третьих героев через win95/98 в досбоксе на айпаде.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от mm3

версия 0.74. Ограничения указаны, но не указаны альтернативы. Маловероятно, что незаданный входной параметр это именно масштаб.

Может какая то более продвинутая wiki, чем на oldgames.ru?

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от no-such-file

dosbox это кроссплатформенное приложение, работающее в том числе и на arm. Оно полностью программно эмулирует dos, запущенный на x86 компьютере. Как и qemu без kvm. Это работает, это медленно, но этого достаточно.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от BRE

Да. По отзывам, если выключить звук, то даже тормоза вполне приемлимы и можно наслаждаться игрой.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от kirill_rrr

Видимо будет ужастной. doom2 у меня адово тормозил, хотя некоторые люди умудряются гонять третьих героев через win95/98 в досбоксе на айпаде.

У меня полноценный дебиан с lxde на андроиде крутится через Linux Deploy (летает и выжирает батарейку), я запускаю через Xserver XSDL, но можно и через VNC коннектиться. Видел видос, чувак ещё себе поверх накатил Win10 через qemu (нужна прошивка с ядром, поддерживаюшим виртуализацию), внутри запустил эмулятор PSX и игрушку на 5-7 FPS. Так что что-то вы не так делаете.

fehhner ★★★★★
()
Ответ на: комментарий от kirill_rrr

Когда через bochs например запускали WinXP древнюю на том же железе, она грузилась 10 минут и тормозила. А тут через 3 прослойки запускается. Сам на малине не пробовал, но я бы предложил попробовать отказаться от dosbox в пользу более быстрого qemu, и обратить внимание например на эту статью: https://habrahabr.ru/post/276637/

Стоит учесть, что я запускал систему, используя ресурсы только одного ядра «малинки», при этом компьютер нагружался на 25-26% (запускал Win98). Я читал на форумах о многопоточной работе QEMU с образом системы, но так и не понял как заставить эмулятор использовать ресурсы больше, чем одного ядра. Опять же, поиграйтесь с настройками и возможно вы поймёте как настроить многопоточность (не забудьте написать в комментариях как вы это сделали).

Ядра, если мне память не изменяет, активируются параметром -smp 4. Win98 их не поддерживает, а вот версии новее смогут все ядра юзать.

fehhner ★★★★★
()
Последнее исправление: fehhner (всего исправлений: 1)
Ответ на: комментарий от fehhner

Это имеет смысл. dosbox на одном ядре быстрее чем dos в qemu, но если удасться задействовать несколько ядер, то возможно будет выигрыш. И надеюсь qemu не имеет проблем с масштабированием.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от crutch_master

это дефолтная настройка в моём конфиге. она не работает. можно подробнее о конфигурации «УМВР»?

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от kirill_rrr
[sdl]

fullscreen=false
fulldouble=true
fullresolution=original
windowresolution=1024x768
output=opengl
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true

[dosbox]

language=
machine=svga_s3
captures=capture
memsize=16

[render]

frameskip=0
aspect=true
scaler=normal2x

[cpu]

core=auto
cputype=auto
cycles=auto
cycleup=10
cycledown=20
crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Если решишь поставить - отпиши сюда плез о производительности кюэму на третьей малине, очень интересно. У меня вторая у самого, я думал может 3 брать. Кстати говоря, думаю тебе будет интересен и этот линк: http://4pda.ru/forum/index.php?showtopic=308317. Под спойлером Инструкции, есть например

  • Эмулятор DOS оптимизированный под ARM - rpix86
  • Quake III Arena - инструкция по установке
  • Запуск DOOM на Raspberry Pi
  • ...
fehhner ★★★★★
()

Собери мастер и будет тебе счастье (скорее всего)

https://sourceforge.net/p/dosbox/code-0/HEAD/tree/

0.74 версия вышла 7 лет назад, во многих дистрибутивах лежит хз какая версия, по крайней мере в ubuntu 16.04 лежит точна старая, потому что у меня с ней не было звука в одной игре, а на версии «commit3989» всё пошло без шаманства после сборки. А текущий мастер уже: «commit4006»

fsb4000 ★★★★★
()
Ответ на: комментарий от kirill_rrr

люди умудряются гонять третьих героев через win95/98 в досбоксе на айпаде.

я лично гонял третих героев на винмобайл2003 с армом на 200мгц через «портирование» вызовов x86>arm (самодельный отимизированный транслятор считай)

зачем такие извращения сейчас,в 2017 когда каждая мобилка с 4гб оперативки и двухядерником-я на знаю

бросай этот аутизм,и купи игровую консоль-более эффективное и активное времяпрвождение

(а эти слабые железки нужны не для запуска дос игр,сори за срыв покров)

anonymous
()
Ответ на: комментарий от anonymous

(самодельный отимизированный транслятор считай)

щас вспомнил,на самодельном трансляторе было 5-10фпс(без анимации карты естественно,с анимацией там по 1фпс в несколько секунд),был еще bosh но это более универсальный транслятор и давал в два раза ниже производительность чем самодельный только для героев

в самодельном-портированы все вызовы к вин библиотекам,напрямую проброшены в арм-винду,и весь x86 бинарник конвертирован в arm(большой и тормознутый поэтому,но всеравно быстрее реалтайм трансляции) на ПК(через дизасемблер,месяцы работы)

anonymous
()
Ответ на: комментарий от crutch_master

Методом шаманства установлено, что следующий конфиг работает именно так, как в нём написано:

[sdl]
fullscreen=false
fulldouble=true
fullresolution=1280x960
windowresolution=1024x768
output=overlay

[dosbox]
machine=svga_s3
captures=capture

[render]
frameskip=0
aspect=true
scaler=normal2x forced

Причём для чистой консоли dos используется двойное масштабирование, а игра запускается в окне в разрешении 1024x768, а на полный экран в 1280x960. Для меня этого достаточно, хотя идея с qemu стоит того, чтобы вернуться к ней на досуге.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от NikitaProfi

Говорят звук есть, но даёт тормоза в игре.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Если бы я хотел пострелять птицами по свиньям, то наверное так бы и сделал. Но я хочу чего нибудь интерестного и многоклеточного. И не только не покупая мобилку 2017 года с 4Гб ОЗУ, но даже не запуская ноута где досбокс не только x-com вытягивает, но даже dagerfall летает.

kirill_rrr ★★★★★
() автор топика

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

хотя некоторые люди умудряются гонять третьих героев через win95/98 в досбоксе на айпаде.

А ничего, что iPad мощнее и стоит дороже?

SjZ ★★★★★
()
Ответ на: комментарий от SjZ

На китайсках Андроидах (у меня самого x86, мне проще, но видео видел на армах), запускают в контейнере linux -> (qemu) windows 10 -> PSX -> игру на 5FPS. Да, PSX есть сразу на Андроид, там был прикол показать, что просто «мы можем». И пофиг на железо айпадов, ничего выдающегося, только корпус металл прикольный и тонкий, да экран офигенного качества.
На малине и Quake III идёт, если что, и тот же PSX и N64.

fehhner ★★★★★
()
Ответ на: комментарий от SjZ

Blood - нормально он работает только на современном железе

Что за бред? Почти любая досовская игра отлично запускается на старом (ну, не первопень, конечно) железе.

anonymous
()
Ответ на: комментарий от anonymous

Что за бред? Почти любая досовская игра отлично запускается на старом (ну, не первопень, конечно) железе.

Я ещё на Windows Mobile 2003 на ARM 200Mhz, проходил на ScummVM многие игрушки из дества, а на малине снова в том году решил тряхнуть стариной, допрошёл ещё кучу хитов типо Legend of Kyrandya и FullTrottle, которые по какой-то причине не прошёл полностью тогда.

fehhner ★★★★★
()
Ответ на: комментарий от fehhner

И пофиг на железо айпадов, ничего выдающегося

Ничего выдающегося, ровно как топовое железо на любой топовой Android-платформе, причем за ту же цену. Смысл то в том, что оно топовое (на тот момент времени) по производительности. Я чутка не понял зачем ты написал все остальное.

SjZ ★★★★★
()
Ответ на: комментарий от SjZ

Не знаю, что за Blood (не та случайно, где вилы в качестве дефолтного оружия?). Но чтобы нормально играть в daggerfall, мышью, а не с клавиатуры, нужно ставить её на реальное железо или запускать dosbox на ядре минимум core2 с частотой 2+ ГГц. и 20000 циклов досбокса, и не дай бог кто то начнёт их отъедать - сразу тиринг из силього станет кошмарным и мышь тормозить начнёт. Те же homm3 в win98 по слухам идут при 12000 циклах, а сама винда нормально крутится уже на 5000.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от kirill_rrr

а если всё таки рассчитывать на запуск произвольной досовской игрушки?

Только если не экшоновой.

aplay ★★★★★
()
Ответ на: комментарий от kirill_rrr

Ну так и я о чем говорю, а анонимус говорит что на древнем железе всё летает. Blood требует еще больше.

SjZ ★★★★★
()
Ответ на: комментарий от fehhner

поставил таки дос в qemu. вероятно там есть много чего, что можно оптимизировать. ufo1 идёт не ровно, местами шустро, местами тормозит адово. doom2 аналогично, только отрисовка кадров стабильно медленная, а менюшка поверх шустрая. warcraft2 вызывает сегфолт из за попытки обратиться к несуществующей оперативке. мышка просто бешеная - её следовало бы передавать напрямую, но aqemu передаёт перемещения Х-курсора со всеми сглаживаниями и ускорениями, а потом множит на деформацию экрана.

Зато окно виртуалки хорошо масштабируется до любого размера и соотношения сторон, и похоже без особых расходов. Но из за взбесившейся мыши играть нереально.

З.Ы. слухи про тормозной qemu на пишке - правда, дос не меняет ситуации. винХР ставится около 10-15 часов, грузится минут 20.

kirill_rrr ★★★★★
() автор топика
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от fehhner

кстати, после сборки OpenXcom производительность нормальная.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от SjZ

Ничего выдающегося, ровно как топовое железо на любой топовой Android-платформе, причем за ту же цену. Смысл то в том, что оно топовое (на тот момент времени) по производительности. Я чутка не понял зачем ты написал все остальное.

К тому, что если конкретный эмулятор не справляется идеально с поставленной задачей, можно поискать другие варианты решения под эти же цели. И что не столь важно железо, сколько оптимизация. Если конкретно игры интересуют олдскулл - есть варианты, а на топовость железа пофиг. Т.к. скаммвм тянул квесты отлично ещё на одноядерном арме 200МГц. И портированный дум и оптимизированные эмули приставок тянут хорошо.

fehhner ★★★★★
()
Ответ на: комментарий от kirill_rrr

З.Ы. слухи про тормозной qemu на пишке - правда, дос не меняет ситуации. винХР ставится около 10-15 часов, грузится минут 20.

Для меня это звучит, как полное разочарование. Но малинку всё равно наверное возьму новую на следующей неделе)
Это с 4 ядрами активными, -smp 4? Можно ещё поиграться и перепробовать разные видеодрайвера -vga virtio (или какие доступны), у меня и на основном-то компе некоторые тупили и так отрисовывались, что работать было невозможно. Память в этой версии нельзя задать параметром типо -m 512 ? Мышка напрямую пробрасывается командой -usbdevice tablet (или не помню уж, что именно надо в юсбдевайсе указать)

fehhner ★★★★★
()
Ответ на: комментарий от fehhner

Нет, это aqemu на более-менее стандартных настройках. Я плохо знаком с управлением виртуалками из командной строки и с qemu тоже. Если есть знания и интерестно, могу выполнить команду и рассказать что получится. Образ всё ещё лежит.

З.Ы. Оптимизированный под arm дос-эмулятор я тоже попробовал. великолепная производительность, только картинка 320х240х2шт с непонятными строчными артефактами и каким то жёлто-лиловым двухцветным изображением. Короче так совсем не интерестно.

kirill_rrr ★★★★★
() автор топика
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от fehhner

Какие другие решения по эмуляции DOS?

скаммвм

Так это же другое, оно эмулирует только определенное количество игр.

скаммвм тянул квесты отлично ещё на одноядерном арме 200МГц.

Ну у меня вот на Celeron B830 с интеграшкой вместо видеокарты некоторые игры в эмуляторе PS2 (в нативной конфигурации естессна, куда там ему до кастомной) работали лучше, чем некоторые в досбоксе. Значит ли это, что DOSBOX плохо оптимизирован? Это вряд ли.

SjZ ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.