LINUX.ORG.RU

Сообщения vbcnthfkmnth123

 

Видеокарты с поддержкой nouveau

Форум — Linux-hardware

Захотелось пощупать nouveau, прям чтобы вообще без блобов. Судя по официальному сайту есть хорошая поддержка nouveau у видеокарт серии 710 и 730, которые укладываются в мой бюджет. Но гугл говорит, что видеокарты 730 бывают разные и могут быть с такой архитектурой, которая не поддерживается nouveau. У кого-нибудь есть инфа с какими характеристиками видеокарты серии 730 имеют другую архитектуру?

 

vbcnthfkmnth123
()

Hyperbola GNU/Linux-libre в 2024 году

Галерея — Скриншоты

Hyperbola GNU/Linux-libre это дистрибутив, основанный на Arch Linux, но очищенный от несвободного софта. Из уникальных фич заметил наличие 32-битной версии дистрибутива и соотвествующих пакетов и вместо Xorg здесь форк xorg от OpenBSD, Xenocara. Вместо systemd тут используется openrc. Документация достаточно подробная, так что проблем с установкой у меня был минимум. Видео выводится через встроенную интеловскую видеокарту.

Вообще могу сказать, что тут намного больше готовых пакетов, чем в том же CRUX, документация тоже намного лучше. Так что первое впечатление этот дистрибутив оставил у меня очень хорошее.

Версия ядра при установке такая:

[vbcnthfkmnth123@localhost ~]$ uname -a
Linux localhost 5.10.191-gnu1-1-lts #1 SMP Mon Oct 2 05:25:02 UTC 2023 i686 GNU/Linux

Ест это все столько:

sh-5.1# ./ps_mem.py 
 Private  +   Shared  =  RAM used       Program

100.0 KiB +  32.5 KiB = 132.5 KiB       init
184.0 KiB +  58.5 KiB = 242.5 KiB       start-stop-daemon
300.0 KiB +  47.5 KiB = 347.5 KiB       rpcbind
408.0 KiB +  28.5 KiB = 436.5 KiB       Xsession
584.0 KiB +  30.5 KiB = 614.5 KiB       dhcpcd
572.0 KiB +  72.5 KiB = 644.5 KiB       sndiod
520.0 KiB + 273.5 KiB = 793.5 KiB       sh
688.0 KiB + 266.5 KiB = 954.5 KiB       openrc-run.sh
  1.1 MiB + 488.5 KiB =   1.6 MiB       agetty (11)
  1.7 MiB +  34.5 KiB =   1.7 MiB       udevd
  1.5 MiB + 252.0 KiB =   1.8 MiB       supervise-daemon (12)
  1.2 MiB + 750.5 KiB =   1.9 MiB       xclock
  1.9 MiB + 185.5 KiB =   2.0 MiB       ttsession
916.0 KiB +   1.2 MiB =   2.1 MiB       dtlogin (3)
  2.5 MiB + 869.5 KiB =   3.3 MiB       dtpad
  2.1 MiB +   1.2 MiB =   3.3 MiB       bash (5)
  2.6 MiB + 805.5 KiB =   3.4 MiB       dtsession
  3.6 MiB +   1.2 MiB =   4.7 MiB       dtwm
  3.6 MiB +   1.7 MiB =   5.3 MiB       dtterm (2)
  2.0 MiB +   3.6 MiB =   5.6 MiB       dtfile (2)
  4.6 MiB +   1.7 MiB =   6.3 MiB       dtexec (4)
  3.6 MiB +   3.6 MiB =   7.3 MiB       script-fu
 33.8 MiB +   1.6 MiB =  35.4 MiB       Xorg
 65.0 MiB +   8.1 MiB =  73.1 MiB       gimp-2.10
186.8 MiB +   6.3 MiB = 193.1 MiB       iceweasel-uxp
---------------------------------
                        356.1 MiB

Единственное, что dtlogin себя странно ведет с openrc: почему-то все ждут его при выключении, из-за чего процесс выключения значительно замедлился.

 ,

vbcnthfkmnth123
()

Какую термопасту мазать на intel gma 950? КПТ-8 норм?

Форум — Linux-hardware

А то купил материнку, хочу попробовать запустить на ней какой-нибудь дистрибутив с полностью свободным софтом, рекомендованный FSF например, а перед этим надо заменить там термопасту на той же видеокарте встроенной.

 

vbcnthfkmnth123
()

Doom(1993) «портировали» на нейросеть

Форум — Talks

Мы представляем GameNGen , первый игровой движок, полностью работающий на нейронной модели, которая обеспечивает взаимодействие в реальном времени со сложной средой по длинным траекториям с высоким качеством. GameNGen может интерактивно моделировать классическую игру DOOM со скоростью более 20 кадров в секунду на одном TPU. Прогнозирование следующего кадра достигает PSNR 29,4, что сопоставимо со сжатием JPEG с потерями. Оценщики-люди лишь немного лучше случайного различения коротких клипов игры от клипов симуляции. GameNGen обучается в два этапа: (1) RL-агент учится играть в игру, и сеансы обучения записываются, и (2) диффузионная модель обучается для создания следующего кадра, обусловленного последовательностью прошлых кадров и действий. Дополнения к условиям обеспечивают стабильную авторегрессивную генерацию по длинным траекториям.

источник - https://gamengen.github.io/

видео как это выглядит - https://gamengen.github.io/static/videos/e1m1_t.mp4

То есть если кратко, то это генерация игры в Doom в реальном времени с помощью нейросети. Нейросеть анализирует нажатия клавиш пользователя и генерирует игровой процесс.

 ,

vbcnthfkmnth123
()

Протестировал Strip Poker Night at the Inventory

Галерея — Скриншоты

