LINUX.ORG.RU

Crux


43

5

Всего сообщений: 38

Адаптация Something Unlimited

Something Unlimited — это игра со стилистикой одного старого мультсериала.

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

1) Разработчики выпустили спинофф этой игры, внезапно с использованием Ren'Py, а не Unity3d.

2) Также разработчики выпустили порт этой игры на Android.

Так как apk фактически представляет собой просто zip-архив, я просто распаковал его с помощью unzip и изучил. К моему удивлению оказалось, что разработчики используют для Android-версии данной игры Ren'Py. Я предположил, что разработчики использовали для порта ту же версию Ren'Py, что и для спиноффа. Далее было сделано следующее

1) Запущен спинофф через portproton(там не было версии для линукса), чтобы определить, какая версия Ren'Py. Для этого был написан и скопирован в директорию game спиноффа скрипт version.rpy со следующим содержимым

screen show_version():
    vbox:
        text "Made with: [renpy.version_only]"
        textbutton "About":
            action ShowMenu("about")
init python:
    config.overlay_screens.append('show_version')
После запуска спиноффа, это позволило определить мне, что нужной версией Ren'Py является версия 8.1.3

2) Были изучены ресурсы Android-порта игры и было обнаружено, что разработчики просто дописали ко всем именам файлов и директорий «x-».

cd SU-Android-92
$ ls
AndroidManifest.xml  assets  classes.dex  lib  META-INF  res  resources.arsc  SU-Android-92.zip
$ cd assets/
$ ls
android-downloading.jpg  android-presplash.jpg  private.mp3  x-android.json  x-game  x-renpy
$ ls x-game
 x-Aero.ttf                          'x-MADE Mirage Bold.otf'     x-script.rpyc
 x-BADABB__.TTF                       x-MadeynSans-Bold.ttf       x-script_version.txt
 x-BebasNeue.otf                      x-MadeynSans-Light.ttf      x-Timeless-Bold.ttf
 x-cache                              x-nothing.png               x-Timeless.ttf
 x-CG                                 x-options.rpyc              x-tl
 x-Charmset.ttf                       x-paladins.ttf              x-Tungsten-Bold.ttf
 x-DORADOHEADLINE.TTF                 x-portraits                'x-UNMASKEDBB 1.OTF'
 x-gui                                x-QuickMoney.ttf            x-UNMASKEDBB_BOLD.OTF
 x-gui.rpyc                           x-ReliqStd-BoldActive.otf   x-UNMASKEDBB_BOLD.TTF
 x-images                             x-ReliqStd-BoldCalm.otf    'x-UNMASKEDBB_ITAL 1.OTF'
 x-LearnShareColaborateBoldFont.otf   x-scenes                    x-UNMASKEDBB_ITAL.OTF
 x-locations                          x-screens.rpyc              x-UNMASKEDBB.OTF
Чтобы это исправить, ко всем именам было применено рекурсивно
for file in *; do mv "${file}" "${file/x-/}"; done
3) Ресурсы Android-порта игры были скопированы с перезаписью в директорию launcher renpy-8.1.3-sdk.

После этого игра заработала нативно.

>>> Просмотр (1920x1080, 1595 Kb)

 , ,

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.

>>> Просмотр (1920x1080, 1476 Kb)

 , , ,

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

>>> Просмотр (1920x1080, 1161 Kb)

 , ,

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

>>> Просмотр (1920x1080, 226 Kb)

 , ,

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: поменял скрин обратно на без иконок на игре, так получше выглядит.

>>> Просмотр (1920x1080, 2710 Kb)

 , ,

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

>>> Просмотр (1920x1080, 2179 Kb)

 , , ,

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. вернуться в прошлое.

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

>>> Просмотр (1920x1080, 1050 Kb)

 , , ,

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 год, и это выглядит как-то не очень.

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

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

>>> Просмотр (1920x1080, 1062 Kb)

 , ,

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

>>> Просмотр (1920x1080, 326 Kb)

 , , ,

vbcnthfkmnth123
()

Удалось завести наконец-то GOG-версию Undertale

Для нативной версии игры Undertale требуются старые старые версии libcrypto и libssl. Однако эти версии есть в рантайме стима. То есть фактически чтобы заработала игра из гога, ей нужны библиотеки из стима. Мне пришлось копировать эти 32-битные библиотеки из 32-битного рантайма от убунты 12, которые идут со стимом в /lib32, грязный хак, но работает собирать пакет с этими библиотками, чтобы они располагались по системному пути.

