Beam 4 Linux

Некогда утихшая волна вопросов, будет ли 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, так что депенденсов может подсосать маленько, плюс интерпретатор, но там мелочи, мегабайт десять наверное. Вот. Скриншот ниже — кликабельный. А я спать пошел.

42 комментария

  1. sEr... 19 июня, 2016 8:58 пп  Ответить

    о! Круто!!! Попробую на ноуте. Там как-раз бубунта стоит! :))) На компе Арч. Под арчем тож, наверное, смогу завести…

    • sEr... 19 июня, 2016 8:59 пп  Ответить

      Не попробую я на ноуте… У меня он у меня на 32 бита назад от этого пакета.. 🙁

    • Bocha 19 июня, 2016 9:03 пп  Ответить

      beam — это, суть, что? RetroCopy и прога скачивания ромов с сервера в качестве интерфейса. Покуда тут в дистрибе всё уже скачено, на Арче можно вообще не ставить пакет и не запускать Leam, а сразу делать cd ~/Leam/AppCache && ./gameroom.dat — сразу попадёте в игровой зал, если система 64-битная, пофиг какая, хоть rpm-based. Кстати видел сегодня ваш след в MiiVerse

      • sEr... 20 июня, 2016 9:06 пп  Ответить

        Запустил на арче. Запустилось 🙂 Но нет звука. Звуковое устройство в настройках только ALSA, PulseAudio не видит. Я не понял, что там с учётной записью, и как зарегистрироваться? Это пока не работает? Или не работает на арче? Не разобрался, как поиграть. На игровом автомате игру выбираю, запускаю, она начинается, а как играть не понял.

        Но учитывая, что это альфа и, возможно, будет бэта, вообще очень круто! :))) Приятно видеть beam для линукс.

        Дмитрий, называй меня на ты, пожалуйста :)) Я всего на 4 дня тебя старше. Мы же в интернете. Здесь, я просто буковки. :)))
        Я в прошлый раз кидал в Miiverse приглашение в друзья, но не дождался :))) Я кину ещё раз, хорошо? :))

        • sEr... 20 июня, 2016 9:07 пп  Ответить

          А и да. При выходе зависла намертво. Даже не помогло срубить все процессы gameroom.dat

        • sEr... 20 июня, 2016 9:12 пп  Ответить

          UPD:
          УДИВИТЕЛЬНО!!!!! Только что запустил ещё раз и всё работало как нужно!!! И звук был! и разобрался, как игру играть. и при выходе не зависло! :))) КРУТО!

  2. sulfur 19 июня, 2016 10:48 пп  Ответить

    Просто охренеть, никогда бы не поверил что за один вечер можно такое написать, тем более не являясь проф. программистом.

  3. Wolphin 19 июня, 2016 11:10 пп  Ответить

    На 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. Подвинул лампу в угол, к плакату 🙂

    • Bocha 20 июня, 2016 6:13 дп  Ответить

      Я поставил чистую Ubuntu 16.04, сделал dpkg —install *.deb, он мне сказал «пакеты зависимостей есть, но они не будут установлены», тогда я сделал apt-get -f install, без указания чего либо еще, и все зависимости поставились, без указания лишних репозитариев, после этого cd ~/Leam && ./Leam и всё заработало. Я было подумал, что у меня просто на момент dpkg инета не было. Но так или иначе на чистую убунту без лишних репозиториев прога точно ставится и работает.

      • Wolphin 20 июня, 2016 6:52 дп  Ответить

        У вас Ubuntu 16.04, а у меня 14.04 и из её стандартных репозиториев ставится gambas 3.1, но версии 3.5 или старше нет, хотя пакет требует «gambas3-runtime (>= 3.5)».
        А ещё иконка Beam4Linux появляется в системном меню и через неё он тоже прекрасно запускается.

        • Bocha 20 июня, 2016 7:17 дп  Ответить

          Ясно, хотя это странно, потому что программил-то я его в старой Кубунте, которой года четыре, и там он тоже 3.5 поставился. Хотя, может я и там подключал репозитарии, да забыл просто. А вот то, что иконка появляется — это, наверное, плохо, из неё кнопка «Перейти в игровой зал» скорее всего не работает.

          • Wolphin 20 июня, 2016 7:32 дп  Ответить

            У меня и при запуске через cd ./Leam && ./Leam, и при запуске через иконку кнопка «Перейти в игровой зал» просто открывает RetroCopy. Сначала я даже не обратил на это внимания. Но через Instant Play всё, во что я играл, работает.

  4. Ян 20 июня, 2016 12:43 дп  Ответить

    На арче через dpkg не ставится, требует зависимостей. Потом буду разбираться.

  5. Ян 20 июня, 2016 12:53 дп  Ответить

    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

    • Bocha 20 июня, 2016 6:18 дп  Ответить

      Ну ошибка эта говорит, что либо вы не в ~/Leam распаковали архив с AppCache, либо вы запускаете программу не находясь в ~/Leam (то есть или вызываете ~/Leam/Leam не так, как сказано в этом посте, либо вообще вызываете /usr/bin/Leam, что тоже не соответствует сказанному в этом посте).

      • Ян 20 июня, 2016 2:43 пп  Ответить

        Точняк. Вилимо, плохо читал инструкции. Запустился вьібор игр, потом РетроКопи (без звука). На вейленде в играх какой-то дурдом с мьішью, играть невозможно. Но раз все запускается, то, наверное, и работает тоже.

  6. Krosenmann 20 июня, 2016 2:54 дп  Ответить

    Ну, едрить-жешь. Я только лег… Вот теперь я знаю, что заставить меня бросить сон могут только близкие друзья и Дима.

  7. Георгий 20 июня, 2016 9:21 дп  Ответить

    Что-то часто она с сегфолтом вылетает.
    Первый раз вылетела, когда аудиоустройство было занято (и это с Pulseaudio), причину второго вылета я так и не узнал, но точно могу сказать, что происходит он при попытке запуска любого файла с автомата.
    Что я делаю не так?

    • Bocha 20 июня, 2016 9:22 дп  Ответить

      Ну если вылетает уже игровая комната, то тут мы на милости качества кода РетроКопи. Хотя у меня проблем не было.

  8. hemulo 20 июня, 2016 1:52 пп  Ответить

    Интересно!
    Когда доберусь до компа попробую поставить в своём Linux Mint 17.3 напишу потом получилось или нет.

    Ещё раз вспомнил про идею сделать что-то подобное с DOS-box`овскими ирами, включая сохранение сейвов и перенос их с одного компа на другой.

    Кстати, когда-то раньше уже здесь говорилось про корейскую сборку DOS-box`а. Когда появилось немного времени хотел попробовать, но не нашёл на вскидку ссылки на корейскую сборку (в Инете нашёл несколько разных упоминаний но на разные релизы, не знаю какой из них правильный).

    Может кто-нибудь кинет правильную ссылку правильного корейского DOS-box под Linux.

  9. maisvendoo 20 июня, 2016 3:11 пп  Ответить

    Запустил у себя в Арче. Использовал утилиту debtap для конвертации deb-пакета в арчевский pkg.tar.xz Нормуль, установился

  10. maisvendoo 20 июня, 2016 6:55 пп  Ответить

    Запуска игр при попытке сегфолт происходит
    /bin/sh: line 1: 22356 Ошибка сегментирования (core dumped) ./gameroom.dat

    • maisvendoo 20 июня, 2016 7:00 пп  Ответить

      придется смотреть что требует конкретно retrocopy под арчем

    • maisvendoo 20 июня, 2016 7:16 пп  Ответить

      М-да, либы необходимые вроде все есть…

      [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.: Жаль коменты редактировать нельзя

    • maisvendoo 20 июня, 2016 7:34 пп  Ответить

      В общем запуск в отладчике с бубном — бубен нужен из-за того что после сегфолта ретрокопи наглухо вешает иксы, приходится переходить в другую консоль там снимать 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)

      Откуда делаем предварительный вывод что виной всему взаимодействие эмулятора с опенджеэлем.

      Короче говоря, чтобы не засирать коменты собой, буду копать дальше, если что-то получится — напишу

      • maisvendoo 20 июня, 2016 7:42 пп  Ответить

        No symbol table info available. как раз свидетельствует о DLL-hall, то бишь конфликте версий библиотек. Видимо арч ускакал дальше бубунты в плане джеэля

  11. Ян 20 июня, 2016 9:57 пп  Ответить

    Я так смотрю, что «Уголок поклонников Дмитрия Бачило» = «Уголок поклонников Arch Linux».

    • Bocha 20 июня, 2016 10:05 пп  Ответить

      Я так смотрю, что «Уголок поклонников Дмитрия Бачило» вообще никак на эту новость не отреагировал :-)))

      • maisvendoo 21 июня, 2016 11:31 дп  Ответить

        Так линуксоидов там наверное не так много, в «уголке»

  12. Денис Григорьев 21 июня, 2016 10:56 дп  Ответить

    Дима прривет. Ты видел Кармака играющего на Е3 в майнкрафт? Будут официальные комментарии ?

  13. SacredAxe 22 июня, 2016 11:17 дп  Ответить

    Я недавно начал изучать linux и мало еще чего знаю. Но мне интересно,что вы использовали для написания такой программы?я имею ввиду среду разработки

  14. Алексей 22 июня, 2016 7:13 пп  Ответить

    А случайно х32 релиза не будет? А то завалялся старый пень4 на 478 совета он уже никуда не годен поди для эмулятора сеги сгодится:-)

  15. bip 24 июня, 2016 12:34 пп  Ответить

    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-е я новичек.

  16. Evg 26 июня, 2016 6:25 пп  Ответить

    а я Федору люблю

  17. ElXDi 29 июня, 2016 1:02 пп  Ответить

    Когда запилим версию под Мак?

  18. Сергей 30 июня, 2016 8:04 дп  Ответить

    ./gameroom.dat: 1: ./gameroom.dat: Syntax error: «)» unexpected
    Ubuntu 16.04 что делать то??

  19. Николай 23 июля, 2016 2:50 пп  Ответить

    Жаль нет rpm или сорцов.

    • Bocha 24 июля, 2016 11:24 дп  Ответить

      в смысле нет сорцов? это и есть сорцы, думаете интерпретатор в качестве зависимости для красоты ставится?

  20. Ivory_Drive 19 апреля, 2018 10:40 пп  Ответить

    При запуски игр выдвает:
    /bin/sh: 1: ./gameroom.dat: not found
    Все прикрыли игровую комнату?

    • Ivory_Drive 19 апреля, 2018 10:48 пп  Ответить

      Все сорри за панику, разобрался

Leave a reply to bip Cancel reply

Войти с помощью: 

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.