Hello everyone,
I've already ask about this on the users mailing list, but perhaps this is more of a "dev" issue. I have tried (with 1.3.2 and 1.4.17, both on a Gentoo linux running the not all that new 2.6.28.7 kernel) to get the "layer-rotate" parameter to work for a 90-degree rotation, but somehow I can't get it done.

I'm calling my program with

--dfb:layer-rotate=90,mode=1280x1024,depth=32,pixelformat=RGB32

I'm using the uvesafb frame buffer for graphics output. I have only a few graphics and text on my display so I don't really need hw acceleration, plus I have three different Mini-ITX boards in use here with three different Intel Atoms (410, 525, and 2500).

Unfortunately, the "layer-rotate" parameter does not work here; I get the following log output:


~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.17 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2012  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2012-08-07 16:21) [ DEBUG ]
(*) Direct/Thread: Started 'VT Switcher' (14581) [CRITICAL OTHER/OTHER
0/0] <8388608>...
(*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0]
<8388608>...
(*) DirectFB/FBDev: Found 'VESA VGA' (ID 0) with frame buffer at
0xd0000000, 8128k (MMIO 0x00000000, 0k)
(*) Direct/Thread: Started 'Hotplug with Linux Input' (-1) [INPUT
OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: Hot-plug detection enabled with Linux Input Driver
(*) Direct/Thread: Started 'Keyboard Input' (14586) [INPUT OTHER/OTHER
0/0] <8388608>...
(*) DirectFB/Input: Keyboard 0.9 (directfb.org)
(*) DirectFB/Genefx: MMX detected and enabled
(*) DirectFB/Graphics: MMX Software Rasterizer 0.7 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
 (!!!)  *** UNIMPLEMENTED [dfb_surface_create] *** [surface.c:179]
 (!!!)  *** UNIMPLEMENTED [dfb_surface_reconfig] *** [surface.c:525]
(*) FBDev/Mode: Setting 1280x1024 RGB16
(*) FBDev/Mode: Switched to 1280x1024 (virtual 1280x1024) at 16 bit
(RGB16), pitch 2560
(*) FBDev/Mode: Setting 1280x1024 RGB16
(*) FBDev/Mode: Switched to 1280x1024 (virtual 1280x1024) at 16 bit
(RGB16), pitch 2560
 (!!!)  *** WARNING [letting unprivileged
IDirectFBDisplayLayer::GetSurface() call pass until cooperative level
handling is finished] *** [idirectfbdisplaylayer.c:182 in
IDirectFBDisplayLayer_GetSurface()]
(*) FBDev/Mode: Setting 1280x1024 RGB32
(*) FBDev/Mode: Switched to 1280x1024 (virtual 1280x1024) at 32 bit
(RGB32), pitch 5120
(*) Direct/Interface: Loaded 'PNG' implementation of
'IDirectFBImageProvider'.
(*) Direct/Interface: Loaded 'FT2' implementation of 'IDirectFBFont'.

It this parameter working at all? If so, what am I doing wrong? Is there another way to get the whole display (primary surface) to rotate 90 degrees?

The program is written in C++ and uses DFB++, by the way:

   [...]
   DirectFB::Init (&argc, &argv);
   dfb=DirectFB::Create();
   prim_layer=dfb->GetDisplayLayer(DLID_PRIMARY);
   if (prim_layer==NULL)
      PrintLog("Couldn't get primary layer");
   dfb->SetCooperativeLevel(DFSCL_EXCLUSIVE);
   //prim_layer->SetRotation(180);
   //prim_layer->SetCooperativeLevel(DLSCL_EXCLUSIVE);
   base_surface=prim_layer->GetSurface();
   if (base_surface==NULL)
      PrintLog("Couldn't get base surface");
   SetVideoParameters();
   keyboard=dfb->GetInputDevice(DIDID_KEYBOARD);
   if (keyboard!=NULL)
      keyboard_buffer=keyboard->CreateEventBuffer();
   dsc.flags = DSDESC_CAPS;
   DFB_ADD_SURFACE_CAPS( dsc.caps, DSCAPS_PRIMARY);
   if (use_system_memory==true)
      DFB_ADD_SURFACE_CAPS( dsc.caps, DSCAPS_SYSTEMONLY);
   else
      DFB_ADD_SURFACE_CAPS( dsc.caps, DSCAPS_VIDEOONLY);
   DFB_ADD_SURFACE_CAPS( dsc.caps, DSCAPS_DOUBLE);
   DFB_ADD_SURFACE_DESC(dsc.flags, DSDESC_PIXELFORMAT);
   [...]

 If you need any further information, feel free to ask.

Thanks in advance
Kasi Mir
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to