Difference between revisions of "Oldunreal 227 Linux FAQ"

From Oldunreal-Wiki
Jump to navigation Jump to search
(8 intermediate revisions by 4 users not shown)
Line 14: Line 14:
'''For the moment I have reports that it is running on:'''
'''For the moment I have reports that it is running on:'''


OpenSuSE 11.0, 11.1, 11.2, 11.3, 11.4
OpenSuSE 11.0, 11.1, 11.2, 11.3, 11.4, 12.1, 12.2 & 13.1


Slackware 12.X, 13.0 (but maybe artsd needs to be killed if using OSS for sound or Unreal needs to be started up without sound with the -nosound option)
Slackware 12.X, 13.0 (but maybe artsd needs to be killed if using OSS for sound or Unreal needs to be started up without sound with the -nosound option)


Archlinux (last update 18.05.2009)
Archlinux (last update 18.05.2009)
Debian 6.0 Squeeze


'''Problems are reported on:'''
'''Problems are reported on:'''


Ubuntu (not sure which release)
Ubuntu (not sure which release)
But in theory any recent Linux system should do.


== On which graphic card is Unreal running on? ==
== On which graphic card is Unreal running on? ==
Line 46: Line 50:
Missing libraries:
Missing libraries:


Unreal requires 32-bit libraries to run. In particular, it requires libSDL 1.2 32-bit and freealut 32-bit. It also requires FMod, but it should already be provided with the patch. On openSUSE, you can install the missing libraries by using:
Unreal requires 32-bit libraries to run. In particular, it requires libSDL 1.2 32-bit and freealut 32-bit. It also requires FMod, but it should already be provided with the patch (make sure to unpack all convenience libraries from Help/ directory to System/). On openSUSE, you can install the missing libraries by using:
     sudo zypper install libSDL-1_2-0-32bit freealut-32bit  
     sudo zypper install libSDL-1_2-0-32bit freealut-32bit  


Line 89: Line 93:
There are no Advanced Options for Linux users. You need to edit the UnrealLinux.ini instead.  
There are no Advanced Options for Linux users. You need to edit the UnrealLinux.ini instead.  
But all possible options are already in the file and commented with a semicolon (;). You just need to change the commented lines.
But all possible options are already in the file and commented with a semicolon (;). You just need to change the commented lines.
== I use tiled WM, and Unreal doesn't work properly in fullscreen mode ==
Run Unreal, then switch to another tag without windows on it.


== I want to use the Unreal Gold/Unreal Tournament menu interface instead of this old one!  ==
== I want to use the Unreal Gold/Unreal Tournament menu interface instead of this old one!  ==
Open your UnrealLinux.ini and change the following lines in section [Engine.Engine]:
Open your UnrealLinux.ini and change the following lines in section [Engine.Engine]:


Line 107: Line 115:
== Is there no UED for Linux? ==
== Is there no UED for Linux? ==
Old UED is built in visual basic and UED2 is completely based on Windows. A complete rebuild of UED2 in QT or GTK would be necessary to port it. So not planned at the moment. However, UED2 is running in wine and 227f's version does support OpenGL for the viewports, so it should be possible to run UED2 completely.  
Old UED is built in visual basic and UED2 is completely based on Windows. A complete rebuild of UED2 in QT or GTK would be necessary to port it. So not planned at the moment. However, UED2 is running in wine and 227f's version does support OpenGL for the viewports, so it should be possible to run UED2 completely.  
Reports are welcome.
Reports are showing that there is still a problem with selecting, so you can see anything, but not work in it yet. No solution is found so far.