Примерно для пакетного менеджера в моем дистрибутиве это выглядит так...

Пакет для libcrypto:

name=libcrypto32_old
version=0.11.7
release=1
source=()

build() {
	mkdir -p $PKG/lib32
	cp /home/user/.steam/bin32/steam-runtime.old/lib/i386-linux-gnu/libcrypto.so.1.0.0 $PKG/lib32
}
Пакет для libssl
name=libssl32_old
version=0.11.7
release=1
source=()

build() {
	mkdir -p $PKG/lib32
	cp /home/user/.steam/bin32/steam-runtime.old/lib/i386-linux-gnu/libssl.so.1.0.0 $PKG/lib32
}

Вместо user надо подставить имя вашего пользователя.

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

bash-5.1$ ldd UNDERTALE
        linux-gate.so.1 (0xf7ec8000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7c6b000)
        libz.so.1 => /lib32/libz.so.1 (0xf7c52000)
        libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf7c4a000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7bd6000)
        libopenal.so.1 => /usr/lib32/libopenal.so.1 (0xf7a64000)
        libm.so.6 => /lib32/libm.so.6 (0xf7998000)
        librt.so.1 => /lib32/librt.so.1 (0xf7993000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf798e000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf7989000)
        libcrypto.so.1.0.0 => /lib32/libcrypto.so.1.0.0 (0xf77cc000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf77b6000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7663000)
        libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf7654000)
        libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf75d5000)
        libssl.so.1.0.0 => /lib32/libssl.so.1.0.0 (0xf757c000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7557000)
        libc.so.6 => /lib32/libc.so.6 (0xf7331000)
        /lib/ld-linux.so.2 (0xf7eca000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7302000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf72fd000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf72f6000)
        libGLX.so.0 => /usr/lib32/libGLX.so.0 (0xf72b8000)
        libGLdispatch.so.0 => /usr/lib32/libGLdispatch.so.0 (0xf723c000)
        libatomic.so.1 => /usr/lib32/libatomic.so.1 (0xf7234000)
        libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf7226000)

И самое интересное, что на странице гога есть список зависимостей:

Requires libc6:i386 libasound2:i386 libasound2-data:i386 libasound2-plugins:i386 libcurl3:i386 libgtk2.0-0:i386 libopenal1:i386 libglu1:i386 and dependencies this game comes with a 32-bit binary only
Но библиотек libcrypto и libssl в этом списке нет. И заранее, если у тебя нет игры на руках, это не узнать.

>>> Просмотр (1920x1080, 614 Kb)

 , , ,

vbcnthfkmnth123
()

Протестировал easy-diffusion

Easy-diffusion — это локальная программа, которая генерирует изображения посредством нейросетей. Для запуска необходимо скачать репозитарий с гитхаба — https://github.com/easydiffusion/easydiffusion — и запустить ./start.sh в директории репозитария. Далее установщик позаботится обо всем остальном и скачает все зависимости. В требованиях для запуска необходима карта Nvidia или AMD. Поддерживаются CUDA и ROCM соотвественно. Также поддерживается рендер изображений и на процессоре.

Для генерации изображения необходимо указать следующие параметры:

  1. промпт — набор слов, указывающий что конкретно необходимо сгенерировать, обязательно;
  2. отрицательный промпт — набор слов, указывающий что *не надо* генерировать; опционально, но с ним получается контролировать более точно;
  3. seed — значение, отвечающее за уникальность изображений; можно ввести вручную или выбрать автоматическую генерацию;
  4. число изображений, по умолчанию 1;
  5. модель, отвечает за стиль изображения: реалистичный. мультяшный и так далее; обязательна; обычно у модели есть одно или несколько ключевых слов для указания в промпте;
  6. лора, содержит в себе набор для генерации одного или нескольких изображений. Необязательна, но с ней можно быстрее получить нужный результат;
  7. Sampler — способ обработки;
  8. Guidance Scale — параметр, который контролирует, насколько процесс генерации изображения следует текстовой подсказке;
  9. количество шагов, собственно, указывает, сколько шагов будет уходить на генерацию изображения; больше число шагов — изображение получается более качественным, меньше — менее качественным;
  10. VAE — в основном, используется для увеличения насыщенности и яркости изображения, но иногда меняет стиль изображения;
  11. размер изображения. Обычно модель заточена под определенный размер и если размер изображения будет слишком сильно отличаться, то то и результат будет отличаться. Если размер изображения будет сильно меньше, то результатом будет нечитабельная мазня. Если не слишком сильно, то может сгенерировать только часть изображения. В случае увеличением размера изображения слишком сильно, могут появиться различные различные артефакты при генерация, например дополнительные руки и ноги. Кроме того, вырастет потребление видеопамяти;
  12. Clip Skip. Не совсем понимаю, что значит этот параметр; обычно в описании лоры указывается, надо его использовать или нет.

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

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

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