Strip Poker Night at the Inventory  — это open source стрип покер на раздевание под лицензией MIT. Игра активно развивается, есть большое количество контента, например персонажей.

По сути это веб-приложение, но его можно использовать offline.

Для этого необходимо

1) скачать сами исходники этой игры здесь;

2) подтянуть зависимости с помощью скрипта prepare-online.sh в директории исходников, путем его запуска(sh prepare-online.sh). Также необходимо поставить nodejs для работы;

Конкретно в данном случае тестировалось на версии

$ node --version
v22.6.0

3) скачать паки персонажей здесь;

4) распаковать паки персонажей в директорию исходников;

5) запустить скрипт start_offline.sh(./start_offline.sh) в директории исходников;

6) перейти в браузере на http://127.0.0.1:8080 или на http://192.168.10.193:8080 для запуска собственно самой игры.

Запускалось это все в локально браузере surf. Почему-то при попытке запуска в Google Chrome часть ресурсов не прогружалась при запуске offline, хотя с online-версией таких проблем не возникало.

Адресной строкой в браузере surf служит dmenu, поэтому адрес выглядит именно так. Для табов используется tabbed.

 , , ,

vbcnthfkmnth123
()

Баг с турбобустом на ядре 6.1.105

Форум — General

У меня на ядре 6.1.105 в покое бустятся почти все ядра до максимальной частоты. Гипертрейдинг отключен.

Every 2.0s: grep MHz /proc/cpuinfo

cpu MHz         : 3300.000
cpu MHz         : 3300.000
cpu MHz         : 3300.000
cpu MHz         : 3031.087
cpu MHz         : 3300.000
cpu MHz         : 3227.101
cpu MHz         : 3300.000
cpu MHz         : 3300.000
cpu MHz         : 3300.000
cpu MHz         : 3300.000
cpu MHz         : 3300.000
cpu MHz         : 3300.000

Вот конфиг ядра. https://pastebin.com/b4wyZf83

Процессор

dmesg | grep -i Xeon
[    0.654857] smpboot: CPU0: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (family: 0x6, model: 0x3f,
stepping: 0x2)

Просьба проверить воспроизводится ли у кого-то ещё этот баг на процессорах Intel с этой версией ядра.

 ,

vbcnthfkmnth123
()

Не собирает kiwix-desktop 2.3.1[Решено]

Форум — Development

Такие ошибки выдает при попытке сборки отсюда - https://github.com/kiwix/kiwix-desktop/archive/refs/tags/2.3.1.tar.gz. Собираю с libkiwix v13.10 Собираю вот так

        export CFLAGS+=" ${CPPFLAGS}"
        export CXXFLAGS+=" ${CPPFLAGS}"
        qmake PREFIX="$PKG/usr" .
        make
        make  install
Ошибки появляются после непосредственно сборки, то есть после make
src/urlschemehandler.cpp:136:34: error: no matching function for call to 'kiwix::SearchRenderer::SearchRenderer(const zim::SearchResultSet, IdNameMapper*, int, int&)'
  136 |                             start);
      |                                  ^
In file included from src/urlschemehandler.cpp:9:
/usr/include/kiwix/search_renderer.h:44:3: note: candidate: 'kiwix::SearchRenderer::SearchRenderer(zim::SearchResultSet, unsigned int, unsigned int)'
   44 |   SearchRenderer(zim::SearchResultSet srs, unsigned int start, unsigned int estimatedResultCount);
      |   ^~~~~~~~~~~~~~
/usr/include/kiwix/search_renderer.h:44:3: note:   candidate expects 3 arguments, 4 provided
/usr/include/kiwix/search_renderer.h:34:7: note: candidate: 'kiwix::SearchRenderer::SearchRenderer(const kiwix::SearchRenderer&)'
   34 | class SearchRenderer
      |       ^~~~~~~~~~~~~~
/usr/include/kiwix/search_renderer.h:34:7: note:   candidate expects 1 argument, 4 provided
src/urlschemehandler.cpp:142:36: error: no matching function for call to 'kiwix::SearchRenderer::getHtml()'
  142 |     auto content = renderer.getHtml();
      |                    ~~~~~~~~~~~~~~~~^~
/usr/include/kiwix/search_renderer.h:90:15: note: candidate: 'std::string kiwix::SearchRenderer::getHtml(const kiwix::NameMapper&, const kiwix::Library*)'
   90 |   std::string getHtml(const NameMapper& mapper, const Library* library);
      |               ^~~~~~~
/usr/include/kiwix/search_renderer.h:90:15: note:   candidate expects 2 arguments, 0 provided
make: *** [Makefile:1587: library.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:1699: urlschemehandler.o] Error 1
make: *** [Makefile:1530: kiwixapp.o] Error 1

Есть идеи как поправить чтобы собиралось?

 

vbcnthfkmnth123
()

После обновления ядра оно паникует что не может найти инит[Решено]

Форум — General

Я так понимаю что в новых версиях другие иниты кроме systemd запрещены? Такое с ядром 6.1.105, однако ядро 6.1.77 с тем же конфигом и инитом грузит нормально.

Crux 3.7

https://i.imgur.com/WyGrBSh.jpeg

 ,

vbcnthfkmnth123
()

American McGee's Alice(2011) в 2024 году

Галерея — Скриншоты

American McGee’s Alice — компьютерная игра в жанре action от третьего лица, разработанная американской компанией Rogue Entertainment под руководством геймдизайнера Американа Макги и изданная Electronic Arts. Сюжет игры основан на сказках Льюиса Кэрролла «Алиса в Стране чудес» и «Алиса в Зазеркалье», однако представлен другим вариантом этой вымышленной вселенной — мрачным, наполненным жестокостью и насилием.

