About Store Forum Documentation Contact



Post Reply 
headless linux server
Author Message
yvanvds Offline
Member

Post: #1
headless linux server
Before you get excited: I haven't got it to work just yet. But I thought I'd post my current progress in here so that others don't have to start from zero.

The goal is to have an EE server program run on a server that has no X11 window server installed. In other words, the server should be started and controled from within a console environment.

The following are the steps I am quite sure of:

1. Install basic audio. Every EE program asks for it:
Code:
sudo apt-get install libopenal-dev alsa-base pulseaudio
sudo alsa force-reload

2. install graphics libs:

Code:
sudo apt-get install libcg libcggl mesa-utils libfl1-mesa-dri

3. install tools to run a fake X11 display. I guess the fonts are not needed, but you will get some warnings if you don't install them.

Code:
sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
sudp apt-get install zenity xvfb

4. compile your EE linux server with:

Code:
App.flag = APP_WORK_IN_BACKGROUND|APP_NO_FX|APP_ALLOW_NO_GPU|APP_HIDDEN;

5. Try to execute this on the headless server with:

Code:
xvfb-run --server-args="-screen 0 1024x768x24" ./server

Server is the name of your exe. The binary will start but exits with:

Code:
Xlib:  extension "XFree86-VidModeExtension" missing on display ":99".
Xlib:  extension "XFree86-VidModeExtension" missing on display ":99".
Xlib:  extension "XFree86-VidModeExtension" missing on display ":99".
Xlib:  extension "XFree86-VidModeExtension" missing on display ":99".
Xlib:  extension "XFree86-VidModeExtension" missing on display ":99".
sh: 77: Syntax error: EOF in backquote substitution

The first one is because this module is not supported by xvfb, but i do not know if it is an error. The second has me puzzled for the moment because it's supposed to be a scripting error, but ./server is a binary.

I am fairly certain this is the way to go, but there's still some work to do.

Regards,

yvan
01-02-2014 02:57 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #2
RE: headless linux server
Hi,

does your app reach InitPre before it exits?
if so you can do the following:
Code:
/******************************************************************************/
namespace EE
{
   void EnableLog()
   {
      extern bool LogInit;
      LogInit=true;
   }
}
void InitPre()
{
   EnableLog();
and please attach the log output, I'm curious if it exits because of some command that the engine calls
with the log file I'll be able to know how far did the engine succeed to initialize.
01-03-2014 11:13 PM
Find all posts by this user Quote this message in a reply
yvanvds Offline
Member

Post: #3
RE: headless linux server
Thanks.

I've attached the log file. Looks like it has something to do with shaders. Still, it would be nice if we'd get it to work, seeing that setup up a server is one of the reasons why people want Esenthel on linux.

Regards,

yvan


Attached File(s)
.txt  log.txt (Size: 12.65 KB / Downloads: 8)
01-04-2014 07:42 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #4
RE: headless linux server
Hi,

Thanks,
for next release I'll add this change:
-APP_ALLOW_NO_GPU flag will now completely disable graphics and shaders on OpenGL (to be used on Linux servers)
01-08-2014 02:27 AM
Find all posts by this user Quote this message in a reply
candam Offline
Member

Post: #5
RE: headless linux server
Thanks for the new flag Esenthel
01-08-2014 11:15 AM
Find all posts by this user Quote this message in a reply
Post Reply