Page 1 of 1

Blender want X11 files, how can i compile without X11 ?

Posted: Wed Oct 14, 2009 4:28 pm
by Bernd_r
I use ccmake for configuring and after type make and some small compile i get that error, that Blender want x11 files.I thought blender can work without X11 and only with SDL.

I use the 2.49b source.
Is it possible that Blender work without X11 and only with SDL and the opengl, because i cant run a X11 desktop emulation enviroment ?

I look in ccmake but find no Option also when press t.

Are there older blender that can work wthout X11 ?

[ 2%] Building CXX object intern/ghost/CMakeFiles/bf_ghost.dir/intern/GHOST_Dis
playManagerX11.obj
In file included from /bernd/blender_src/intern/ghost/intern/GHOST_DisplayManage
rX11.cpp:34:0:
/bernd/blender_src/intern/ghost/intern/GHOST_SystemX11.h:36:22: fatal error: X11
/Xlib.h: No such file or directory

Posted: Wed Oct 14, 2009 10:41 pm
by jesterKing
You are probably mixing this up with Blenders' background rendering method. There is no version of Blender that cannot be compiled without X11 (unless you compile on Windows of course ;) )

SDL is used in Blender for sound, and OpenGL is used for creation of the UI. For the OpenGL to work though, we rely on X11 to give us a context to draw in (or its equivalent on other OSes).

I don't forsee any change in that in the near or semi-near future. If you use a desktop environment that uses something else than X11, you'll have to implement the proper classes and interfaces for that environment instead. Otherwise, there's no fix but to install X11 libraries and development libraries.

Out of curiosity, what kind of desktop environment do you run?

/Nathan

Posted: Thu Oct 15, 2009 1:04 pm
by Bernd_r
jesterKing wrote:
Out of curiosity, what kind of desktop environment do you run?

/Nathan
its amiga OS, there is a Blender Port 2.46 here for Morph OS (its very simular to amigaos) and use too no x11.But its too old, but maybe can see what to do so no X11 is need and new blender can build

Posted: Thu Oct 15, 2009 1:41 pm
by jesterKing
Ok, so in your case you want to create an implementation of GHOST for MorphOS, just like there are implementations for X11, Win32, Carbon and Cocoa.

If you look at https://svn.blender.org/svnroot/bf-blen ... st/intern/ you can see the different groups of files.

In your case you would have something like GHOST_DisplayManagerMorph.cpp and GHOST_DisplayManagerMorph.h for the diplay manager implementation. And similar for the other parts that need to be implemented for each platform specifically.

If you manage to do a working implementation for MorphOS, please do submit a patch! Also, if you have time and interest, join #blendercoders on the Freenode IRC network (ie. http://webchat.freenode.net), where we could assist you too.

/Nathan

Posted: Thu Oct 15, 2009 6:16 pm
by Bernd_r
jesterKing wrote:Ok, so in your case you want to create an implementation of GHOST for MorphOS, just like there are implementations for X11, Win32, Carbon and Cocoa.

/Nathan
sorry, i mean for Morphos is a old Blender 2.46 here.I dont have a MorphOS System, but i can, if i find source, maybe make amiga OS Port more easy.
but i like more platform independent coding.

I look in source and see the specific code, i get in mind using GLUT.
This is on amiga OS too here.

What do you think, is it possible to use GLUT, or is it too limitet ?

I understand SDL 1.2 cant use, because the backend must handle windows.SDL 1.2 have only 1 window.

but what happen with SDL 1.3 ?
it can handle many windows and several opengl contexts.

Posted: Fri Oct 16, 2009 7:50 am
by jesterKing
I think you're missing the bigger picture here. Ok, instead of MorphOS, you do it for AmigaOS -> GHOST_DisplayManagerAmiga.cpp/h.

GHOST *is* already intended for abstracting away platform-specific things for the upper layers. GHOST is our GLUT/SDL whatever. GHOST stands for Generic Handy Operating System Toolkit.

It's just that to have it support your OS, you'll have to add some code. It really is the best thing to do. Yes, you'll have to do some platform-specific coding, but that'll have to be done only once, and Blender should compile and work happily.

Forget about GLUT and SDL as replacement for GHOST, you'll end up doing only more work than necessary, compared to implementing the AmigaOS part for GHOST.

/Nathan

Posted: Fri Oct 16, 2009 11:30 am
by Bernd_r
jesterKing wrote:
Forget about GLUT and SDL as replacement for GHOST, you'll end up doing only more work than necessary, compared to implementing the AmigaOS part for GHOST.

/Nathan
i mean no repleacement of ghost with that, i mean a ghost that use SDL1.3 or GLUT instead of amigaos or X11.so its more portable.But ok, is the platform specific ghost Implementation of 2.49 and 2.5 the same, or should i better go straight to Blender 2.5 ?

Posted: Fri Oct 16, 2009 1:11 pm
by jesterKing
GHOST is in the same cast as GLUT and SDL, it should be regarded as the same. You might be able to write a SDL/GLUT section for GHOST though, but it would be better to do it right on top of your OS.

GHOST is the thing that needs to be adapted to platforms where necessary - it's the lowest level we use. It is a replacement of GLUT and SDL (has been so since its inception last millenium, before there was a proper GLUT or any SDL to speak of).

GHOST is the same in 2.49 and 2.5 - of course, it'd be cooler to work on Blender 2.5, since that's what we're currently focused on mostly. I really would like to see you work on the AmigaOS part of GHOST, instead of having it replaced with SDL or GLUT (or having it wrap GLUT or SDL - both of which will probably quite problematic).

/Nathan