Немного истории. Первый выпуск игры состоялся 5—6 декабря 2000 года. Однако в 2011 году был выпущен её ремастер. Этот ремастер никогда не продавался, и по сути всегда распространялся в комплекте со второй частью игры. Конкретно здесь рассматривается не оригинальная игра, а её ремастер.

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

Оригинальная структура выглядит так:

bash-5.1$ ls models/characters/
antlion            chess_bishop  firesnark         marchhare
army_ant           chess_king    fishfootman       mock_turtle
army_ant_corp      chess_knight  flyingbook        phantasm
bill               chess_pawn    frogfootman       queen1
bloodrose          chess_queen   fungi             queen2
boojum             chess_rook    gnome_elder       snark
cardguard_club     clockwork     gryphon           spider
cardguard_diamond  demon_king    humptydumpty      torchgnome
cardguard_heart    demon_lesser  insanechildrenew  tweedledee
cardguard_spade    demon_normal  jabberspawn       tweedledum
caterpillar        dormouse      jabberwock        walkrock_large
centipede          duchess       ladybug           walkrock_small
centipede_larva    evil_shroom   madhatter         whiterabbit
cheshire           fireimp       magmamen
Структура текстур, которые были перерисованы, выглядит так:
bash-5.1$ ls models/characters/
Boojum     Centipede     MorckTurtle  Tweedledee  whiterabbit
CardGuard  Cheshire_Cat  spider       Tweedledum
bash-5.1$ ls models/characters/CardGuard/
CardGuard_club  CardGuard_Diamond  CardGuard_Heart  CardGuard_Spade

Как можно заметить, часть новых текстур располагается по новому пути и в результате просто не применяется. American McGee’s Alice использует для своей работы модифицированный движок Quake 3, и как и в оригинальном движке, формат pk3 представляет собой переименованный zip-архив. То есть достаточно будет распаковать pak5_mod.pk3 (это архив, где хранятся новые текстуры) в ремастере, расположить текстуры по тем же путям, что и в архиве pak1_large.pk3, запаковать это в zip архив и переименовать его в pak5_mod.pk3 — это исправит ошибку.

Судя по тестированию есть, ошибка связанная с сохранением игр, эта ошибка общая и для ремастера, и для оригинальной игры. В игру встроена проверка свободного места для записи сохранений. Если этого недостаточно, то сохранения не создаются. Однако если игра расположена на большом разделе диска, то эта проверка ломается, и вне зависимости от количества свободного места, игра считает что свободного места недостаточно и отказывается создавать новые сохранения. Это исправляется путем переноса игры на раздел диска меньшего размера, например в моем случае игра была перенесена на раздел диска объёмом 916G.

