Karim 'Kasi Mir' Senoucci
2012-08-22 19:04:33 UTC
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
(Loading Image...), 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
from the DirectFB sources (surface.c), rotation is indeed unimplemented
in the surfaces.
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'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
on the subject, as I'm starting to go nuts here. :-)
Greetings
Kasi Mir
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
(Loading Image...), 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
(!!!) *** 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(!!!) *** UNIMPLEMENTED [dfb_surface_reconfig] *** [surface.c:525]
from the DirectFB sources (surface.c), rotation is indeed unimplemented
in the surfaces.
DirectFB::Init (&argc, &argv);
dfb=DirectFB::Create();
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:dfb=DirectFB::Create();
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;
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.
prim_layer=dfb->GetDisplayLayer(DLID_PRIMARY);
prim_layer->SetRotation(180);
IDirectFBDisplayLayer::SetRotation(int) -> Access denied!
So that doesn't work either? Is there another way that I just fail to see?prim_layer->SetRotation(180);
IDirectFBDisplayLayer::SetRotation(int) -> Access denied!
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
~~~~~~~~~~~~~~~~~~~~~~~~~~| 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(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]
on the subject, as I'm starting to go nuts here. :-)
Greetings
Kasi Mir