thanks to the hint of Eliot, I did some code updates. fbdev module for Cog is 
now committed.


One thing I'm playing around with, and I have questions about, is the following 
(Eliot suggested to post it here):

> A project for supporting the openGL lib to render output to fbdev (like that: 
> http://www.mesa3d.org/fbdev-dri.html) would need major efforts, right? As far 
> as I understand linux graphics architecture, it should be possible to render 
> directly to the framebuffer device (maybe by a memcopy from a "FBO": 
> http://songho.ca/opengl/gl_fbo.html). 
> But my knowledge doesn't reach far enough to figure out, if, how, and where 
> that could integrate with existing/emerging squeak/GL infrastructure...


I don't know if that would be a project of major importance ;) but – as 
squeak's/pharo's future graphics architecture is currently under discussion – I 
think it should be considered, that there are many different backends... The 
reason I asked is, that I currently build me a tiny core linux system with a 
smalltalk user land. It does work and it is fun...
So thanks for any feedback!

I enjoy Smalltalk :)
Cheers
Michael



Am 30.01.2012 um 18:54 schrieb Eliot Miranda:

> Hi Michael,
> 
> On Sun, Jan 29, 2012 at 1:12 PM, Michael J. Zeder <[email protected]> 
> wrote:
> hi!
> I changed inelegantly the configure script to get a vm-display-fbdev and...
> ...came to understand, that there are more issues with Cog + fbdev (below is 
> the make output).
> 
> Now I wanted to put it in a general question: are there efforts to maintain 
> the vm-display-fbdev for CogVM? I guess there is little need for it in 
> general, but in some cases it is nice to have (for building embedded or tiny 
> systems the linux framebuffer is nice; sleak, confless).
> Can anybody help me? Thanks.
> 
> The Cog VM is derived from Qwaq/Teleplace (a defunct company that developed 
> Croquet for business).  There the display system was extended for additional 
> host window support.  That support was implemented for vm-display-X11 and 
> vm-display-null but not for vm-display-fbdev.  You'll need to implement 
> similar stubs that you'll find in the vm-display-null, since most of these 
> primitives don't make sense/don't do anything in the context of fbdav (which 
> takes control of the frame buffer and is hence always full-screen).  When 
> you've implemented the stubs please send me the code so I can implement.
> 
> Doubtless you'll have worked out that you want to say 
> "--with-vm-display-fbdev" to get that compiled in.
> 
> HTH & good luck
> Eliot
> 
>  
> 
> Cheers!
> 
> /bin/bash /home/mjz/Squeak/squeakvm/Cog/unixbuild/bld/libtool --mode=compile 
> gcc -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 
> -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0 -msse -DLSB_FIRST=1 -g -O2 -msse2 
> -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 
> -DDEBUGVM=0 -msse -DLSB_FIRST=1 -Wall -Werror -DHAVE_CONFIG_H  
> -I/home/mjz/Squeak/squeakvm/Cog/unixbuild/bld 
> -I/home/mjz/Squeak/squeakvm/Cog/unixbuild/bld 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/Cross/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/src/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/unixbuild/bld 
> -I/home/mjz/Squeak/squeakvm/Cog/unixbuild/bld 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/Cross/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/src/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/Cross/plugins/FilePlugin 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/Cross/plugins/B3DAcceleratorPlugin 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/unix/plugins/B3DAcceleratorPlugin   
> -c -o sqUnixFBDev.lo 
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c
> gcc -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 
> -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0 -msse -DLSB_FIRST=1 -g -O2 -msse2 
> -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 
> -DDEBUGVM=0 -msse -DLSB_FIRST=1 -Wall -Werror -DHAVE_CONFIG_H 
> -I/home/mjz/Squeak/squeakvm/Cog/unixbuild/bld 
> -I/home/mjz/Squeak/squeakvm/Cog/unixbuild/bld 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/Cross/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/src/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/unixbuild/bld 
> -I/home/mjz/Squeak/squeakvm/Cog/unixbuild/bld 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/Cross/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/src/vm 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/Cross/plugins/FilePlugin 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/Cross/plugins/B3DAcceleratorPlugin 
> -I/home/mjz/Squeak/squeakvm/Cog/platforms/unix/plugins/B3DAcceleratorPlugin 
> -c 
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c  
> -fPIC -DPIC -DPIC -o sqUnixFBDev.o
> In file included from 
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:39:0:
> /home/mjz/Squeak/squeakvm/Cog/platforms/Cross/vm/sq.h:194:0: error: ignoring 
> #pragma auto_inline off [-Werror=unknown-pragmas]
> /home/mjz/Squeak/squeakvm/Cog/platforms/Cross/vm/sq.h:196:0: error: ignoring 
> #pragma auto_inline on [-Werror=unknown-pragmas]
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: initialization from incompatible pointer type [-Werror]
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: (near initialization for 'display_fbdev_itf.winOpen') [-Werror]
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: 'display_ioPositionOfScreenWorkArea' undeclared here (not         in 
> a function)
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: 'display_ioSizeOfScreenWorkArea' undeclared here (not in a function)
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: 'display_ioSetCursorPositionXY' undeclared here (not in a         
> function)
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: 'display_ioGetWindowHandle' undeclared here (not in a function)
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: 'display_ioPositionOfNativeDisplay' undeclared here (not in a 
> function)
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: 'display_ioSizeOfNativeDisplay' undeclared here (not in a         
> function)
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: 'display_ioPositionOfNativeWindow' undeclared here (not in a function)
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:474:1:
>  error: 'display_ioSizeOfNativeWindow' undeclared here (not in a function)
> /home/mjz/Squeak/squeakvm/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c:407:14:
>  error: 'display_dndLaunchFile' defined but not used [-Werror=unused-function]
> cc1: all warnings being treated as errors
> 
> make[1]: *** [sqUnixFBDev.lo] Fehler 1
> make: *** [vm-display-fbdev.la] Fehler 2
> 
> 
> 
> Am 29.01.2012 19:31, schrieb Michael J. Zeder:
>> hello everbody,
>> 
>> I want to build the CogVM (latest revision from 
>> squeakvm.org/svn/branches/Cog),
>> but with the vm-display-fbdev module (for linux framebuffer device) as 
>> default.
>> 
>> Now I am a bit stuck in understanding the make process. Just leaving out the 
>> "--without-vm-display-fbdev" as argument to the configure script does not 
>> lead to it being included in the compile process.
>> Also I don't find the exact location in the scripts, where to tell that the 
>> vm-display-fbdev should not only be included, but shall also replace the 
>> default display-X11-module.
>> 
>> Thanks for your help,
>> best regards
>> Michael
>> 
>> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> best,
> Eliot
> 
> 

Reply via email to