Кроме того, включение фуллскрина в настройках отключается после перезапуска игры. Это исправляется путем выставления фуллскрина в конфигурационном файле игры (config.cfg в Documents/My Games/American McGee's Alice) и выставлении атрибута для этого файла только на чтение. Эта ошибка тоже общая как и для ремастера, так и для оригинальной игры.

Тестировалось это все на вайне версии от Kron4ek:

bash-5.1$ ./wine --version
wine-6.19 (Staging)
Скачать можно вроде здесь.

Запускается игра так (поскольку ремастер распространялся только в комплекте со второй частью и запускался изнутри неё):

alice.exe -RunningFromAlice2

 , ,

vbcnthfkmnth123
()

WordStar в 2024 году

Галерея — Скриншоты

WordStar был одним из самых популярных текстовых процессоров в 80-х годах прошлого века. Изначально он был написан под операционную систему CP/M, а затем портирован под DOS. В середине 90-х программа уступила позиции другим текстовым процессорам.

Многие писатели до сих пор используют этот редактор, например Дж. Мартин¹ именно под WordStar 4.0 пишет все свои книги. Да-да, до сих пор.

На скриншоте показан WordStar 7.0 (1992 года выпуска), который был недавно опубликован канадским писателем-фантастом Робертом Джеймсом Сойером² здесь.

Если кому-то интересны причины, почему писатели используют эту программу, то можно увидеть подробности здесь.

Запущен WordStar с помощью dosbox-x. Это форк dosbox, который позволяет более точно эмулировать dos, чем обычный dosbox.

Собирал пакет dosbox-x так:

  cd $SRC/dosbox-x-dosbox-x-v${version}
    #Workaround: https://github.com/joncampbell123/dosbox-x/issues/4436
  export CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
    -Wp,-D_FORTIFY_SOURCE=2 -Wformat \
    -fstack-clash-protection -fcf-protection"
  export CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"

  sed -i -e 's/-j3/-j$(nproc)/g' build
  ./build
  make DESTDIR="${PKG}" install

В конфиге для doxbox-x прописал так:

mount c  /path
C:
cd WS
C:\WS\WSVDOS.EXE
exit
Если просто монтировать «/path/WS» как диск C, то эта программа не запускается, так что необходимо монтировать именно так.

На скриншоте у меня вывод с TrueFont шрифтами. Scaler Norlmal4x.

  1. Джордж Ре́ймонд Ри́чард Ма́ртин — американский писатель-фантаст, сценарист, продюсер и редактор, лауреат многих литературных премий. Автор известного романа «Песнь льда и пламени». Подробности здесь

  2. Роберт Джеймс Сойер – канадский писатель-фантаст, ведущий, педагог. Автор известного романа «Вспомни, что будет». Подробности здесь

 , ,

vbcnthfkmnth123
()

Gemrb V0.9.3

Новости — Игры
Gemrb V0.9.3
Группа Игры

После года работы вышел GemRB версии 0.9.3. GemRB — это портативная реализация Infinity Engine от Bioware с открытым исходным кодом. Infinity Engine - это движок, на котором работали старые игры Baldur's Gate (1 и 2), Planescape: Torment и куча других игр.

( читать дальше... )

>>> Подробности

 , ,

vbcnthfkmnth123
()

Протестировал Симбионт

Галерея — Скриншоты

«Симбионт» — компьютерная игра, разработанная компанией Targem games и изданная компанией «Бука» на территории России и 505 Games на территории СНГ под названием Swarm в 23 октября 2008 года. После выхода игры на Xbox 360 игра получила название MorphX.

Сюжет повествует о борьбе людей с захватчиками. События происходят в постапокалиптической Москве спустя 2 года после вторжения. Главный герой, вырвавшись из инопланетного плена оказывается инфицирован и переживает необратимую череду мутаций, открывая способность менять своё тело за счет поглощения генов инопланетян, которые дают ему нечеловеческую силу и способности и все больше теряя человеческий облик.

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

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

Об этой игре нет записи в winedb, поэтому решил проверить как она работает в вайне. Судя по тестированию работает без каких либо проблем сразу из коробки. Поставил только dxvk и все. Единственное что, так нельзя запустить игру не во весь экран, то есть тут даже виртуальный рабочий стол в настройках вайна с разрешением меньше, чем у рабочего стола не поможет.

Тестировалось это все на вайне версии от Kron4ek:

./wine --version
wine-5.12-14075-gdf982e6865c

Скачать можно вроде здесь.

Запускал также на версии вайна 8.21 (Staging), так что скоре всего эта игра должна ещё работать и в современных версиях вайна без проблем, вроде работу не ломали.

UPD: поменял скрин обратно на без иконок на игре, так получше выглядит.

 , ,

vbcnthfkmnth123
()

TimeShift (2007) в 2024 году

Галерея — Скриншоты

TimeShift — компьютерная игра, научно-фантастический шутер от первого лица, разработанный компанией Saber Interactive (подразделением из Санкт-Петербурга) для платформ PC, Xbox 360 и PlayStation 3.

В основе игрового процесса лежит идея возможности управлении временем. В распоряжении игрока находятся такие способности хронокостюма, как остановка времени, замедление времени и инверсия времени, которую можно эффективно использовать только в определённых ситуациях, в некоторых ситуациях эта опция вообще блокируется. Для манипуляции временем требуется энергия, которая расходуется во время использования, но потом быстро восстанавливается в обычном режиме. Игровая механика практически полностью построена на игре временем. Полностью пройти игру без использования возможностей костюма невозможно из-за того, что некоторые загадки при переходе на следующий уровень или при перемещениях решаются только с помощью манипуляций со временем.

На winedb у игры стоит статус Garbage. Но как оказалось, её вполне можно сделать играбельной под вайном! Для этого надо просто обновить её до версии 1.2 и поставить фикс для многоядерных процессоров. То есть по сути, проблема была не в вайне, а в самой игре, которая ломается, если в неё играть на современном процессоре.

Сразу после установки фикса у меня игра не запустилась. Не пугайтесь, если увидите то же самое. Просто перезапустите игру, и после этого все должно быть нормально. Также игра будет долго компилировать шейдеры при первом запуске, так что не удивляйтесь долгому запуску. Кроме этого возможно сильное падение производительности по сравнению с виндой — не удручайтесь, просто поставьте разрешение экрана поменьше, настройки пониже, и все будет работать.

Обращаю ваше внимание, что в стиме продается игра без патча. Таким образом, чтобы поиграть в TimeShift под линуксом необходимо поставить патч, если игра из стима, и не ставить патч, если игра из гога. После этого необходимо поставить фикс для процессоров. Этот фикс заменяет exe-файл игры.

ссылка на патч

ссылка на фикс

Тестировалось это все на вайне версии от Kron4ek:

./wine --version
wine-5.12-14075-gdf982e6865c

Скачать можно вроде здесь.

Библиотеки у меня стоят следующие:

bash-5.1$ ls
d3d10_1.dll         x3daudio1_2.dll     xactengine2_6.dll  xapofx1_1.dll
d3d10core.dll       x3daudio1_3.dll     xactengine2_7.dll  xapofx1_2.dll
d3d10.dll           x3daudio1_4.dll     xactengine2_8.dll  xapofx1_3.dll
d3d11.dll           x3daudio1_5.dll     xactengine2_9.dll  xapofx1_4.dll
d3d9.dll            x3daudio1_6.dll     xactengine3_0.dll  xapofx1_5.dll
d3dcompiler_43.dll  x3daudio1_7.dll     xactengine3_1.dll  xaudio2_0.dll
d3dcompiler_47.dll  xactengine2_0.dll   xactengine3_2.dll  xaudio2_1.dll
d3dx10_43.dll       xactengine2_10.dll  xactengine3_3.dll  xaudio2_2.dll
d3dx9_36.dll        xactengine2_1.dll   xactengine3_4.dll  xaudio2_3.dll
d3dx9_42.dll        xactengine2_2.dll   xactengine3_5.dll  xaudio2_4.dll
dxgi.dll            xactengine2_3.dll   xactengine3_6.dll  xaudio2_5.dll
x3daudio1_0.dll     xactengine2_4.dll   xactengine3_7.dll  xaudio2_6.dll
x3daudio1_1.dll     xactengine2_5.dll   xapofx1_0.dll      xaudio2_7.dll

 , , ,

vbcnthfkmnth123
()

5d Chess - пятимерные шахматы

Галерея — Скриншоты

Полное название — 5D Chess With Multiverse Time Travel. Как и написано на упаковке, это шахматы с механикой путешествия во времени. То есть каждая фигура, может перемещаться не только вперед и назад, а ещё вперед в будущее, назад в прошлое и по параллельным временным линиям.

В игре есть 4 оси: ось X (горизонталь), ось Y (вертикаль), ось времени и ось параллельных вселенных. Ось параллельных вселенных (далее ось пв или просто пв) — это все те линии досок, которые показываются фиолетовыми стрелками и идут перпендикулярно линии настоящего (the present). Правила хождения фигур точно такие же, просто распространяются на 4 оси, а не на 2, как в классических, причём ось X параллельна оси времени, а ось у параллельна оси пв.

Примечательно, что интерпретация правил обычных шахмат применяется ко всем фигурам точно. Конь, например, может ходить на две клетки в одном измерении и на одну клетку в соседнем измерении; это может означать, что он ходит на две клетки вправо и на одну клетку назад во времени. Или, что еще более запутанно, он может ходить на две клетки в одном направлении, а затем на одну клетку в параллельной временной шкале.

Коротко говоря, это вариант шахмат, в котором предыдущее расположение фигур по-прежнему имеет значение, и можно использовать несколько досок одновременно.

Есть порт под линукс, собственно я как раз и играю в нативную версию. Не требует какого-то DRM для запуска, работает и без стима.

Список зависимостей:

ldd 5dchesswithmultiversetimetravel
        linux-vdso.so.1 (0x00007ffd8bbe5000)
        libSDL2-2.0.so.0 => /home/oleg/.local/share/Steam/steamapps/common/5dchesswithmultiversetimetravel/./lib64/libSDL2-2.0.so.0 (0x00007f8d4b400000)
        libSDL2_mixer-2.0.so.0 => /home/oleg/.local/share/Steam/steamapps/common/5dchesswithmultiversetimetravel/./lib64/libSDL2_mixer-2.0.so.0 (0x00007f8d4b000000)
        libm.so.6 => /lib/libm.so.6 (0x00007f8d4b862000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f8d4b841000)
        libc.so.6 => /lib/libc.so.6 (0x00007f8d4b21f000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f8d4b83a000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8d4b835000)
        librt.so.1 => /lib/librt.so.1 (0x00007f8d4b830000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f8d4ba84000)
Для примера в обычных шахматах есть три способа уйти от шаха:

  1. выйти из-под боя;
  2. закрыться фигурой;
  3. сбить фигуру соперника.

В пятимерных шахматах есть четыре способа уйти от шаха и первые два по сути малоприменимы из-за шаха в прошлое:

  1. выйти из-под боя;
  2. закрыться фигурой;
  3. сбить фигуру соперника;
  4. вернуться в прошлое.

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

 , , ,

vbcnthfkmnth123
()

Одноплатники с максимальной поддержкой open souce

Форум — Linux-hardware

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

Single-board computers with minor flaws

https://www.fsf.org/resources/hw/single-board-computers

Rockchip devices based on the RK3288

Вбил в гугл, нашел что ASUS Chromebook C201 сделан на этой плате, смотрю в https://libreboot.org/docs/install/c201.html и вижу что там видео не инициализируется с Libreboot, так что делаю вывод что информация тут малость устарела.

 

vbcnthfkmnth123
()

Затестил The Hybrid Mod для Openxcom

Галерея — Скриншоты

UFO: Enemy Unknown — компьютерная игра, разработанная компанией Mythos Games.

Игра была издана в марте 1994 года компанией MicroProse для MS-DOS и Amiga.Действие игры начинается в 1999 году. Обеспокоенные участившимися сообщениями о появлении НЛО и похищениях людей, правительства Земли учреждают службу X-COM (англ. eXtraterrestrial Combat Unit — подразделение по борьбе с внеземными угрозами), которая призвана защитить человечество от внеземной агрессии, если такая угроза окажется реальной. Игрок выступает в роли главы этой службы.

X-COM: Terror from the Deep («Ужас из глубин») — компьютерная стратегическая игра, разработанная и выпущенная американской компанией MicroProse в 1995 году для ПК и в 1996 году для PlayStation. Это вторая часть серии X-COM и непосредственное продолжение X-COM: UFO Defense.

В X-COM: Terror From The Deep игрок руководит международной организацией X-COM, ранее противостоявшей вторжению пришельцев, а теперь перенацеленной на угрозы из морских глубин. В отличие от предыдущей игры, в Terror From The Deep значительная часть действия происходит на море и под водой.

OpenXcom — открытая реализация движка игры UFO: Enemy Unknown, лицензированный GPL и написанный на C++ с использованием библиотеки SDL с открытым исходным кодом для Linux, Mac OS X, Windows и других операционных систем с исправленными ошибками и возможностью моддинга.

Конкретно мной была использована OpenXcom Extended, это форк этого движка с поддержкой X-COM: Terror from the Deep и ещё большими возможностями для моддинга.

The Hybrid Mod — это по сути реализация UFO: Enemy Unknown и X-COM: Terror From The Deep в рамках одного игрового процесса. То есть доступны как механики UFO: Enemy Unknown, так и механики X-COM: Terror From The Deep на протяжении одной игры. Единственное что невозможно использовать оружие из UFO: Enemy Unknown под водой.

Основные фичи:

  • Доступны для боя как НЛО так и инопланетяне из TFTD.
  • Можно строить базы как на суще, так и на море
  • Восстановить НЛО из моря.
  • Весь мир доступен, вы не ограничены только землей в восстановлении НЛО, как в большинстве модов НЛО.
  • Новая механика глубины. Теперь подводный бой разделен на 3 уровня глубины. Мелкий, средний и очень глубокий.
  • Если ваши войска не носят подходящую броню и находятся на нужной глубине… они утонут.

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

То есть чтобы поиграть на линуксе мне пришлось сделать следующее:

1) скачать сборочку для винды здесь;