У лоры могут быть ключевые слова или слово. Может не быть. Всё зависит от конкретной лоры.

У меня алгоритм для генерации изображения обычно такой:

  1. беру модель;
  2. беру лору;
  3. беру промпт;
  4. беру отрицательный промпт;
  5. беру seed. Обычно из примера лоры, если в примере нет, то беру из какого-то другого рандомного примера;
  6. прогоняю это все для генерации через несколько моделей по одному изображению;
  7. выбираю изображение с той модели, которая мне больше всего понравилась;
  8. генерирую 100 изображений с этой моделью, лорой, промптом, сидом и отрицательным промптом;
  9. из этих 100 изображений выбираю одно подходящее.

Конкретно здесь у меня изображение со следующими настройками:

Seed: 2851093873
Dimensions: 512x768
Sampler: euler_a
Inference Steps: 30
Guidance Scale: 7
Model: bs_1500
Clip Skip: yes
Prompt: sketch, black souls, bs, masterpiece, high quality, blpioneer, 1boy, cowboy shot, covered eyes, shadow on eyes, brown hair, long blue winter coat, white scarf, outdoors, park, evening, walking, winter, hands in pockets, side view,
Lora Model: blpioneer, add_detail
Lora Strength: 0.8,0.5

>>> Просмотр (1920x1080, 841 Kb)

 , ,

vbcnthfkmnth123
()

Протестировал xVA-Synthv3

xVA-Synth — это программа, занимающаяся синтезом речи на основе данных машинного обучения на файлах озвучки из игр.

На данный момент есть полученные данные для синтеза речи для игр Oblivion, Morrowind, Skyrim, Fallout 3, Fallout 4, Fallout New Vegas, Fallout 76, Cyberpunk 2077, Sid Meier's Civilization VI, Mass Effect 3, The Witcher 3, HUMANKIND, Dragon Age: Inquisition, Overwatch, Starfield. Доступны голоса Сераны, Джоффри, Джиуба и другие. Программа написана на Electron/Javascript и Python. Нет нативной версии для GNU/Linux. Это локальная программа, но она требует сеть.

Hey. This app doesn't require an internet connection. It does however need a local network, as the Electron (JavaScript) front-end communicates with the python backend via a local http server. If you don't have an internet connection, you can enable a local network using something like Hamachi

И больше подробностей на эту тему:

Note: Deepfilternet library seems to get downloaded only when playing back a v3 model. It gets placed in AppData/Local/Deepfilternet. Only then can xVASynth work offline on v3 models.. [EDIT] this only concerns the use of CleanUp function

Источник

Исходный код

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

Для установки надо зайти на nexusmods, выбрать в релизах последнюю версию, распаковать и там запустить xVASynth.exe через вайн. Также в наличии в стиме. Какая там версия, не знаю. В теории можно скачать через стим и запускать через стим с версией протона, указанной ниже.

Порядок действий такой:

1. Скачать основную версию и патч - здесь

2. Скачать алфавит для голосов. Например для английской версии - здесь

3. Скачать голоса. Например для скайрима английской версии - здесь

4. Распаковать.

5. Установить путем копирования в корневую директорию основной версии патч, голоса и алфавит.

6. Включить алфавит в настройках.

7. Запустить, например, так:

portproton /path/xVASynth.exe
Тестировалось с PortProton версии скриптов и версии вайна такими
Info: Scripts version in github = 2241 
Info: PW_WINE_USE=PROTON_STEAM_7.0-5
В версии вайна с патчами для CUDA вроде выше 7.20 отломали поддержку CUDA. То есть например с вайном восьмой версии CUDA работать не будет. Будьте внимательны. Нужно запускать именно в таком формате - portproton /path/xVASynth.exe

