Presumably you recognized your bug where you said '180' but you really meant '90' (rotating 180 will cause the display to be upside down).
I built DirectFB from the git repo (v1.7) and didn't have the same issues. Mostly I've been trying to get to an accellerated solution but it seemed to work as I would expect. I'm also running on ARM rather than x86 but that shouldn't matter. Do you have a buildable piece of sample code that doesn't work? --Chuck On Wed, Aug 22, 2012 at 12:04 PM, Karim 'Kasi Mir' Senoucci < direc...@tvetc.de> wrote: > Hello everyone, > I don't know if anybody's reading these lists anymore (my last question > didn't get any replies whatsoever), but I'll try it once more: > > I see the nice example of a sideways window on directfb.org ( > http://www.directfb.org/**screenshots/LayerWindowRotate.**png<http://www.directfb.org/screenshots/LayerWindowRotate.png>), > and I wouldn't even need something that complicated: I want to turn the > whole display (because the monitor is used in portrait orientation) by 90 > or 270 degrees, so that I get a 1080x1920 display instead of a 1920x1080 > one. > > I use dfb++, but those are only wrappers for the directfb calls, so that > shouldn't be the problem, I think. > > At the moment, I pass "layer-rotate:90" via argc/argv which seems to be > recognized fine, but then I get: > > (!!!) *** UNIMPLEMENTED [dfb_surface_create] *** [surface.c:179] >> (!!!) *** UNIMPLEMENTED [dfb_surface_reconfig] *** [surface.c:525] >> > > and the display remains in landscape orientation. As far as I can see from > the DirectFB sources (surface.c), rotation is indeed unimplemented in the > surfaces. > > My program works like this: > > 1. I call the Init routine: > > DirectFB::Init (&argc, &argv); >> > > 2. I call Create(): > > dfb=DirectFB::Create(); >> > > 3. I define surface capabilities for a primary surface: > > dsc.flags = DSDESC_CAPS; >> DFB_ADD_SURFACE_CAPS( dsc.caps, DSCAPS_PRIMARY); >> DFB_ADD_SURFACE_CAPS( dsc.caps, DSCAPS_SYSTEMONLY); >> DFB_ADD_SURFACE_CAPS( dsc.caps, DSCAPS_DOUBLE); >> DFB_ADD_SURFACE_DESC(dsc.**flags, DSDESC_PIXELFORMAT); >> dsc.pixelformat= DSPF_RGB32; >> > > 6. I create that surface: > > primary=dfb->CreateSurface(**dsc); > > All my DrawString(), SetColor(), FillRectangle() etc. operations to fill > the display with the intended information are done in regard to this > primary surface, or they are made on other surfaces I create and then > Blit() to the primary surface. I don't use any window objects as I don't > have a window layout on screen, but just one full-screen display. > > What am I doing wrong? Can anyone give me any pointers how to get the > rotation I want to see? 180 degrees works fine, just 90 and 270 don't do > anything. > > I even tried to retrieve the primary layer of the display: > > prim_layer=dfb->**GetDisplayLayer(DLID_PRIMARY); >> > > and rotate that directly: > > prim_layer->SetRotation(180); >> > > but that just results in an exception: > > IDirectFBDisplayLayer::**SetRotation(int) -> Access denied! >> > > So that doesn't work either? Is there another way that I just fail to see? > > > > I'm currently using DirectFB 1.4.17 with DFB++ 1.2.0 running on an Intel > Atom Board using kernel 3.4.9 with modesetting enabled. This is my debug > 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-22 17:53) [ DEBUG ][ >> TRACE ] >> (*) Direct/Thread: Started 'VT Switcher' (10410) [CRITICAL OTHER/OTHER >> 0/0] <8388608>... >> (*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/FBDev: Found 'inteldrmfb' (ID 0) with frame buffer at >> 0xd0030000, 8100k (MMIO 0x00000000, 0k) >> (*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/Input: Microsoft Microsoft Notebook Op (1) 0.1 (directfb.org >> ) >> (*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/Input: HID Keyboard Device (2) 0.1 (directfb.org) >> (*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/Input: HID Keyboard Device (3) 0.1 (directfb.org) >> (*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/Input: Sleep Button (4) 0.1 (directfb.org) >> (*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/Input: Power Button (5) 0.1 (directfb.org) >> (*) 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' (-1) [INPUT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/Input: Keyboard 0.9 (directfb.org) >> (*) Direct/Thread: Started 'PS/2 Input' (-1) [INPUT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/Input: IMPS/2 Mouse (1) 1.0 (directfb.org) >> (*) Direct/Thread: Started 'PS/2 Input' (-1) [INPUT OTHER/OTHER 0/0] >> <8388608>... >> (*) DirectFB/Input: IMPS/2 Mouse (2) 1.0 (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] >> > > If you need any further information, just ask. I'm grateful for any help > on the subject, as I'm starting to go nuts here. :-) > > Greetings > Kasi Mir > > > > > > ______________________________**_________________ > directfb-users mailing list > directfb-users@directfb.org > http://mail.directfb.org/cgi-**bin/mailman/listinfo/directfb-**users<http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users> >
_______________________________________________ directfb-users mailing list directfb-users@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users