1 (11.10.2010 16:14:40 отредактировано bolivar4)

Как установить Return to Castle Wolfenstein в линукс Ubuntu.
http://www.linuxspace.org/archives/1245

Вы не любите кошек?
Вы просто не умеете их готовить!

2

в ссылке которую вы указали все расписано как сделать. что у вас конкретно не получается?

Верить нельзя никому...

3

Может кому и пригодится, для себя под Wine ни как может драйвер 195.36.15 вот и нативный хочю поставить.

Вы не любите кошек?
Вы просто не умеете их готовить!

4

bolivar4 пишет:

для себя под Wine ни как может драйвер 195.36.15 вот и нативный хочю поставить.

можно по-русски?

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

Как сделать чтобы в Return to Castle Wolfenstein нормально работал звук? Прочитал кучу постов на разных форумах как это сделать, но, к сожалению, в моём случае ничего не помогло (помогло единоразово). Все пути прописал, как было написано, пробовал разные советы, которые так хвалили что помогает, видимо, избранным. Уже подсунул библиотеку libSDL из другой игры и ткнул запускающий скрипт туда мордой, но звука всё равно нет  ak
На Slackware 13.37 проблем не было почему-то  bn

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

6

Wehrmacht_Rover, подробней, как игру запускаешь.

Wehrmacht_Rover пишет:

но, к сожалению, в моём случае ничего не помогло (помогло единоразово).

Что именно помогло единоразово?

Навскидку

 Консоль:
$ padsp ./игра

 Консоль:
$ aoss ./игра

 Консоль:
$ su
<root-пароль>
# modprobe snd-pcm-oss
# exit
$ ./игра

Fedora GNOME3

7 (01.02.2014 06:36:56 отредактировано Wehrmacht_Rover)

xxblx пишет:

Что именно помогло единоразово?

Вот это:

 Консоль:
echo "wolfsp.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
echo "wolfsp.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss

И делается оно, естественно, от имени рута, следовательно такой костыль мне нафиг не сдался.  au
С игрой идёт вот такой скрипт:

+ С игрой идёт вот такой скрипт:
#!/bin/bash
# et-sdl-sound - SDL sound system for Enemy Territory, RTCW and Q3
# Copyright (C) 2007-2008  Pyry Haulos
# Please fill in following variables or let this script
# guess correct values.
# You can set this in GAME_PATH environment variable

GAME_PATH="/home/wr/games/RTCW"

# libSDL.so
# You can set this in LIBSDL environment variable
LIBSDL="/home/wr/games/RTCW/libSDL-1.2.so.0"
# Temporary directory

TMP_DIR="/tmp"

# Use 'find' if can't locate the game or libSDL otherwise

USE_FIND="yes"

# SDL audio driver

SDL_AUDIODRIVER="aoss"

# Just extract et-sdl-sound.so

ONLY_EXTRACT="no"

# Do not touch anything below this line!
SCRIPT_NAME='wolfsp-sdl-sound'
GAME_BIN='wolfsp.x86'
GAME_DIR='RTCW'
ET_SDL_SOUND_LIB=''\
'\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03'\
...Дальше идёт куча вот таких вот абракадабр...
TRIED_LIBSDL="" # for debugging info

# info "message"

info () {
    echo -e "\033[34m[${SCRIPT_NAME}] \033[32minfo\033[0m   : $1"
}

# error "message"

error () {
    echo -e "\033[34m[${SCRIPT_NAME}] \033[31merror\033[0m  : $1"
}

# eend "message"

eend () {
    error "$1"
    exit 1
}

# testgamepath "path"

testgamepath () {
    # TODO test some .pk3 files?
    if [ -x "$1/$GAME_BIN" -a "$GAME_PATH" = "" ]; then
        info "$GAME_BIN is installed to $1"
        GAME_PATH=$1
    fi
}

# testlibsdl "path"

testlibsdl () {
    TRIED_LIBSDL="$TRIED_LIBSDL $1"
    
    READLINK=`readlink -f "$1"`
    if [ "$LIBSDL" = "" -a "$READLINK" != "$1" ]; then
        #info "$1 is a symbolic link to $READLINK"
        testlibsdl "$READLINK"
    fi
    
    if [ "$LIBSDL" = "" -a -f "$1" ]; then
        if [ "`file -b "$1" | grep "ELF 32-bit LSB shared object"`" != "" ]; then
            info "32-bit libSDL.so is installed to $1"
            LIBSDL="$1"
        fi
    fi
}

if [ "$ONLY_EXTRACT" = "yes" ]; then
    echo -ne "$ET_SDL_SOUND_LIB" > "./et-sdl-sound.so" || eend "can't write ./et-sdl-sound.so"
    info "library is written to ./et-sdl-sound.so"
    exit 0
fi