Если вы будете запускать в формате portproton xVASynth.exe то работать это не будет, там что-то отломали.

При запуске нужно для генерации озвучки действовать в такой последовательности:

1. Выбрать игру(Это сохраняется при перезапуске).

2. Выбрать голос.

3. Загрузить модель.

4. На месте кнопки для загрузки модели появится кнопка для генерации озвучки.

(Будьте внимательны. Если не выбрать голос, то сгенерировать озвучку не получится!)

P.S. Добавлены русские голоса для скайрима и русский алфавит. Как это работает, я не тестировал.

>>> Просмотр (1920x1080, 1718 Kb)

 , , , ,

vbcnthfkmnth123
()

Протестировал Daggerfall Unity

The Elder Scrolls II: Daggerfall — компьютерная игра в жанре action RPG для MS-DOS, разработанная Bethesda Softworks и выпущенная в 1996 году. Она является продолжением игры The Elder Scrolls: Arena и второй частью серии The Elder Scrolls

Daggerfall Unity — это открытая реализация движка Daggerfall с нативной версией под GNU/Linux на движке Unity3d. Исходный код распространяется по лицензии MIT.

Поиграл немного. Насколько я вижу, основные баги починили. В предыдущих версиях был например такой баг, когда игрок проваливался под текстуры.

С 2009 года игра переведена в разряд freeware. Таким образом чтобы поиграть в Daggerfall через Даггерфолл юнити достаточно:

  • скачать игру, например, со стима;
  • скачать Daggerfall Unity с гитхаба;
  • распаковать архив(dfu_linux_64bit-v0.16.2-rc.zip);
  • запустить в директории(dfu_linux_rc) собственно сам DaggerfallUnity (./DaggerfallUnity.x86_64).

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

P.S. Собранный бинарник под линукс есть только под 64 бита.

>>> Просмотр (1920x1080, 1706 Kb)

 , , ,

vbcnthfkmnth123
()

Протестировал Text generation web UI

Text generation web UI — это программа, предназначенная для создания текстов с использованием нейросетей. Написана на питоне. При использовании c использованием Model loader «ctransformers» и модели «tinyllama-1.1b-chat-v0.3.Q2_K.gguf» показала себя хорошо, результат получался через несколько секунд. Текст немного не соответствует персонажу, но считаю, что для наименьшей модели это хороший результат.

Для установки надо зайти на гитхаб, выбрать в релизах последнюю версию, распаковать и там запустить start_linux.sh (./start_linux.sh). Это скачает все необходимые зависимости, какие-то пакеты устанавливать и собирать не понадобится.

После этого следует:

  • скачать нужную модель (это делается прямо в настройках, нужно просто указать название);
  • подождать пока она загрузится;
  • выбрать загрузчик модели совместимый с данной моделью и нажать load;
  • подождать завершения загрузки модели.

Затем надо выбрать персонажа. Я нашел расширение «CAI Tools» для firefox и просто скачал с помощью этого расширения персонажа прямо с https://beta.character.ai/

После этого загрузил этого персонажа и выбрал в настройках. Затем зашел на вкладку «Чат», создал новый чат и начал общаться с персонажем. Гитхаб.

Модель которую я использовал.

И для сравнения. . Та же модель, но максимальная версия. Отличия только в том что я переместил все слои на GPU и выбрал пресет космического пришельца.

>>> Просмотр (1920x1080, 523 Kb)

 , ,

vbcnthfkmnth123
()

CDE 2.5.2 с xft

Common Desktop Environment — среда рабочего стола, основанная на Motif, в основном использовалась в проприетарных операционных системах UNIX, OpenVMS. CDE разработана в The Open Group совместно с Hewlett-Packard, IBM, Novell и Sun Microsystems и основана на VUE от HP. 6 августа 2012 года исходный код CDE был опубликован на SourceForge.net под лицензией GNU LGPL, за последующие годы сообществом выпущен ряд новых версий.

Как и обещал, выкладываю скриншот CDE с xft шрифтами. Потребление ресурсов такое:

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