2) вытащить оттуда сами файлы мода;

3) собрать движок (я собирал версию 7.11.4; использовать более новую версию не рекомендую, могли поломать совместимость;

4) подсунуть ему файлы UFO: Enemy Unknown — да, это не ошибка;

5) подсунуть туда сами файлы мода.

Собирал движок так:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_BUILD_TYPE="None" -DDEV_BUILD="Off"
make

Зависимости такие

# Depends on: xorg-xorgproto xmlto glu doxygen docbook-xml docbook-xsl cmake boost yaml-cpp sdl1 gcc sdl_gfx sdl_image sdl_mixer hicolor-icon-theme

Обращаю внимание. Ни в коем случае не пытайтесь собрать игру с sdl12-compact, это сломает игру. Если собрать игру с sdl12-compact, то игра запустится, но будет постоянно выдавать ошибку уфопедии.

Единственное, что мне пришлось отредактировать дату начала игры в файлах мода, потому там по умолчанию стоит 2040 год, и это выглядит как-то не очень.

Исходники движка брал здесь

К сожалению тут нет срезов для отдельных релизов. Коммит для той версии что я использовал - здесь

 , ,

vbcnthfkmnth123
()

King Under the Mountain (Mountaincore) стал открытым исходным кодом, поскольку разработка игры была прекращена

