Monday, November 18, 2019

Run yquake on ChromeOS

Chrome OS provides an ability to run linux in a container and its little bit outdated a `stretch` debian release. Most convenient way for build is cross compile on different host in container with the debian stretch.

First of all, lets create boot strapped environment by such commands:
sudo qemu-debootstrap --arch=arm64 --keyring /usr/share/keyrings/debian-archive-keyring.gpg --variant=buildd --exclude=debfoster stretch debian-arm64 http://ftp.debian.org/debian

After that chroot to directory and install required package for build:
  • sudo cp /usr/bin/qemu-aarch64-static debian-arm64/ -v
  • cd debian-arm64/
  • sudo chroot . ./qemu-aarch64-static /bin/bash
  • apt install -y git make gcc libsdl2-dev libcurl4-gnutls-dev ccache libopenal-dev
And finally build quake:
  • cd root
  • git clone https://github.com/yquake2/yquake2.git
  • cd yquake2
  • CC="ccache gcc " make -j 6
And copy binary files from release directory to the device.

Thursday, May 30, 2019

Quake II 7.41 version

One more release with my fixes: QUAKE2_7_41

  • Some bugfixes to HTTP downloads introduced in 7.40.
  • Fix several crashes when loading savegames in coop.
  • Fix some out of memory aborts when loading maps with a lot surfaces.
  • Allow autodetection of the desktop resolution. Set 'r_mode' to '-2' to enable that. (by Denis Pauk)
  • Several fixes to the OpenGL 3.2 renderer. Some dynamic lights were missing, for example for most explosions. Stencil shadows were broken under some conditions. Performance was bad with the AMD driver under Windows. Intel Ivy Bridge didn't work. Under some conditions lights were too bright.
  • Add an optional fix for lighting problems in maps that misuse sky surfaces for interior lighting. Set 'gl_fixsurfsky' to '1' to enable it.
  • Another bunch of timing fixes. The game should now hold the framerate under all conditions, even with crappy Windows GPU drivers. The quake2.exe wrapper forces the Quake II window into focus. This prevents Quake II starting in background.

Wednesday, May 15, 2019

OmniOS CE Initial configuration

After install OmniOS CE (Open Solaris fork) run of the such commands can be useful:

Mount iso image for install additional virtualization tools:
  1. look to cdrom device by: iostat -En
  2. mount cdrom: mount -r -F hsfs /dev/dsk/<cdrom>s0 /cdrom

Example:
$ iostat -En
c1t0d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: NECVMWar Product: VMware IDE CDR10 Revision: 1.00 Serial No:
Size: 0,02GB <16891904 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 1 Predictive Failure Analysis: 0
c2t0d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: VMware Product: Virtual disk Revision: 2.0 Serial No:
6000c29345a261f
Size: 64,42GB <64424509440 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 2 Predictive Failure Analysis: 0
$ mount -r -F hsfs /dev/dsk/c1t0d0s0 /media/

Enable dhcp on the NIC:
  1. look to nic device: dladm show-link
  2. enable nic: ifconfig <interface> plumb up
  3. enable dhcp on nic: touch /etc/dhcp.<interface>
  4. enable nic after reboot: touch /etc/hostname.<interface>

Example:
$ dladm show-link
LINK CLASS MTU STATE BRIDGE OVER
vmxnet3s0 phys 1500 up -- --
$ ifconfig vmxnet3s0 plumb up
$ touch /etc/dhcp.vmxnet3s0
$ touch /etc/hostname.vmxnet3s0
Add a new user:
  1. Enable ssh: svcadm enable ssh
  2. create home directory: mkdir /export/home
  3. enable export home directory: echo "* localhost:/export/home/&" >> /etc/auto_home
  4. add user: useradd -m -b /export/home cloud
  5. change user password: passwd cloud

Friday, February 8, 2019

yquake2 7.40 version.

Little more fixes in soft render. Quake II 7.30 to 7.40:
  • Add support for HTTP downloads. Both the r1q2 and q2pro URL schemes are supported, if a file is unavailable over HTTP the download code falls back to UDP.
  • Savegames can be removed through the menu by pressing 'del' on the selected savegame. (by Jonathan Bergeron)
  • Support external entity files. This was submitted by @NeonKnightOA.
  • Some fixes to OGG/Vorbis music playback. The music keeps playing after s_restart and ogg_shuffle is handled correctly by the menu.
  • Another round of timing fixes. Average frame times are now taken into account when taking an educated guess on the next frames render time. And the display refresh rate detection no longer cripple working GPU drivers in an effort to work around bugs in older version of AMDs.
  • A lot of fixes to the internal memory management. The game is now much more memory efficient, this allows playing of extremely big maps without crashes. This is largely based upon work done by Denis Pauk.
  • New and much more detailed documentation.
  • Enhancements to the software renderer. Retexturing packs are now supported, general cleanup and bugfixes. (by Denis Pauk)