152.0 KiB +  37.5 KiB = 189.5 KiB       crond
164.0 KiB +  37.5 KiB = 201.5 KiB       init
216.0 KiB +  46.5 KiB = 262.5 KiB       syslogd
252.0 KiB +  59.5 KiB = 311.5 KiB       rpcbind
312.0 KiB +  80.5 KiB = 392.5 KiB       dbus-launch
508.0 KiB + 123.5 KiB = 631.5 KiB       su
676.0 KiB + 209.5 KiB = 885.5 KiB       scrot
468.0 KiB + 437.0 KiB = 905.0 KiB       dbus-daemon (2)
756.0 KiB + 822.5 KiB =   1.5 MiB       dhcpcd (5)
  1.6 MiB +  84.5 KiB =   1.7 MiB       Xsession
  1.7 MiB + 169.5 KiB =   1.8 MiB       cupsd
  1.8 MiB +  40.5 KiB =   1.8 MiB       udevd
644.0 KiB +   1.3 MiB =   1.9 MiB       dtlogin (2)
  1.9 MiB + 252.5 KiB =   2.1 MiB       ttsession
  1.7 MiB + 476.0 KiB =   2.1 MiB       agetty (6)
  1.6 MiB +   1.1 MiB =   2.8 MiB       xclock
  2.5 MiB +   1.1 MiB =   3.6 MiB       dtpad
  2.9 MiB +   1.0 MiB =   4.0 MiB       dtsession
  2.9 MiB +   2.3 MiB =   5.2 MiB       dtexec (3)
  3.9 MiB +   3.9 MiB =   7.8 MiB       dtfile (2)
  7.4 MiB + 870.5 KiB =   8.2 MiB       Mosaic
  7.3 MiB +   1.6 MiB =   8.9 MiB       dtwm
 10.2 MiB +   1.9 MiB =  12.1 MiB       bash (6)
 13.1 MiB +   5.4 MiB =  18.5 MiB       xterm (3)
161.8 MiB + 471.5 KiB = 162.3 MiB       Xorg
---------------------------------
                        250.1 MiB
=================================
NCSA Mosaic (или просто Mosaic [moʊˈzeɪɪk] — «Мозаичный») — веб-браузер с графическим интерфейсом пользователя и функцией клиента для более ранних интернет-протоколов, таких как FTP, NNTP и Gopher; за поддержку нескольких интернет-протоколов он и получил своё название. Разработка браузера началась в конце 1992 года, а в 1993 году были выпущены версии для Unix, Windows, Amiga и Mac.

Именно Mosaic сделал графические браузеры популярными. Ну точнее не он сам, а один из его форков, немного адаптированный под современные сайты. Как заметно на скрине, он даже может открыть http://www.gnu.org/

>>> Просмотр (1920x1080, 736 Kb)

 , ,

vbcnthfkmnth123
()

MyRuLib в 2023 году

MyRuLib - это свободная программа для ведения электронной библиотеки у себя дома. Официальный сайт: http://myrulib.lintest.ru/

У MyRuLib была давным-давно поломана зависимость от wxsqlite3 подробности - Как собрать myrulib c современным wxsqlite3

Вследствие этого оно просто не собиралось на современных системах. Но если применить вышеуказанные правки, то оно собирается. К сожалению встроенный CoolReader все равно не собирается, так что приходится для чтения использовать Форк CoolReader: crengine-ng, crqt-ng, crwx-ng

>>> Просмотр (1920x1080, 551 Kb)

 , ,

vbcnthfkmnth123
()

Решил потестить OpenJK

OpenJK - это попытка группы JACoders поддерживать и улучшать игровые движки, на которых работают игры Jedi Academy (JA) и Jedi Outcast (JO), сохраняя при этом полную обратную совместимость с существующими играми. Если то то у движка Jedi Outcast and Jedi Academy, под GNU GPLv2 были открыты исходники и OpenJK основан именно на этих исходниках. - Открыт исходный код Jedi Outcast and Jedi Academy, под GNU GPLv2

Star Wars: Jedi Knight: Jedi Academy - компьютерная игра в жанре шутера от первого лица/третьего лица во вселенной «Звёздных войн». Была издана в 2003 году.

Насколько я вижу на OpenJK Jedi Academy работает без проблем в Линуксе. Полностью не проходил, но по ходу прохождения проблем не заметил. Это полностью нативно. Единственное но, нет поддержки Widescreen разрешений. То есть я тупо не могу запустить это во весь экран в мои 1920x1080. Это заточено под разрешение 4:3 и 5:4 никакого 16:9 или 16:10.

>>> Просмотр (1920x1080, 2124 Kb)

 , ,

vbcnthfkmnth123
()

Протестировал ChaNNer