[ "$GAME_PATH" = "" ] && testgamepath "/usr/local/games/$GAME_DIR"
[ "$GAME_PATH" = "" ] && testgamepath "/opt/$GAME_DIR"
[ "$GAME_PATH" = "" ] && testgamepath "/usr/games/$GAME_DIR"
[ "$GAME_PATH" = "" ] && testgamepath "~/$GAME_DIR"
if [ "$GAME_PATH" = "" ]; then
    LOCATE_GAME=`locate "$GAME_BIN" 2> /dev/null`
    for i in $LOCATE_GAME; do
        i=`dirname "$i"`
        testgamepath $i
        [ "$GAME_PATH" != "" ] && break
    done
fi
if [ "$GAME_PATH" = "" -a "$USE_FIND" = "yes" ]; then
    FIND_GAME=`find /opt/ /usr/ -type f -name "$GAME_BIN"`
    for i in $FIND_GAME; do
        i=`dirname "$i"`
        testgamepath $i
        [ "$GAME_PATH" != "" ] && break
    done
fi
[ "$GAME_PATH" = "" ] && eend "can't locate $GAME_BIN"

[ "$LIBSDL" = "" ] && testlibsdl "/usr/lib/libSDL.so"
[ "$LIBSDL" = "" ] && testlibsdl "/usr/lib/libSDL-1.2.so.0"
[ "$LIBSDL" = "" ] && testlibsdl "/usr/lib32/libSDL.so"
[ "$LIBSDL" = "" ] && testlibsdl "/usr/lib32/libSDL-1.2.so.0"
if [ "$LIBSDL" = "" ]; then
    LOCATE_LIBSDL=`locate -r libSDL[^_]*so[^_]* 2> /dev/null`
    for i in $LOCATE_LIBSDL; do
        testlibsdl $i
        [ "$LIBSDL" != "" ] && break
    done
fi
if [ "$LIBSDL" = "" -a "$USE_FIND" = "yes" ]; then
    FIND_LIBSDL=`find /usr/lib/ /usr/lib32/ -type f -name libSDL[^_]*so[^_]*`
    for i in $FIND_LIBSDL; do
        testlibsdl $i
        [ "$LIBSDL" != "" ] && break
    done
fi
if [ "$LIBSDL" = "" ]; then
    error "can't locate libSDL.so"
    info "tried following files"
    for i in $TRIED_LIBSDL; do
        FILE_INFO=`file -b "$i"`
        info "$i"
        info "   $FILE_INFO"
    done
    exit 1
fi

echo -ne "$ET_SDL_SOUND_LIB" > "$TMP_DIR/et-sdl-sound.so" || eend "can't write $TMP_DIR/et-sdl-sound.so"
info "library is written to $TMP_DIR/et-sdl-sound.so"

info "launching the game..."
cd "$GAME_PATH"

export ETSDL_SDL_LIB="$LIBSDL"
export SDL_AUDIODRIVER="$SDL_AUDIODRIVER"
LD_PRELOAD="${LD_PRELOAD}:${TMP_DIR}/et-sdl-sound.so" ./$GAME_BIN $*

rm "$TMP_DIR/et-sdl-sound.so" || error "can't remove $TMP_DIR/et-sdl-sound.so"

info "done"

Выхлоп терминала:

 Консоль:
------- sound initialization -------
Cmd_AddCommand: play already defined
Cmd_AddCommand: music already defined
Cmd_AddCommand: queuemusic already defined
Cmd_AddCommand: streamingsound already defined
Cmd_AddCommand: s_list already defined
Cmd_AddCommand: s_info already defined
Cmd_AddCommand: s_stop already defined
/dev/dsp: Bad file descriptor
Sound driver too old
------------------------------------

С драйвером aoss ругается на это:

/dev/dsp: Bad file descriptor
Sound driver too old

А с драйвером padsp на это:

/dev/dsp: No such file or directory
Could not open /dev/dsp

А после этого:

modprobe snd-pcm-oss

Выхлоп таков:

/dev/dsp: Device or resource busy
Could not open /dev/dsp

Ой, был запущен плеер VLC  ah
Теперь без плеера вот это:

/dev/dsp: Input/output error
Could not mmap /dev/dsp

И ведь каждый раз новые отговорки выдумывает, сволочь!  am

Upd: установил pulseaudio, закомментировал строку

# libSDL.so
# You can set this in LIBSDL environment variable
#LIBSDL="/home/wr/games/RTCW/libSDL-1.2.so.0"

прописал в скрипте драйвер padsp, и все равно звука нет!  aq
Как с этим бороться?

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

8

Wehrmacht_Rover, погуглил я по во вопросу немного, похоже что на современных системах кроме

Wehrmacht_Rover пишет:

И делается оно, естественно, от имени рута, следовательно такой костыль мне нафиг не сдался.

вариантов-то и нет больше.

Можно какой-нибудь kdesu или gksu приспособить для

 Консоль:
echo "wolfsp.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
echo "wolfsp.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss

Чтобы каждый раз вручную под root'ом не вводить.

Fedora GNOME3

9

xxblx пишет:

kdesu или gksu

Есть еще gnomesu и beesu, в зависимости какой дистрибутив.

In Tux We Trust     Centos 6.5
Самурай без меча подобен самураю с мечом, но только без меча, однако как-будто с мечом, которого у него нет, но и без него он как с ним...

10

Я юзал вот это https://github.com/nullkey/et-sdl-sound