Форум — Games

King Under the Mountain от разработчика Rocket Jump Technology, стратегической игры о строительстве поселений, где основой геймплея является симуляции, которая претерпевала большое обновление и ребрендинг с Mountaincore, в конечном итоге закрылась. Это игра по управлению цепочками поставок городского строительства.

Новость от января, но лучше поздно, чем никогда. Исходный код был опубликован под лицензией MIT.

Эта игра написана на Java (сейчас версия 17) с использованием LibGDX.

Ссылка на Github с исходным кодом игры

Перемещено hobbit из games

 ,

vbcnthfkmnth123
()

О поддержке Linux в Factorio

Форум — Games

Это перевод части поста под авторством raiguard

Я уже появлялся в нескольких FFF, но никогда официально не представлялся. Меня зовут raiguard. Я играю в Factorio с июня 2017 года, делаю моды для игры с момента выпуска версии 0.17 в марте 2019 года и, наконец, присоединился к Wube в марте 2023 года. Мои основные обязанности в компании — программирование расширений и поддержка Linux, а также пропаганда. для моддерского сообщества. Я ежедневно использую Linux в течение нескольких лет и все глубже погружаюсь в черную дыру настройки и минимализма.

«Почему большинство игр не поддерживают macOS и Linux?» — это мнение, которое я часто вижу в Интернете. Поддержка новой платформы — это гораздо больше, чем просто изменение некоторых флагов и компиляция. Windows, macOS, Linux и Nintendo Switch используют разные компиляторы, разные реализации стандартной библиотеки C++ и имеют разные особенности реализации, ошибки и функции. Вам необходимо настроить CI для новой платформы, расширить систему сборки для поддержки новых компиляторов и архитектуры, а также иметь в команде хотя бы одного человека, который достаточно заботится о платформе, чтобы активно ее поддерживать. Если вы занимаетесь видеоиграми, вам, вероятно, потребуется добавить поддержку другого графического интерфейса (Vulkan или OpenGL), поскольку DirectX является эксклюзивным для Windows.

Многие разработчики, взглянув на долю рынка Windows , решат, что поддержка других платформ не стоит усилий. Кроме того, с стремительным ростом Steam Deck и Proton разработчикам игр стало проще, чем когда-либо, игнорировать поддержку Linux, потому что Valve прибегает к черной магии, которая все равно позволяет их игре работать.

Factorio так хорошо поддерживает macOS и Linux, потому что в Wube всегда был кто-то, кто активно использует эти платформы и готов взять на себя бремя их поддержки. Наша встроенная поддержка Apple Silicon — отличный тому пример. Сегодня я расскажу вам о некоторых приключениях, которые произошли со мной при поддержке Linux в Factorio.

Вейланд

Моей первой самозваной задачей после присоединения к команде было добавить в игру поддержку Wayland . Wayland — это новый протокол отображения, который разрабатывается для замены устаревшей и небезопасной системы X11 . Современные дистрибутивы Linux начинают переключаться на Wayland по умолчанию, поэтому поддержка его в Factorio имеет первостепенное значение.

Мы используем библиотеку SDL , которая аккуратно обрабатывает большинство низкоуровневых системных взаимодействий и абстрагирует их в общий интерфейс. SDL поддерживает Wayland, поэтому все, что мне теоретически нужно было сделать, — это собрать SDL с включенным Wayland, и он «просто заработал бы». Однако это не совсем просто подключи и работай. Wayland предоставляет «протоколы» в виде XML-файлов, которые вы затем используете в wayland-scannerдвоичном виде для преобразования в программу C и файлы заголовков.

Поскольку в то время я был относительно новичком в C++, мое первоначальное решение было запутанным и включало проверку сгенерированных протоколов Wayland в нашем дереве исходных кодов, чтобы их можно было регенерировать вручную каждый раз, когда мы обновляли SDL. Несколько месяцев назад, вооружившись многолетним опытом, я улучшил этот рабочий процесс, чтобы автоматически генерировать файлы как часть процесса сборки, чтобы они всегда были актуальными в соответствии с XML-файлами протокола, с которыми поставляется SDL.

Factorio поддерживает Wayland с версии 1.1.77, но его необходимо явно включить, настроив SDL_VIDEODRIVER=waylandв вашей среде. Для Factorio 2.0 я добавил раскрывающийся список для выбора ваших предпочтений в графическом интерфейсе.

Оформление окон на стороне клиента