ChaNNer — это программа предназначенная для обработки изображений с использованием нейросетей. Лично я использовал её только для апскайлинга изображений. Написана на электроне. При использовании на моей RTX 3060 c использованием PyTorch и модели «NMKD UltraYandere» показала себя хорошо, результат получался через несколько секунд.

Для установки надо зайти на гитхаб, выбрать в релизах последнюю версию, там выбрать сборку под линукс (доступны билды только под 64 бита), распаковать и запустить нативный бинарник. После этого следует выбрать в настройках, что вам нужно, в зависимости от того как вы будете использовать нейросеть, в том числе запускать на процессоре или видеокарте. Допустим, у меня Nvidia с поддержкой CUDA, поэтому я выбрал PyTorch (в списке также доступны NCNN и ONNX). Выбранный фреймворк скачался и установился в директорию программы, пакет собирать и зависимости устанавливать через менеджер пакетов не пришлось.

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

>>> Просмотр (1920x1080, 753 Kb)

 , , ,

vbcnthfkmnth123
()

Безмятежность

У нас в Красноярске в это время года пасмурно, погода портится, льют осенние дожди, серые тучи закрывают небо, отчего не хватает солнца, и вместе с ним нет и настроения. В Москве прохладно, но осенью, как у нас в Сибири, совсем не пахнет, а вместо этого светит солнце, днём даже пригревает. В общем, надо привыкать к новому климату.

Погода должна радовать, но старые привычки, что осенью всё серое и хочется чего-то светлого — не отпускают. Захотелось вернуться к светлым тонам в интерфейсе. На скриншоте закос под ACME (Plan9).

CRUX, FVWM с закосом под классику, — классику, по которой я уверен, уже тоскуют даже самые матёрые линуксоиды. URxvt, vim как IDE.

>>> Пустой рабочий стол

>>> Firefox, Telegram

Для разнообразия были выбраны чуть разные оттенки жёлтого в urxvt и vim. И, как можно увидеть, к использованию предлагается как тёмный (dark), так и светлый (light) стиль оформления.

~/.Xresources

URxvt.cursorColor: #a6dcf8
URxvt.scrollBar: true
URxvt.scrollBar_right: true
URxvt.scrollstyle: plain
URxvt.scrollColor: #999957

!URxvt.background: #ffffec
!URxvt.foreground: #424242

URxvt.background: #1a1a1a
URxvt.foreground: #ffffec

URxvt.color0: #424242
URxvt.color1: #b8261e
URxvt.color2: #3e8630
URxvt.color3: #7f8f29
URxvt.color4: #2a8dc5
URxvt.color5: #8888c7
URxvt.color6: #6aa7a8
URxvt.color7: #999957
URxvt.color8: #eeeea7
URxvt.color9: #f2acaa
URxvt.color10: #98ce8f
URxvt.color11: #b6b79c
URxvt.color12: #a6dcf8
URxvt.color13: #d0d1f7
URxvt.color14: #b0eced
URxvt.color15: #ffffec

~/.vim/colors/acme.vim

highlight clear 

highlight! Normal guibg=#ffffea guifg=#000000 ctermbg=230 ctermfg=232 
highlight! NonText guibg=bg guifg=#ffffea ctermbg=bg ctermfg=230
highlight! StatusLine guibg=#aeeeee guifg=#000000 gui=NONE ctermbg=159 ctermfg=232 cterm=NONE
highlight! StatusLineNC guibg=#eaffff guifg=#000000 gui=NONE ctermbg=194 ctermfg=232 cterm=NONE
highlight! WildMenu guibg=#000000 guifg=#eaffff gui=NONE ctermbg=black ctermfg=159 cterm=NONE
highlight! VertSplit guibg=#ffffea guifg=#000000 gui=NONE ctermbg=159 ctermfg=232 cterm=NONE
highlight! Folded guibg=#cccc7c guifg=fg gui=italic ctermbg=187 ctermfg=fg cterm=italic
highlight! FoldColumn guibg=#fcfcce guifg=fg ctermbg=229 ctermfg=fg
highlight! Conceal guibg=bg guifg=fg gui=NONE ctermbg=bg ctermfg=fg cterm=NONE
highlight! LineNr guibg=bg guifg=#505050 gui=italic ctermbg=bg ctermfg=239 cterm=italic
highlight! Visual guibg=fg guifg=bg ctermbg=fg ctermfg=bg
highlight! CursorLine guibg=#ffffca guifg=fg ctermbg=230 ctermfg=fg
highlight! Pmenu guibg=bg guifg=fg ctermbg=bg ctermfg=fg
highlight! PmenuSel guibg=fg guifg=bg ctermbg=fg ctermfg=bg