Thursday, September 6, 2018

yquake2 7.30 version.

New version with speedup optimization in software render.

Timedemo values (timedemo 1;) on 1366x768:

  • map demo1.dm2 = 27.1 fps (+12% improve)
  • map demo2.dm2 = 25.5 fps (+13% improve)

  • map demo1.dm2 = 24.2 fps (+0% not changed)
  • map demo2.dm2 = 22.5 fps (+0% not changed)

  • map demo1.dm2 = 24.2 fps (+1% improve)
  • map demo2.dm2 = 22.5 fps (+1% improve)

  • map demo1.dm2 = 23.8 fps
  • map demo2.dm2 = 22.0 fps
Full list of changes:

Quake II 7.21 to 7.30:
  • Removed support for SDL 1.2.
  • Removed static dependencies to libogg, libvorbis and libz.
  • Fixed several bugs regarding render- and fullscreen switch.
  • A lot of fixes and improvements to the software renderer. It's now able to render the whole game without artifacts and much faster than before. (by Denis Pauk)

Saturday, April 28, 2018

Достоинства‭ ‬перехода‭ ‬на‭ ‬Cloudify

Достоинства‭ ‬перехода‭ ‬с‭ ‬инфраструктуры‭ (‬например‭ ‬на‭ ‬основе‭ openStack/vCloud/‬vSphere‭) ‬c‭ ‬ручным‭ ‬созданием‭ ‬и‭ ‬управлением‭ виртуальными‭ ‬машинами‭ ‬на‭ ‬продукты‭ ‬базирующиеся‭ ‬на‭ ‬оркестраторе.‭

Достоинства‭ ‬перехода‭ ‬на‭ ‬Cloudify:

Возможность‭ ‬централизованного‭ ‬управления‭ ‬инфраструктурой‭ ‬с‭ ‬возможностью‭ ‬использования‭ ‬гибридных‭ ‬решений.‭ ‬Позволяющей‭ ‬с‭ ‬минимальными‭ ‬изменениями‭ ‬управлять‭ ‬различными‭ ‬провайдерами‭ ‬в‭ ‬одной‭ ‬инфраструктуре. ‭
  1. Возможно‭ ‬комбинирование:
    • vSphere‭(‬+NSX‭)‬,‭ ‬vCloud,‭ ‬OpenStack,‭ ‬Azure,‭ ‬Google‭ ‬Cloud‭
    • Публичных‭ ‬и‭ ‬приватных‭ ‬облаков‭ (‬как‭ ‬пример‭ ‬vCD/OpenStack‭ ‬+‭ ‬GoogleСloud‭)
    • Возможность‭ ‬управления‭ ‬аппаратными‭ ‬решениями‭ ‬в‭ ‬будущем‭ ‬-‭ ‬netConf/ssh/cisco‭ ‬ios
    • Поддержка‭ ‬как‭ ‬SDN‭ ‬так‭ ‬и‭ ‬VNF
  2. Поддерживается‭ ‬мониторинг‭ ‬и‭ ‬масштабирование‭ ‬инфраструктуры‭ ‬по‭ ‬триггеру.
  3. Возможность‭ ‬визуального‭ ‬отображения‭ ‬взаимосвязей‭ ‬между‭ ‬компонентами‭ ‬инфраструктуры.
  4. Поддержка‭ ‬интеграции‭ ‬с‭ ‬сторонними‭ ‬продуктами,‭ ‬таких‭ ‬как:
    • ‬передача‭ ‬результатов‭ ‬мониторинга‭ ‬в‭ ‬сторонний‭ ‬продукт.
    • Управление‭ ‬из‭ ‬стороннего‭ ‬продукта‭ ‬инфраструктурой‭ ‬базирующейся‭ ‬на‭ ‬cloudify.
  5. Кластеризация‭ ‬и‭ ‬отказоустойчивость‭ ‬в платной версии.
  6. ‬Удобный‭ ‬пользовательский‭ ‬интерфейс‭ ‬с‭ ‬разделением‭ ‬на:
    • ‬доступные‭ ‬установочный‭ ‬шаблоны,‭ ‬описывающее‭ ‬взаимосвязь‭ ‬внутренних‭ ‬компонентов‭ ‬между‭ ‬собой;
    • ‬Список‭ ‬установок‭(‬deployments‭) ‬-‭ ‬базирующихся‭ ‬на‭ ‬шаблонов‭ ‬с‭ ‬возможностью‭ предоставления‭ ‬дополнительный‭ ‬уточняющих‭ ‬параметров;‭
    • ‬Логов‭ ‬событий‭ ‬привязанных‭ ‬к‭ ‬установкам‭ (‬deployments‭);‭
    • ‬Графиков‭ ‬базирующихся‭ ‬на‭ ‬текущем‭ ‬состоянии‭ ‬инфраструктуры‭ ‬с‭ ‬разбиением‭ ‬на‭ ‬установки.‭
  7. Доступность‭ ‬консольного‭ ‬клиента‭ ‬для‭ ‬выполнения‭ ‬операций‭ ‬без‭ ‬использования‭ ‬web‭ ‬интерфейса.
