Application:DoomViaChroot

From WebOS Internals
Jump to: navigation, search

Setup:

1. Setup Debian.

2. Setup DirectFB.

3. Run, outside the chroot:

<source lang="text">/sbin/initctl stop LunaSysMgr #NOTE: THIS WILL KILL THE GUI</source>

4. Run, inside the debian chroot: <source lang="text"> apt-get install -y prboom mkdir -p /home/root/.prboom/ cd /home/root/.prboom/ cat > boom.cfg sound_card 0 screen_width 320 screen_height 480 use_mouse 0

  1. Key bindings
  2. Change in game by going to the options menu

key_right 0x64 key_left 0x61 key_up 0x77 key_down 0x73 key_menu_right 0x68 key_menu_left 0x66 key_menu_up 0x74 key_menu_down 0x67 key_menu_backspace 0x7f key_menu_escape 0xd key_menu_enter 0x72 key_strafeleft 0x71 key_straferight 0x65 key_fire 0x69 key_use 0x20 key_strafe 0x78 key_speed 0x7a key_savegame 0xbc key_loadgame 0xbd key_soundvolume 0xbe key_hud 0xbf key_quicksave 0xc0 key_endgame 0xc1 key_messages 0xc2 key_quickload 0xc3 key_quit 0xc4 key_gamma 0xd7 key_spy 0xd8 key_pause 0xff key_autorun 0xba key_chat 0x74 key_backspace 0x7f key_enter 0xd key_map 0x9 key_map_right 0xae key_map_left 0xac key_map_up 0xad key_map_down 0xaf key_map_zoomin 0x3d key_map_zoomout 0x2d key_map_gobig 0x30 key_map_follow 0x66 key_map_mark 0x6d key_map_clear 0x63 key_map_grid 0x67 key_map_rotate 0x72 key_map_overlay 0x6f key_reverse 0x2f key_zoomin 0x3d key_zoomout 0x2d key_chatplayer1 0x67 key_chatplayer2 0xff key_chatplayer3 0x62 key_chatplayer4 0x72 key_weapontoggle 0x30 key_weapon1 0x31 key_weapon2 0x32 key_weapon3 0x33 key_weapon4 0x34 key_weapon5 0x35 key_weapon6 0x36 key_weapon7 0x37 key_weapon8 0x38 key_weapon9 0x39 key_screenshot 0x2a

  1. Ctrl+D

ln -s boom.cfg prboom.cfg </source>

Run:

Get into the Debian chroot: <source lang="text"> export SDL_VIDEODRIVER="directfb" /usr/games/prboom -config /home/root/.prboom/boom.cfg </source>

Verified to run as written by optik678.


script to set-up/ tear down chroot and run doom:

These scripts will stop luna, set up chroot, run doom, and tear down chroot mounts/restart luna when you quit, all from a single command. I ran it from Webshell and it worked as expected. With this and webshell you can potentially make a 'Run Doom' bookmark in the browser.

place this anywhere doom.sh: <source lang="text">

  1. !/bin/sh

sudo mount -o loop /media/internal/debsmall.img /media/cf sudo mount --bind /dev /media/cf/dev sudo mount -t proc none /media/cf/proc sudo /sbin/initctl stop LunaSysMgr sudo -i /usr/sbin/chroot /media/cf /home/root/godoom.sh

sleep 2 # is this needed?

sudo umount /media/cf/dev sudo umount /media/cf/proc sudo umount /media/cf sudo /sbin/initctl start LunaSysMgr

</source>

Place this on your debian image in /home/root/ godoom.sh: <source lang="text">

  1. !/bin/sh

export SDL_VIDEODRIVER="directfb" /usr/games/prboom -config /home/root/.prboom/boom.cfg </source>

Set execute permissions for boom.cfg in chroot <source lang="text"> chmod 755 /home/root/godoom.sh </source>

notes:

1. I am not able to start directfb via usb shell using novaproxy. I get a segfault. This has been repeatable and I dont understand why this is the case.

2. godoom.sh assumes you have installed the doom-wad-shareware package ( apt-get install doom-wad-shareware ) in your chroot