Posted: Sat Oct 17, 2009 4:21 pm
by Bernd_r
jesterKing wrote: GHOST is the same in 2.49 and 2.5 - of course, it'd be cooler to work on Blender 2.5, since that's what we're currently focused on mostly. I really would like to see you work on the AmigaOS part of GHOST, instead of having it replaced with SDL or GLUT (or having it wrap GLUT or SDL - both of which will probably quite problematic).
/Nathan
ok, but problem is, i dont currently know if my idea can get really working.

maybe you know something about Blitzbasic, Purebasic, that use 3D Gameengines now ?

they start on amigaos, but move to PC.now Blitzasic for amiga+IDE is called amiblitz3, and its still furtherdevelop on sourceforge.

My idea is to use amiblitz with the blender game engine.

amiblitz is a fast opensource Basic language but with unlimitet access to OS libs or C shared lib, there is also a real time able music studio here and DSP effects written in basic.Show that near same speed can reach in compare to C.there is also easy to use API here, there is a Monkey script Adventure engine begin and a fast Perlin Noise texture generatur.

But whats miss is a 3D engine.

So i get in mind, to use the blender game engine in the amiblitz language with basic commands direct.

Here is a link to the Homepage of Thilo that show some more.

http://www.hd-rec.de/HD-Rec/index.php?s ... tributions

I think the Blender project as best solution, but i dont know if it is possible and hopefully not too much work, to use it in a diffrent language as Python.

Posted: Wed Oct 21, 2009 11:18 pm
by Yomgui
Hello!

Ok, I'm back! :-)

@Bernd_r: good to see some others mad guys to make a port of Blender :-)

So don't worry I'll give you soon my Blender port sources for MorphOS.
As Nathan has said, most of the port (blender core related) is to support the system in GHOST.

Now, this is not suffisent obviously, because Blender has also some dependencies, and not the easiers:
- Python
- GCC 3.x for some C++ parts
- Freetype2
- FFMPEG
- and some libs in extern/ section

So, Bernd, I'm quite interested to know how you think to replace PYthon for example, as a big part of the Blender code is now hard linked with it...

Now, if your goal is just to re-use the game-engine: what do you really need? Just physics or the 3D display also? Because as far as I know, there is no 3d stack available on AmigaOS (I talk about hardware support, because OpenGL software 3d stack shall be forgotten immediately ;-)).

Note: I've just uploaded my Blender MorphOS port sources (2.46) here:
http://www.yomgui.fr/blender/blender_2. ... 21.tar.bz2

It's my latest snapshot from my current svn depository, even with non commited changes! So...
Don't try to build anything: I'm using my own build system not available here (but you can check the makeall.py for your information).

Have a good reading ;-)

Posted: Thu Oct 22, 2009 11:04 am
by Bernd_r
Yomgui wrote:
Now, this is not suffisent obviously, because Blender has also some dependencies, and not the easiers:
- Python
- GCC 3.x for some C++ parts
- Freetype2
- FFMPEG
- and some libs in extern/ section

So, Bernd, I'm quite interested to know how you think to replace PYthon for example, as a big part of the Blender code is now hard linked with it...

thanks for your sources.

Wy must Python replace, on AOS there is Python here.maybe a newer version can compile.

I use not the Python build system, i use ccmake (and it compile 2%), this seem the future build system of Blender ?

Are there problems to compile current blender 2.49 or 2.5 on MOS ?
Also the ixemul.library(a netbsd Kernel) is big enhanced since last year.

There are lots new Linux Program Ports that need no or very few changes of source.

My rule is dont modify programs to compile on a System with outdatet libs.instead update the Unix libs

I have test MOS some times ago.I see they do the unix core linker lib closed source(libnix), and they have few features.
Its not able to compile ffmpeg and ffplay by just configure and make and use full thread support of ffplay.

ixemul is enhanced to do, also its opensource, so there are upto date Versions of ffmpeg(too enhanced with some amiga features) on aminet here

http://aminet.net/package/gfx/conv/ffmp ... 19793-m68k

currently there is also a liboil and libschroedinger working by configure and make in ffmpeg.but not release now.

other big programs that can build with configure and make is GCC there is GCC 4.5.0 testversion here.

there can also build the SDL Version of netsurf browser

http://www.netsurf-browser.org/

on aminet.

without lots changes and it can keep upto date very easy too.

so i have hope, when Blender/Python need a feature that is currently not in ixemul because of opensource of that lib it can work.

actual freetype2 is too here (need in netsurf)

GCC3.4.0 is here and all GCC Versions are no problem to compile for amiga OS, because amiga OS target is in main GCC source support.MOS not, i think its not easy to build a new GCC here or fix a Bug in it.

So i hope the chances are not so bad, to get a blender 2.5 working with your sources

Posted: Thu Oct 22, 2009 2:26 pm
by Bernd_r
Yomgui wrote:
Now, if your goal is just to re-use the game-engine: what do you really need? Just physics or the 3D display also? Because as far as I know, there is no 3d stack available on AmigaOS (I talk about hardware support, because OpenGL software 3d stack shall be forgotten immediately ;-)).
I want first run Blender and then try to use the game engine.

amigaos have HW 3d Mesa Storm Mesa, for classic Hardware.
It can also update. MOS have no Mesa, i dont know if the MOS tinygl have all Features Mesa have.

there is also for the virtual machine/emulator winuae a StormMesa to windows opengl wrapper that support all features the windows GFX Card have.also pixelshaders can use.

http://quarktex.kontechs.de/

sure its not native, but most users use vmware or JAVA or .net thats too not native and amiga OS Programms run on winuae faster as Java or .net programs.