‭Возможная‭ ‬процедура‭ ‬перехода:

Постепенный‭ ‬перенос‭ ‬старых‭ ‬установок‭ ‬в‭ ‬cloudify‭ ‬-‭ ‬через‭ ‬указание‭ ‬текущей‭ ‬конфигурации‭ ‬виртуальных‭ ‬машин‭ ‬или‭ ‬иных‭ ‬компонентов‭ ‬с‭ предоставлением‭ проброса ‬операций‭ ‬через‭ ‬указание‭ ‬в‭ ‬свойствах‭ ‬компонента‭ “‬уже‭ ‬существующий‭”‬.‭ ‬В‭ ‬результате‭ ‬возможно‭ ‬использование‭ ‬уже‭ ‬существующей‭ ‬конфигурации‭ ‬и‭ ‬выполнение‭ ‬через‭ ‬powershell‭ (‬windows‭)‬,‭ ‬ssh‭ (‬unix‭ ‬like‭)‬,‭ ‬agent‭ (‬доустановка‭ ‬компонента‭ ‬для‭ ‬мониторинга‭ ‬на‭ ‬каждую‭ виртуальную‭ ‬машину‭)‬. И затем ‬последующее‭ ‬создание ‬компонентов‭ ‬изначально‭ ‬через‭ ‬cloudify‭ ‬плагины.

Поддерживается‭ ‬через‭ ‬плагины:‭

Облачные‭ ‬провайдеры:
  • vSphere‭(‬+NSX‭)
  • vCloud Air
  • openStack
  • Azure
  • AWS
  • GoogleCloud
  • KVM/qemu/libVirt
Плагины‭ ‬для‭ ‬управления:
  • SSH:‭ ‬Fabric/Terminal
  • Agent: ‬PowerShell/Bash/Python
  • VNF:‭ ‬NetConf
  • Ansible
  • Aria
  • Docker
  • Chef

Sunday, March 11, 2018

yquake2 7.20 version.


New version of yquake2 with restored soft render and haptic feedback with 3d direction based on source position. And many other fixes... 



  • Add the soft renderer back. This feature is considered experimental. The porting of the old soft renderer code to SDL and it's cleanup were done by Denis Pauk.
  • Rename several cvars to be consistent across different renderers. The configuration file will be converted at the first start, when an old cvar name is used a message is printed.
  • Make the client unicode compatible. Yamagi Quake II can now be installed into pathes with unicode characters in it. On Windows the user name of the current account may contain unicode characters. As a side effect the game can run on ReFS volumes. While '+set basedir' is still supported, the unicode compatible '-datadir' should be used.
  • Another round of timing fixes. The game is now capable of holding the requestes or vsync framerate even on slow machines and with problematic GL drivers.
  • Fix server side mod handling, their configs are now saved to the correct directories and the configs are reexeced at mod startup.
  • Add the soft renderer back. This feature is considered experimental. The porting of the old soft renderer code to SDL and it's cleanup were done by Denis Pauk.
  • Rename several cvars to be consistent across different renderers. The configuration file will be converted at the first start, when an old cvar name is used a message is printed.
  • Rename several cvars to be consistent across different renderers. The configuration file will be converted at the first start, when an old cvar name is used a message is printed.
  • Make the client unicode compatible. Yamagi Quake II can now be installed into pathes with unicode characters in it. On Windows the user name of the current account may contain unicode characters. As a side effect the game can run on ReFS volumes. While '+set basedir' is still supported, the unicode compatible '-datadir' should be used.
  • Make the client unicode compatible. Yamagi Quake II can now be installed into pathes with unicode characters in it. On Windows the user name of the current account may contain unicode characters. As a side effect the game can run on ReFS volumes. While '+set basedir' is still supported, the unicode compatible '-datadir' should be used.
  • Another round of timing fixes. The game is now capable of holding the requestes or vsync framerate even on slow machines and with problematic GL drivers.
  • Another round of timing fixes. The game is now capable of holding the requestes or vsync framerate even on slow machines and with problematic GL drivers.
  • Fix server side mod handling, their configs are now saved to the correct directories and the configs are reexeced at mod startup.
  • Fix server side mod handling, their configs are now saved to the correct directories and the configs are reexeced at mod startup.