[http://appdb.winehq.org/objectManager.php?sClass=version&iId=460 Wine AppDB entry]
[http://appdb.winehq.org/objectManager.php?sClass=version&iId=460 Wine AppDB entry]


== Does 227 need wine to run? ==
== Does 227 need wine to run? ==
No, 227f and 227g are having a complete native port. Wine is not needed to run it.
No, 227 version is having a complete native port. Wine is not needed to run it.
But since there is no Linux installer yet with permission from EPIC, Wine is needed to install the base game and the patch itself. After installing it Wine is no longer needed and the game can be run with UnrealLinux.bin
But since there is no Linux installer yet with permission from EPIC, Wine is needed to install the base game and the patch itself. After installing it Wine is no longer needed and the game can be run with UnrealLinux.bin


Line 137: Line 145:
in Section  
in Section  


Engine.Engine] <br />
[Engine.Engine]
<nowiki>;AudioDevice=FMODAudioDrv.FMODAudioDevice</nowiki> <br />
<nowiki>;AudioDevice=FMODAudioDrv.FMODAudioDevice</nowiki>
<nowiki>AudioDevice=ALAudio.ALAudioSubsystem</nowiki> <br />
<nowiki>AudioDevice=ALAudio.ALAudioSubsystem</nowiki>
Default is FMOD. <br />
Default is FMOD.


227 is offering OpenAL and FMOD for sound output.  
227 is offering OpenAL, FMOD and SwFMOD for sound output. OpenAL is only capable of playing sounds, not tracker music, thus if you choose it, you will need to configure FMOD or SwFMOD in addition. However, OpenAL generally tends to work better out-of-the-box.
227f uses OSS for output, in 227g there are specific options to chose between ALSA,OSS,ESD (and maybe more), the available devices can be seen in UnrealLinux.bin.log and set up accordingly in UnrealLinux.ini then.


If there is no sound or if it segfaults at startup then check if maybe a daemon like artsd is blocking the output at /dev/dsp. This should only happen with OSS, try using ALSA.
When using FMOD, since 227g you can choose between ALSA, OSS and ESD (and maybe more) outputs. When using OpenAL, you can choose between PulseAudio, ALSA and OSS. The available devices can be seen in UnrealLinux.bin.log, and are set up in UnrealLinux.ini, using the variables ''FMODOutputs'' for FMOD and ''ALDevices'' for OpenAL.


If your Unreal segfaults at startup because of sound you can set "ProbeDevicesOnly" in UnrealLinux.ini to determine the available devices in a failsafe way.
If your Unreal segfaults at startup because of sound you can set "ProbeDevicesOnly" in UnrealLinux.ini to determine the available devices in a failsafe way.


'''FMOD: Sound starts but stops after a few seconds playing'''
'''FMOD: Sound starts but stops after a few seconds playing'''
Line 158: Line 164:
'''Music doesn't play'''
'''Music doesn't play'''


Open your UnrealLinux.ini at <nowiki>[ALAudio.ALAudioSubsystem]</nowiki> section.
If your system is using PulseAudio, you need to enable timer-based scheduling for FMOD to work correctly. This is normally on by default, but in case you set it otherwise or your distribution ships with different defaults, this change can be done by editing the ''/etc/pulse/default.pa'' file and removing any occurrences of ''tsched=0''.


Find properties
If you are not using PulseAudio, or if the above did not help, you can try using another FMOD output, such as OSS or ESD.
  ALDevices=DefaultDevice
  FMODOutputs=DefaultDevice
  FMODDevices=devdsp
And change them to
  ALDevices=ALSASoftware
  FMODOutputs=ALSA
  FMODDevices=default


'''Music/sound doesn't play or stop playing after a while. Nothing helps.'''
Run EsounD:
  $esd &
Then change FMODOutouts property in UnrealLinux.ini under ALAudio.ALAudioSubsystem or FMODAudioDrv.FMODAudioDevice sections to
  FMODOutputs=ESD
Run Unreal and enjoy your sound!


'''I don't have EAX/EFX effects / the environment ambients like "Underwater etc" do not work!'''
'''I don't have EAX/EFX effects / the environment ambients like "Underwater etc" do not work!'''


Sorry, OpenAL Linux did not support EFX effects like in Windows in 227f.  
Check if your OpenAL libraries and the patch are up-to-date. EFX support on Linux was added in 227g.
227g is having an equal implementation.
 
However, OpenAL does not match exactly the echo/reverb model of the old previous versions, but it offers 112 ambient presets which are used for zones like "Underwaterzone", "Slimezone" etc. and some replacement for the echoes. So its way more functional, but if you want an exact matching reverb like in the first days of Unreal, you have to use FMOD.
Note that OpenAL does not closely emulate the echo/reverb effects of Galaxy, but it offers 112 ambient presets which are used for zones like "Underwaterzone", "Slimezone" etc. and some replacement for the echoes. So its way more functional, but if you want an exact matching reverb like in the first days of Unreal, you have to use FMOD.
 
== Serverbrowser stalls entire system, taking very long ==
Check that your local hostname can be resolved, add it to /etc/hosts if necessary (can be checked with ping <hostname>). 227j will have a sufficient error message to identify this issue.
 
[[Category:FAQs]]

Revision as of 15:50, 12 June 2014

How do I install Unreal in Linux?

First you need to download the latest patch, but due to legal limitations (I'm not officially allowed to use a Linux specific installer) you must rely on the windows .exe patch Then there are 2 ways:

1. If you want to use Linux only, you need to run the installer from CD and then the patch with Wine to install it. 2. Install it in Windows and copy the directory over.

After installing (or copying it over) you can run it native without Wine f.e. in console with ./UnrealLinux.bin (in the Unreal/System directory or create a shortcut to start it from somewhere else).

UCC is also existing and fully functional except font import. So you can start a server like in Windows with "./UCCLinux.bin server ...". If you start it from console you can enter any command like in the windows version, but directly in the console window.

On which distributions is Unreal 227 running on?

For the moment I have reports that it is running on:

OpenSuSE 11.0, 11.1, 11.2, 11.3, 11.4, 12.1, 12.2 & 13.1

Slackware 12.X, 13.0 (but maybe artsd needs to be killed if using OSS for sound or Unreal needs to be started up without sound with the -nosound option)

Archlinux (last update 18.05.2009)

Debian 6.0 Squeeze

Problems are reported on:

Ubuntu (not sure which release)

But in theory any recent Linux system should do.

On which graphic card is Unreal running on?

NVidia:

Currently all cards seem to run fine with NVidia drivers installed. Tested and working with: GeForce 4 Ti4200, Geforce 5900XT, Geforce 8400M GS, Geforce 9800 GT, Geforce 9800 GTX, GTX260

ATI:

Should run fine with FGLRX (Catalyst) drivers installed. Tested and working with Radeon HD 4890.

Intel:

integrated Chipset like GM965 with Mesa works but there seem to be some problems with OpenGL (f.e. adjusting Brightness doesn't work in some cases).

Unreal segfaults at startup

Currently the following reasons are known:

Missing libraries:

Unreal requires 32-bit libraries to run. In particular, it requires libSDL 1.2 32-bit and freealut 32-bit. It also requires FMod, but it should already be provided with the patch (make sure to unpack all convenience libraries from Help/ directory to System/). On openSUSE, you can install the missing libraries by using:

   sudo zypper install libSDL-1_2-0-32bit freealut-32bit 


A messed up ini:
remove or rename UnrealLinux.ini and let Unreal create new one


Sound Issues:
Try to start Unreal with -nosound option to confirm. Then check the section Oldunreal_227_Linux_FAQ#Sound_issues for solutions.

On some distributions needed dependencies for libSDL are missing, so please make sure to have the packages "svgalib-bin", "libsvga", and "libsdl-gfx" installed.
If your system doesn't provide all libraries, there is a package called linux_convenience_libs.7z in the Help (only 227g) folder which should contain all the necessary files.


If you get something like that:

 Processors / Cores 2
 XDM authorization key matches an existing client!Couldn't initialize SDL: Couldn't open X11 display
 
 
 History: 
 
 Exiting due to error

Try make "xhost +"(without quotes) before launching Unreal.

OR

Delete System/libSDL-1.2.so*


Another reason for segfaults at startup could be that the requested fullscreen resolution is higher than your monitor supports (you switched your monitor maybe or took over the UnrealLinux.ini from another system).

After deleting libSDL.so.0 Unreal shows me black screen!

Do not panic. Hit ~, type quit. Unreal will exit, but your image on screen can be corrupted, just restart your X and downgrade SDL to version 1.2.13

How do I access Advanced Options?

There are no Advanced Options for Linux users. You need to edit the UnrealLinux.ini instead. But all possible options are already in the file and commented with a semicolon (;). You just need to change the commented lines.


I use tiled WM, and Unreal doesn't work properly in fullscreen mode

Run Unreal, then switch to another tag without windows on it.


I want to use the Unreal Gold/Unreal Tournament menu interface instead of this old one!

Open your UnrealLinux.ini and change the following lines in section [Engine.Engine]:

Console=UBrowser.UBrowserConsole

;Console=UMenu.UnrealConsole

into

;Console=UBrowser.UBrowserConsole

Console=UMenu.UnrealConsole


Is there no UED for Linux?

Old UED is built in visual basic and UED2 is completely based on Windows. A complete rebuild of UED2 in QT or GTK would be necessary to port it. So not planned at the moment. However, UED2 is running in wine and 227f's version does support OpenGL for the viewports, so it should be possible to run UED2 completely. Reports are showing that there is still a problem with selecting, so you can see anything, but not work in it yet. No solution is found so far.

Wine AppDB entry

Does 227 need wine to run?

No, 227 version is having a complete native port. Wine is not needed to run it. But since there is no Linux installer yet with permission from EPIC, Wine is needed to install the base game and the patch itself. After installing it Wine is no longer needed and the game can be run with UnrealLinux.bin

My system / distro / graphics card driver seems to have problems with OpenGL or graphics are messed up

Try SDLSoftDrv instead:

;GameRenderDevice=OpenGLDrv.OpenGLRenderDevice

GameRenderDevice=SDLSoftDrv.SDLSoftwareRenderDevice

;GameRenderDevice=SDLGLDrv.SDLGLRenderDevice

SDLGLDrv can be tried also, but its an old and not very advanced renderer. Its just left in there for testing purposes.

!!! To use it you need to add -NoForceSDLDrv at startup. !!!

Please note that SDLSoftDrv and SDLGLDrv are NOT supporting S3TC highres textures!


Sound issues

If you have any problems, try first to change the sound output to OpenAL (or if you set it up first to OpenAL then try FMOD). in Section

[Engine.Engine]
;AudioDevice=FMODAudioDrv.FMODAudioDevice
AudioDevice=ALAudio.ALAudioSubsystem

Default is FMOD.

227 is offering OpenAL, FMOD and SwFMOD for sound output. OpenAL is only capable of playing sounds, not tracker music, thus if you choose it, you will need to configure FMOD or SwFMOD in addition. However, OpenAL generally tends to work better out-of-the-box.

When using FMOD, since 227g you can choose between ALSA, OSS and ESD (and maybe more) outputs. When using OpenAL, you can choose between PulseAudio, ALSA and OSS. The available devices can be seen in UnrealLinux.bin.log, and are set up in UnrealLinux.ini, using the variables FMODOutputs for FMOD and ALDevices for OpenAL.

If your Unreal segfaults at startup because of sound you can set "ProbeDevicesOnly" in UnrealLinux.ini to determine the available devices in a failsafe way.

FMOD: Sound starts but stops after a few seconds playing

Lower number of channels.

OpenAL uses FMOD for music output and if using OSS it can be that OpenAL is blocking /dev/dsp for FMOD then. This seems to be system specific and the only recommendation is: if possible use ALSA.

Music doesn't play

If your system is using PulseAudio, you need to enable timer-based scheduling for FMOD to work correctly. This is normally on by default, but in case you set it otherwise or your distribution ships with different defaults, this change can be done by editing the /etc/pulse/default.pa file and removing any occurrences of tsched=0.

If you are not using PulseAudio, or if the above did not help, you can try using another FMOD output, such as OSS or ESD.

Music/sound doesn't play or stop playing after a while. Nothing helps.

Run EsounD:

  $esd &

Then change FMODOutouts property in UnrealLinux.ini under ALAudio.ALAudioSubsystem or FMODAudioDrv.FMODAudioDevice sections to

  FMODOutputs=ESD

Run Unreal and enjoy your sound!

I don't have EAX/EFX effects / the environment ambients like "Underwater etc" do not work!

Check if your OpenAL libraries and the patch are up-to-date. EFX support on Linux was added in 227g.

Note that OpenAL does not closely emulate the echo/reverb effects of Galaxy, but it offers 112 ambient presets which are used for zones like "Underwaterzone", "Slimezone" etc. and some replacement for the echoes. So its way more functional, but if you want an exact matching reverb like in the first days of Unreal, you have to use FMOD.

Serverbrowser stalls entire system, taking very long

Check that your local hostname can be resolved, add it to /etc/hosts if necessary (can be checked with ping <hostname>). 227j will have a sufficient error message to identify this issue.