highlight! Statement guibg=bg guifg=fg gui=italic ctermbg=bg ctermfg=fg cterm=italic
highlight! Identifier guibg=bg guifg=fg gui=bold ctermbg=bg ctermfg=fg cterm=bold
highlight! Type guibg=bg guifg=fg gui=bold ctermbg=bg ctermfg=fg cterm=bold
highlight! PreProc guibg=bg guifg=fg gui=bold ctermbg=bg ctermfg=fg cterm=bold
highlight! Constant guibg=bg guifg=#101010 gui=bold ctermbg=bg ctermfg=233 cterm=italic
highlight! Comment guibg=bg guifg=#303030 gui=italic ctermbg=bg ctermfg=236 cterm=italic
highlight! Special guibg=bg guifg=fg gui=bold ctermbg=bg ctermfg=fg cterm=bold
highlight! SpecialKey guibg=bg guifg=fg gui=bold ctermbg=bg ctermfg=fg cterm=bold
highlight! NonText guibg=bg guifg=fg gui=bold ctermbg=bg ctermfg=fg cterm=bold
highlight! Directory guibg=bg guifg=fg gui=bold ctermbg=bg ctermfg=fg cterm=bold
highlight! link Title Directory
highlight! link MoreMsg Comment
highlight! link Question Comment

hi link vimFunction Identifier

let g:colors_name = "acme"

~/.fvwm/config

DestroyModuleConfig FvwmIconMan:*
*FvwmIconMan: UseWinList true
*FvwmIconMan: Resolution global
*FvwmIconMan: Sort id
*FvwmIconMan: Shape true
*FvwmIconMan: Tips always
*FvwmIconMan: TipsDelays 0
*FvwmIconMan: TipsFont "xft:Sans:size=8"
*FvwmIconMan: TipsFormat "%t"
*FvwmIconMan: ManagerGeometry 1x1
*FvwmIconMan: ButtonGeometry 180x25
*FvwmIconMan: MaxButtonWidth 180
*FvwmIconMan: DrawIcons always
*FvwmIconMan: ReliefThickness 1
*FvwmIconMan: Format "%t"
*FvwmIconMan: Font "xft:Sans:size=10"
*FvwmIconMan: Action Mouse 0 A ret
*FvwmIconMan: Action Mouse 1 A sendcommand IconManClick
*FvwmIconMan: Action Mouse 3 A sendcommand "Menu MenuIconOps"
*FvwmIconMan: Title ""

DestroyModuleConfig TaskBar:*
*TaskBar: Geometry $[vp.width]x32+0-0
*TaskBar: Font "xft:Sans:size=10:antialias=True"
*TaskBar: (Container)
*TaskBar: (Container(Rows 1 Columns $[vp.width]), Padding 2 2, Frame 2)
PipeRead 'echo "*TaskBar: ($(($[vp.width] - 50))x1, Container, Frame 0)"'
*TaskBar: (Swallow FvwmIconMan 'Module FvwmIconMan', Frame 0)
*TaskBar: (End)
*TaskBar: (50x1, Container, Frame 0)
*TaskBar: (Container, Frame -1)
*TaskBar: (Swallow DateTime 'Module FvwmScript FvwmScript-DateTime', Frame 0)
*TaskBar: (End)
*TaskBar: (End)
*TaskBar: (End)

>>> Просмотр (3440x1440, 145 Kb)

 , ,

Spoofing
()

CDE 2.5.0

Пощупал наконец CDE 2.5.0.

В качестве обоины — улучшенное с помощью CUDA изображение с исходником в 640x480, открытое в xv. К сожалению, CDE не переваривает большие png, поэтому пришлось ужать в jpeg.

Теперь наконец-то нормальная кодировка, а то когда проверял в последний раз там поддерживалась только кодировка C. И полноценные 64 бита, а то приходилось изгаляться со сборкой под 32 бита.

К сожалению, моя попытка завести xft шрифты для CDE со стороны сервера закончилась неудачей. Как видно на скриншоте, xrdb работает во время сессии только для xterm.

>>> Просмотр (1920x1080, 1622 Kb)

 ,

vbcnthfkmnth123
()