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

Reply via email to