Некогда утихшая волна вопросов, будет ли BEAM под Linux, сопровождавшаяся волной моих ответов «нет» снова набрала обороты после ролика про BEAM Machine. Чисто по приколу, как говорится, сел сегодня и сделал нечто, что можно назвать пре-альфа-версией Beam для Linux, или просто Leam. Никогда раньше не писал графических приложений для Linux, честно говоря, так что это вот — результат одного вечера, проведенного от полного незнания на чем можно быстро написать порт, до, собственно, этого вот, с позволения сказать, релиза. Собственно, так как база игр в общем-то не менялась уже пару лет, то и пре-альфа клиента при загрузке скачивает только список игр с сервера beam, а по сути все игры, которые в нём есть, как и их скриншоты в клиенте — просто сразу распространяются в архиве с этой пре-альфой, механизма их скачивания с сервера пока нет, ну, вернее, механизм-то есть, но он не используется ни для чего кроме самой базы с описаниями и названиями. Это так, чисто попробовать, что получится. Если есть желание и лишняя шестьдесят четвёртая Убунта или Дебиан — можете попробовать скачать клиент Leam для Linux x64 и посмотреть, работает ли оно у вас. Я ваял это бесовство в Kubuntu 12.10 и потом проверял на Ubuntu 16.04, вроде бы всё ок. Инструкция простая: распакуйте этот тарболл в домашнюю директорию (/home/вы/Leam чтобы получилось) и установите из этой директории имеющийся там .deb пакет (через sudo dpkg —install *.deb или как вам больше нравится), после этого можете запускать Leam (./Leam или двойным кликом, если из файлменеджера какого, или энтером, если из mc, ну вы поняли). Как-то так. Прога для внешнего вида использует QT4, так что депенденсов может подсосать маленько, плюс интерпретатор, но там мелочи, мегабайт десять наверное. Вот. Скриншот ниже — кликабельный. А я спать пошел.
о! Круто!!! Попробую на ноуте. Там как-раз бубунта стоит! :))) На компе Арч. Под арчем тож, наверное, смогу завести…
Не попробую я на ноуте… У меня он у меня на 32 бита назад от этого пакета.. 🙁
beam — это, суть, что? RetroCopy и прога скачивания ромов с сервера в качестве интерфейса. Покуда тут в дистрибе всё уже скачено, на Арче можно вообще не ставить пакет и не запускать Leam, а сразу делать cd ~/Leam/AppCache && ./gameroom.dat — сразу попадёте в игровой зал, если система 64-битная, пофиг какая, хоть rpm-based. Кстати видел сегодня ваш след в MiiVerse
Запустил на арче. Запустилось 🙂 Но нет звука. Звуковое устройство в настройках только ALSA, PulseAudio не видит. Я не понял, что там с учётной записью, и как зарегистрироваться? Это пока не работает? Или не работает на арче? Не разобрался, как поиграть. На игровом автомате игру выбираю, запускаю, она начинается, а как играть не понял.
Но учитывая, что это альфа и, возможно, будет бэта, вообще очень круто! :))) Приятно видеть beam для линукс.
Дмитрий, называй меня на ты, пожалуйста :)) Я всего на 4 дня тебя старше. Мы же в интернете. Здесь, я просто буковки. :)))
Я в прошлый раз кидал в Miiverse приглашение в друзья, но не дождался :))) Я кину ещё раз, хорошо? :))
А и да. При выходе зависла намертво. Даже не помогло срубить все процессы gameroom.dat
UPD:
УДИВИТЕЛЬНО!!!!! Только что запустил ещё раз и всё работало как нужно!!! И звук был! и разобрался, как игру играть. и при выходе не зависло! :))) КРУТО!
Просто охренеть, никогда бы не поверил что за один вечер можно такое написать, тем более не являясь проф. программистом.
На Ubuntu 14.04 сначала пакет не работал из-за старой версии Gambas3, помогло добавление репозитория gambas-team/gambas3 (sudo add-apt-repository ppa:gambas-team/gambas3 && sudo apt-get update). Всё работает прекрасно, спасибо. Но, что интересно, gambas3 из репозитория gambas-team/gambas-daily крашил программу с несовпадением типов.
P.S. Подвинул лампу в угол, к плакату 🙂
Спс за ппа.
Я поставил чистую Ubuntu 16.04, сделал dpkg —install *.deb, он мне сказал «пакеты зависимостей есть, но они не будут установлены», тогда я сделал apt-get -f install, без указания чего либо еще, и все зависимости поставились, без указания лишних репозитариев, после этого cd ~/Leam && ./Leam и всё заработало. Я было подумал, что у меня просто на момент dpkg инета не было. Но так или иначе на чистую убунту без лишних репозиториев прога точно ставится и работает.
У вас Ubuntu 16.04, а у меня 14.04 и из её стандартных репозиториев ставится gambas 3.1, но версии 3.5 или старше нет, хотя пакет требует «gambas3-runtime (>= 3.5)».
А ещё иконка Beam4Linux появляется в системном меню и через неё он тоже прекрасно запускается.
Ясно, хотя это странно, потому что программил-то я его в старой Кубунте, которой года четыре, и там он тоже 3.5 поставился. Хотя, может я и там подключал репозитарии, да забыл просто. А вот то, что иконка появляется — это, наверное, плохо, из неё кнопка «Перейти в игровой зал» скорее всего не работает.
У меня и при запуске через cd ./Leam && ./Leam, и при запуске через иконку кнопка «Перейти в игровой зал» просто открывает RetroCopy. Сначала я даже не обратил на это внимания. Но через Instant Play всё, во что я играл, работает.
На арче через dpkg не ставится, требует зависимостей. Потом буду разбираться.
UPD Arch Linux. Сделал из .deb кошерньій .tar.xz с помощью debtap, при установке ругается на конфликтньіе файльі (директории чистил, файльі удалял). Видимо, частичная установка какая-то происходит, ибо запускатор есть. При запуске запускатора ошибка:
This application has raised an unexpected
error and must abort.
[45] File or directory does not exist.
FMain.Form_Open.18
Ну ошибка эта говорит, что либо вы не в ~/Leam распаковали архив с AppCache, либо вы запускаете программу не находясь в ~/Leam (то есть или вызываете ~/Leam/Leam не так, как сказано в этом посте, либо вообще вызываете /usr/bin/Leam, что тоже не соответствует сказанному в этом посте).
Точняк. Вилимо, плохо читал инструкции. Запустился вьібор игр, потом РетроКопи (без звука). На вейленде в играх какой-то дурдом с мьішью, играть невозможно. Но раз все запускается, то, наверное, и работает тоже.
Ну, едрить-жешь. Я только лег… Вот теперь я знаю, что заставить меня бросить сон могут только близкие друзья и Дима.
Что-то часто она с сегфолтом вылетает.
Первый раз вылетела, когда аудиоустройство было занято (и это с Pulseaudio), причину второго вылета я так и не узнал, но точно могу сказать, что происходит он при попытке запуска любого файла с автомата.
Что я делаю не так?
Ну если вылетает уже игровая комната, то тут мы на милости качества кода РетроКопи. Хотя у меня проблем не было.
Интересно!
Когда доберусь до компа попробую поставить в своём Linux Mint 17.3 напишу потом получилось или нет.
Ещё раз вспомнил про идею сделать что-то подобное с DOS-box`овскими ирами, включая сохранение сейвов и перенос их с одного компа на другой.
Кстати, когда-то раньше уже здесь говорилось про корейскую сборку DOS-box`а. Когда появилось немного времени хотел попробовать, но не нашёл на вскидку ссылки на корейскую сборку (в Инете нашёл несколько разных упоминаний но на разные релизы, не знаю какой из них правильный).
Может кто-нибудь кинет правильную ссылку правильного корейского DOS-box под Linux.
> орейскую сборку DOS-box`а
dosemu — наше всё
Запустил у себя в Арче. Использовал утилиту debtap для конвертации deb-пакета в арчевский pkg.tar.xz Нормуль, установился
Запуска игр при попытке сегфолт происходит
/bin/sh: line 1: 22356 Ошибка сегментирования (core dumped) ./gameroom.dat
придется смотреть что требует конкретно retrocopy под арчем
М-да, либы необходимые вроде все есть…
[maisvendoo@arch-host AppCache]$ ldd gameroom.dat
linux-vdso.so.1 (0x00007ffd6d3c6000)
libGL.so.1 => /lib/libGL.so.1 (0x00007feadc2f3000)
libGLU.so.1 => /lib/libGLU.so.1 (0x00007feadc073000)
libasound.so.2 => /lib/libasound.so.2 (0x00007feadbd6b000)
libstdc++.so.6 => /lib/libstdc++.so.6 (0x00007feadb9e4000)
libm.so.6 => /lib/libm.so.6 (0x00007feadb6e0000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007feadb4ca000)
libc.so.6 => /lib/libc.so.6 (0x00007feadb129000)
libX11.so.6 => /lib/libX11.so.6 (0x00007feadade7000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007feadabca000)
libdl.so.2 => /lib/libdl.so.2 (0x00007feada9c6000)
librt.so.1 => /lib/librt.so.1 (0x00007feada7be000)
libGLX.so.0 => /lib/libGLX.so.0 (0x00007feada58c000)
libXext.so.6 => /lib/libXext.so.6 (0x00007feada37a000)
libGLdispatch.so.0 => /lib/libGLdispatch.so.0 (0x00007feada0a4000)
/lib64/ld-linux-x86-64.so.2 (0x00007feadc56a000)
libxcb.so.1 => /lib/libxcb.so.1 (0x00007fead9e7b000)
libXau.so.6 => /lib/libXau.so.6 (0x00007fead9c77000)
libXdmcp.so.6 => /lib/libXdmcp.so.6 (0x00007fead9a71000)
Буду копать дальше…
P.S.: Жаль коменты редактировать нельзя
В общем запуск в отладчике с бубном — бубен нужен из-за того что после сегфолта ретрокопи наглухо вешает иксы, приходится переходить в другую консоль там снимать gameroom.dat через htop и потом уже делать обратную трассировку стека вызовов — дает вот что
[maisvendoo@arch-host AppCache]$ gdb -q gameroom.dat
Reading symbols from gameroom.dat…(no debugging symbols found)…done.
(gdb) r
Starting program: /home/maisvendoo/Leam/AppCache/gameroom.dat
[Thread debugging using libthread_db enabled]
Using host libthread_db library «/lib/libthread_db.so.1».
[New Thread 0x7ffff237e700 (LWP 26421)]
[New Thread 0x7fffe9b7d700 (LWP 26422)]
[New Thread 0x7fffeaa9c700 (LWP 26423)]
[New Thread 0x7fffe889e700 (LWP 26442)]
[Thread 0x7fffe889e700 (LWP 26442) exited]
[New Thread 0x7fffe889e700 (LWP 26446)]
[Thread 0x7fffe889e700 (LWP 26446) exited]
[New Thread 0x7fffe889e700 (LWP 26450)]
Thread 4 «gameroom.dat» received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffeaa9c700 (LWP 26423)]
0x00007ffff7b95cc9 in glDeleteTextures () from /lib/libGL.so.1
(gdb) bt full
#0 0x00007ffff7b95cc9 in glDeleteTextures () from /lib/libGL.so.1
No symbol table info available.
Backtrace stopped: Cannot access memory at address 0x7fffeaa9bb58
(gdb)
Откуда делаем предварительный вывод что виной всему взаимодействие эмулятора с опенджеэлем.
Короче говоря, чтобы не засирать коменты собой, буду копать дальше, если что-то получится — напишу
No symbol table info available. как раз свидетельствует о DLL-hall, то бишь конфликте версий библиотек. Видимо арч ускакал дальше бубунты в плане джеэля
Я так смотрю, что «Уголок поклонников Дмитрия Бачило» = «Уголок поклонников Arch Linux».
Я так смотрю, что «Уголок поклонников Дмитрия Бачило» вообще никак на эту новость не отреагировал :-)))
Так линуксоидов там наверное не так много, в «уголке»
Дима прривет. Ты видел Кармака играющего на Е3 в майнкрафт? Будут официальные комментарии ?
Я недавно начал изучать linux и мало еще чего знаю. Но мне интересно,что вы использовали для написания такой программы?я имею ввиду среду разработки
А случайно х32 релиза не будет? А то завалялся старый пень4 на 478 совета он уже никуда не годен поди для эмулятора сеги сгодится:-)
Linux MInt 17.3 amd64, при установке deb пакета запросил gambas3,5. Установил. При запуске Leam выдает ошибку [45] File or directory does not exist. FMain.Form_Open.22. При запуске через sudo [45] File or directory does not exist. FMain.Form_Open.18. Если напрямую запустить gameroom.dat то вроде как работает но нет звука. При выходе виснет намертво. Пробовал не единожды. Leam в директории /home/Я/Leam. Что делать не знаю. В Linux-е я новичек.
а я Федору люблю
Когда запилим версию под Мак?
./gameroom.dat: 1: ./gameroom.dat: Syntax error: «)» unexpected
Ubuntu 16.04 что делать то??
Жаль нет rpm или сорцов.
в смысле нет сорцов? это и есть сорцы, думаете интерпретатор в качестве зависимости для красоты ставится?
При запуски игр выдвает:
/bin/sh: 1: ./gameroom.dat: not found
Все прикрыли игровую комнату?
Все сорри за панику, разобрался