Как только поддержка Wayland была реализована, я получил отчет об ошибке , в котором говорилось, что в окне отсутствовала строка заголовка и кнопки закрытия (так называемые «декорации окна») при работе в GNOME . Большинство сред рабочего стола позволяют окнам предоставлять свои собственные украшения, если они того пожелают, но в качестве альтернативы предоставляют реализацию по умолчанию на стороне сервера. GNOME в своей бесконечной мудрости решили, что все клиенты должны предоставлять свои собственные украшения, а если клиент этого не сделает, они просто пропадут. Я не согласен с этим решением; Factorio не нуждается в оформлении какой-либо другой платформы, более того, в любой другой среде рабочего стола, но GNOME может (ab) использовать свою популярность, чтобы заставить программы соответствовать его особенностям или остаться позади.

Чтобы исправить это, мне пришлось добавить еще одну зависимость — libdecor . Он работает, и SDL даже поддерживает его, но видеоигра вообще не должна обеспечивать оформление окон.

Я использую оконный менеджер Sway , и особенность этого оконного менеджера заключается в том, что он автоматически изменяет размер плавающих окон до размера их последнего отправленного кадра. Это выявило проблему с нашим графическим стеком: игре требуется три кадра, чтобы правильно отреагировать на изменение размера окна. В результате происходит быстрое перетягивание каната: Sway отправляет массу событий изменения размера, а Factorio отвечает устаревшими размерами кадрового буфера, вызывая хаос, показанный выше.

Я провел два полных дня, рассматривая наш графический код, но не смог придумать объяснения, почему это происходит, поэтому эта работа все еще продолжается. Поскольку эта проблема возникает только при запуске игры на Wayland под управлением Sway, это не является большим приоритетом, но это было слишком интересно, чтобы не поделиться.

Динамически подключаемые библиотеки

В программе C++ существует три способа загрузки/подключения библиотеки:

Включив его в исходный двоичный файл (статическое связывание). Загрузка системы при запуске вашей программы (динамическое связывание). Ваша программа загружает его явно после запуска («динамическая загрузка» или то, что я называю «связыванием во время выполнения»). У нас есть много библиотек, таких как SDL, FontStash и Lua, которые скомпонованы статически, но в Factorio 1.1 также есть много динамически линкуемых библиотек:

rai@tantal ~/games/factorio
$ ldd bin/x64/factorio
        linux-vdso.so.1 (0x00007ffc123b1000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fc182f70000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fc182f6b000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fc182f5a000)
        libX11.so.6 => /lib64/libX11.so.6 (0x00007fc182e13000)
        libXext.so.6 => /lib64/libXext.so.6 (0x00007fc182dff000)
        libGL.so.1 => /lib64/libGL.so.1 (0x00007fc182d78000)
        libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007fc182d71000)
        libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007fc182d64000)
        libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007fc182d57000)
        libasound.so.2 => /lib64/libasound.so.2 (0x00007fc182c43000)
        libpulse.so.0 => /lib64/libpulse.so.0 (0x00007fc182bf1000)
        libpulse-simple.so.0 => /lib64/libpulse-simple.so.0 (0x00007fc182bea000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fc182b07000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc182b02000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fc182920000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc182f91000)
        libxcb.so.1 => /lib64/libxcb.so.1 (0x00007fc1828f5000)
        libGLX.so.0 => /lib64/libGLX.so.0 (0x00007fc1828c2000)
        libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007fc18280a000)
        libXrender.so.1 => /lib64/libXrender.so.1 (0x00007fc1827fc000)
        libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007fc1827f4000)
        libpulsecommon-16.1.so => /usr/lib64/pulseaudio/libpulsecommon-16.1.so (0x00007fc18276f000)
        libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007fc18271a000)
        libXau.so.6 => /lib64/libXau.so.6 (0x00007fc182714000)
        libsndfile.so.1 => /lib64/libsndfile.so.1 (0x00007fc182694000)
        libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007fc1825a1000)
        libasyncns.so.0 => /lib64/libasyncns.so.0 (0x00007fc182599000)
        libgsm.so.1 => /lib64/libgsm.so.1 (0x00007fc18258a000)
        libFLAC.so.12 => /lib64/libFLAC.so.12 (0x00007fc182524000)
        libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007fc1824f5000)
        libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x00007fc182448000)
        libopus.so.0 => /lib64/libopus.so.0 (0x00007fc1823ec000)
        libogg.so.0 => /lib64/libogg.so.0 (0x00007fc1823e2000)
        libmpg123.so.0 => /lib64/libmpg123.so.0 (0x00007fc182385000)
        libmp3lame.so.0 => /lib64/libmp3lame.so.0 (0x00007fc18230d000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007fc182303000)
        liblz4.so.1 => /lib64/liblz4.so.1 (0x00007fc1822df000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fc1822ac000)
        libzstd.so.1 => /lib64/libzstd.so.1 (0x00007fc1821f0000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc1821cc000)

Среди этих библиотек — X11 и PulseAudio, которые устарели в пользу Wayland и PipeWire соответственно. Это вызывает кошмар совместимости, поскольку если какие-либо динамические зависимости отсутствуют, игра не запустится. Это явно не подойдет!

Наличие этих зависимостей меня смутило, поскольку мы используем SDL для большинства низкоуровневых системных вызовов, аудио и видео, а SDL полностью полагается на связывание во время выполнения. Расследование показало, что источником большинства этих зависимостей является Allegro , низкоуровневая библиотека, которую мы использовали на протяжении большей части альфа-фазы Factorio, но с тех пор заменили на SDL. Единственное оставшееся использование Allegro в версии 2.0 было в качестве вторичного аудио-сервера на случай, если у пользователя возникли проблемы с аудио-сервером SDL, но сервер SDL был стабильным в течение очень долгого времени, поэтому настало время для его удаления. Это исключило из игры 123 024 строки кода и резко сократило количество динамических зависимостей:

rai@tantal ~/dev/wube/factorio (master) 
$ ldd bin/FinalReleasex64Clang/factorio 
        linux-vdso.so.1 (0x00007fff96ff2000) 
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fd2df8a9000) 
        libm. so.6 => /lib64/libm.so.6 (0x00007fd2df7c8000) 
        libc.so.6 => /lib64/libc.so.6 (0x00007fd2df5e6000) 
        /lib64/ld-linux-x86-64.so.2 (0x00007fd2df8d6000 )

Проблемы с буфером обмена

Оказывается, Allegro — не единственное, что требовало от нас связывания с X11. Еще в 2017 году мы получили сообщение об ошибке , в котором пользователь не мог вставить большие строки чертежей в игру, и Oxyd исправил это, добавив поддержку инкрементной передачи данных из буфера обмена X11 в обработчик буфера обмена нашего графического интерфейса.

Я надеялся использовать встроенную в SDL функциональность буфера обмена, но, к сожалению, SDL не поддерживает инкрементную передачу. Это означает, что есть три варианта:

1)Продолжайте связывать с X11, требуя, чтобы пользователи установили X11 в своей системе, чтобы иметь возможность запускать игру (я не хочу возиться со статическим связыванием).

2)Выясните, как выполнить связывание во время выполнения, и реализуйте это.

3)Переведите наш код инкрементной передачи в SDL, чтобы мы могли использовать функции буфера обмена SDL, а другие игры на основе SDL могли бы извлечь выгоду из нашей работы.

Как вы могли догадаться, я выбрал третий вариант. Работа над улучшением нашего кода продолжается, но она должна быть завершена к выпуску Factorio 2.0.

Асинхронное сохранение

Многие из вас, возможно, не знают, что Factorio поддерживает сохранение игры в фоновом режиме без зависания при этом. Эта функция спрятана в скрытых настройках и работает только на macOS и Linux. Это отличный пример использования возможностей платформы для пользы игры, которые были бы нам не доступны, если бы мы просто прошли через Proton.

Асинхронное сохранение работает с использованием системного вызова fork, по существу дублирующего игру. Основной экземпляр, с которым вы взаимодействуете, продолжает играть, но недавно разветвленный дочерний элемент запускает процесс сохранения и завершает работу по завершении. Я использовал его в течение многих лет, и у меня никогда не было проблем, но настройка остается скрытой, поскольку с ней есть несколько нерешенных проблем, и для ее работы требуется значительный объем оперативной памяти.

Я бы хотел продвинуть эту функцию из ее скрытого статуса в версии 2.0. Если вы играете на Linux или macOS, включите асинхронное сохранение (ctrl+alt+нажмите «Настройки» -> «Остальное» -> non-blocking-saving) и сообщайте о любых обнаруженных проблемах. Меня особенно интересует воспроизведение, казалось бы, случайного зависания , которое происходит в конце процесса. Заранее спасибо!

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

источник - https://factorio.com/blog/post/fff-408

 ,

vbcnthfkmnth123
()

SimCity в 2024 году

Галерея — Скриншоты

SimCity — игра в жанре градостроительный симулятор, разработанная Уиллом Райтом и компанией Maxis в 1989 году.

Немного истории. Это та самая игра, для которой было сделано исключение в обработке памяти в винде. Игра больше не работала после того, как была выпущена Windows 95. Microsoft не стали ждать патча от разработчиков, а сделали хак сами. В Microsoft был создан специальный костыль для ОС, который отслеживал запуск SimCity на компьютере. Если это происходило, Windows 95 изменяла работу распределителя памяти таким образом, чтобы симулятор не считывал освобождённую память. (То есть изменяла работу на то как это работало в DOS). Благодаря этому патч от разработчиков для решения данной ошибки, не потребовался.

В дальнейшем исходники игры были открыты и выложены разработчиком под именем Micropolis (поскольку Simcity является торговой маркой, а Micropolis было оригинальным именем данной игры) - Выложен исходный код SimCity для OLPC

Собирал так:

make -j1
То есть строго в 1 поток, иначе не соберется, код достаточно древний.

Список зависимостей такой:

bash-5.1$ ldd /usr/lib/micropolis/sim
        linux-vdso.so.1 (0x00007ffc20bd7000)
        libm.so.6 => /lib/libm.so.6 (0x00007f1fc8e2e000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f1fc8cea000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f1fc8cd5000)
        libXpm.so.4 => /usr/lib/libXpm.so.4 (0x00007f1fc8cc2000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x00007f1fc8c2a000)
        libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0x00007f1fc8bd9000)
        libc.so.6 => /lib/libc.so.6 (0x00007f1fc89f6000)
        /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f1fc903f000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f1fc89cb000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f1fc89c6000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f1fc89be000)

Собирал отсюда — git://git.zerfleddert.de/micropolis

Суть в том что если просто взять и запустить после сборки, то игра подменит шрифты на свои. То есть игра использует свой собственный fonts.alias и fonts.dir со своим собственным набором шрифтов. То есть после запуска игры все шрифты поменяются на шрифты игры собственно.

Для того чтобы этого избежать, были заменены fonts.alias и fonts.dir игры на те что взяты из текущей настройки системы. То есть фактически замена шрифтов все равно происходит, но поскольку замена идет на ту же конфигурацию, то это незаметно для глаза.

 , , ,

vbcnthfkmnth123
()

Наконец-то исправили 19-летнюю ошибку в wine

Форум — Talks

С релизом версии 9.8 wine была исправлена ошибка, которая не позволяла установить Office 97 в wine. После нескольких лет работы в Wine 9.8 наконец-то было доработано stdole32.tlb для генерации библиотеки типов в формате SLTG

источник - https://bugs.winehq.org/show_bug.cgi?id=3689

 ,

vbcnthfkmnth123
()

RSS подписка на новые темы