Folks, this is a breakthrough on NetBSD: ================== ./appserver Perror: : Undefined error: 0 Perror before: : Undefined error: 0 initialize_before() initialize_before() done app: fMousePort app: fMessagePort app: FontServer FontServer::ScanDirectory(): opening /usr/share/fonts/ttf/cosmoe FontServer::ScanDirectory(): found entry . FontServer::ScanDirectory(): found entry .. FontServer::ScanDirectory(): found entry Vera.ttf FontServer::ScanDirectory(): found entry VeraBI.ttf FontServer::ScanDirectory(): found entry VeraBd.ttf FontServer::ScanDirectory(): found entry VeraIt.ttf FontServer::ScanDirectory(): found entry VeraMoBI.ttf FontServer::ScanDirectory(): found entry VeraMoBd.ttf FontServer::ScanDirectory(): found entry VeraMoIt.ttf FontServer::ScanDirectory(): found entry VeraMono.ttf FontServer::ScanDirectory(): found entry VeraSe.ttf FontServer::ScanDirectory(): found entry VeraSeBd.ttf FontServer::ScanDirectory(): found entry code_alt.ttf Directory '/usr/share/fonts/ttf/cosmoe' scanned, 11 fonts found app: InitDecorators app: Desktop Desktop: InitDesktop SDLDriver constructor Loading SDL Driver... SDL driver: initialize SDL driver: SDL_SetVideoMode SDL driver: input_thread SDL driver: UtilityBitmap SDL driver: SDL_WM_SetCaption SDL driver: SDL_ShowCursor SDL driver: exit - success SDL Driver succesfully initialized SDLDriver::FillSolidRect() app: CursorManager SDLDriver::CopyBitmap() app: BitmapManager Master area table key is 0x4100cdbf. app: app_server_active_sem app: app_server_applist_sem app: app_server_decor_sem app: PollerThread app: Picasso info: LinkMsgReader GetNextReply() reports 0 bytes remaining in buffer. info: LinkMsgReader reading port 4. info: LinkMsgReader GetNextReply() reports 0 bytes remaining in buffer. info: LinkMsgReader reading port 3. ========================= ========================= ./registrar Perror: : File exists initialize_before() initialize_before() done REG: main() Perror before: : File exists BApplication 1 called 1: fInitError = 0 info: LinkMsgSender buffered header AS_CREATE_APP [0 1601401467 0]. info: LinkMsgSender Flush() waiting to send 1 messages of 97 bytes on port 4. info: LinkMsgSender Flush() 1 messages total of 97 bytes on port 4. info: LinkMsgReader GetNextReply() reports 0 bytes remaining in buffer. info: LinkMsgReader reading port 9. info: LinkMsgReader read 32 bytes. info: LinkMsgReader got header SERVER_TRUE [32 1601401460 0] from port 9. 2: fInitError = 0 3: fInitError = 0 4: fInitError = 0 5: be_app and be_app_messenger 6: _init_interface_kit_ info: LinkMsgSender buffered header AS_CREATE_BCURSOR [0 1601401488 0]. info: LinkMsgSender Flush() waiting to send 1 messages of 100 bytes on port 10. info: LinkMsgSender Flush() 1 messages total of 100 bytes on port 10. info: LinkMsgReader GetNextReply() reports 0 bytes remaining in buffer. info: LinkMsgReader reading port 11. info: LinkMsgReader read 32 bytes. info: LinkMsgReader got header SERVER_TRUE [32 1601401460 0] from port 11. info: LinkMsgSender buffered header AS_CREATE_BCURSOR [0 1601401488 0]. info: LinkMsgSender Flush() waiting to send 1 messages of 100 bytes on port 10. info: LinkMsgSender Flush() 1 messages total of 100 bytes on port 10. info: LinkMsgReader GetNextReply() reports 0 bytes remaining in buffer. info: LinkMsgReader reading port 267. info: LinkMsgReader read 32 bytes. info: LinkMsgReader got header SERVER_TRUE [32 1601401460 0] from port 267. 7: cursors created 8: fInitError = 0 REG: Registrar() REG: app->Run()... ======================== Problem was that cosmoe #defines SEMMSL to 250 in kits/kernel/sem.c. NetBSD, however, has a default SEMMSL of 60. That caused semget(key, SEMMSL, whatever) to fail. I´m on the remote X scenario which is known to not render correctly. I can see a misrendered mouse pointer which sometimes follows my mouse :) I will see later how it does on wscons. 2015-02-20 7:52 GMT+01:00 Stephan <stephanwib@xxxxxxxxxxxxxx>: > Hi folks > > Current state ist that my suspicion was right and the Semaphore/Ports > wrapper is broken on NetBSD. I had a Raspberry Pi 2 at hand with > Raspian and I gave it a try. > > ================= > > get_sem_id: enter > get_sem_id: returned id 0 > create_sem_etc: enter > create_sem_etc(): creating sem group 0 > get_sem_id: enter > get_sem_id: returned id 1 > create_sem_etc: enter > get_sem_id: enter > get_sem_id: returned id 2 > create_sem_etc: enter > initialize_before() > Using key 5002b741 for the port table > The size of the port table is 18440 bytes > get_sem_id: enter > get_sem_id: returned id 3 > create_sem_etc: enter > port_init: exit > get_sem_id: enter > get_sem_id: returned id 4 > create_sem_etc: enter > get_sem_id: enter > get_sem_id: returned id 5 > create_sem_etc: enter > get_sem_id: enter > get_sem_id: returned id 6 > create_sem_etc: enter > acquire_sem_etc(3): enter > get_sem_id: enter > get_sem_id: returned id 7 > create_sem_etc: enter > acquire_sem_etc(7): enter > release_sem_etc(3): enter > create_port: generated port queue key 16955201 from /proc/14772/exe + 1. > Port 0 named tmp_rport0 is using shm key 102b741 > Port 0 is now attached successfully > =================== > > When I started the appserver, I saw a white stripe on the screen with > a big mouse pointer with a black stroke and no fill. I was even able > to move that pointer with my mouse. > > I turned back to NetBSD and invoked appserver again. I was surprised > to see a rectangle on the screen with the very same mouse pointer (I > wasn´t able to recognise this as a pointer previsously). It became > clear that the SDL to framebuffer rendering on Linux is broken while > it works correctly on NetBSD. I coudn´t move my mouse there, which is > not such a big surprise. Next step is to repair the wrapper on NetBSD > or ideally, implement this as a kernel level interface. > > So long