|
|
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
On Mon, 27 Aug 2007, Tabaro Toni wrote:
On Mon, 27 Aug 2007, Marc Aurele La France wrote:On Mon, 27 Aug 2007, Tabaro Toni wrote:Hi, i have succesfully cross-compiled the xfree 4.7.0 on a embedded board with mipsel processor and framebuffer on a 2.6.12 linux environment, with the framebuffer running at 960x1080x32 ARGB8888 or 1280x720x16 ARGB1555. The Xfbdev program start and work (if i export a display on a i386 machine and start xclock the xclock program work). The problem is: to see the image on the board i must run a program in background which set the alpha bit to 1 (on the 1280x720x16 ARGB 1555 frame buffer) or byte to 0xff (in the case of 960x1080x32 ARGB8888), otherwise the screen remains black.
That is an oddball alpha implementation. What adapter is this? Does the (text) screen appear correctly before starting Xfbdev?
A im not using the text mode, on that embedded system there is only console /dev/ttyS0 and framebuffer is on graphics hardware. This is an implementation on one stb, the graphic plane is over a video plane and the alpha is needed for seeing the video under graphics
That's not the point. Xfbdev will not function at all without a kernel driver for your adapter. Therefore, the kernel must be displaying something before the X server starts, unless that too is being blacked out. So, again, what does the screen show before starting Xfbdev?
I think the Xfbdev can't handle the alpha channel correctly, leaving it to 0. I dont need the translucency or other features, only see the image on screen, maybe i can patch the framebuffer code to leave the alpha at fixed value, is someone able to help me by suggest the part of code to patch? I searched on the programs/Xserver/hw/tinyx/fbdev/ or programs/Xserver/fb/ path, but i am not able to understand how the alpha is handled :-(
The X server does not touch the alpha channel, but uses whatever applications provide in that field.
Maybe i have not explained well the problem, i try on another way: When normally i start "Xfbdef -ac" on another board with different processor (powerpc) the screen show the X tiled background with the xcursor, on board with mips the "Xfbdev -ac" show black screen but is running fine. If i change the alpha channel bit directly to the frambuffer with a c program and with the Xfbdev program running i see the X bacground and the mouse, if this c program repeat that function every second the x is running refreshing itself every second (every time my prog touch the alpha bit). This without an X application running, if the X application is running i see the app on screen only when my c program do the alpha bit set.
I think the Xfbdev on framebuffer is tested on a framebuffer without real alpha channel, on PC, my boards are embedded board with real alpha used to create holes on graphics needed for seeing underlining video plane over it.
... which means this is a problem with your adapter, not with Xfbdev. Xfbdev is designed to use a dumb framebuffer through a kernel interface. No alpha channel support whatsoever. Xfbdev is intentionally too generic to have knowledge of the chipset specifics necessary to control an alpha channel.
As far as I can tell, your options are:1) There might be a jumper or firmware/BIOS setting that reverses the meaning of the alpha channel, or disables it.
2) There might be an ioctl you can use (in a modified Xfbdev) to do so.3) There might be another X server more specific to your adapter, with an option to control the alpha channel. What does `lspci` say?
4) You say the adapter supports depths 15/16 and 24/32, and imply you have some means of switching between them. Does the adapter support depth 24/24 (i.e. eliminate the alpha channel alltogether)?
5) You might be stuck with your program to invert the alpha channel. Marc. +----------------------------------+----------------------------------+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and | fax: 1-780-492-1729 | | Communications Technologies | email: tsi@xxxxxxxxxxx | | 352 General Services Building +----------------------------------+ | University of Alberta | | | Edmonton, Alberta | Standard disclaimers apply | | T6G 2H1 | | | CANADA | | +----------------------------------+----------------------------------+ XFree86 developer and VP. ATI driver and X server internals. _______________________________________________ XFree86 mailing list XFree86@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/xfree86
[X Forum] [Xorg] [Devices] [XFree86] [XFree86 Newbie] [Site Home] [IETF Annouce] [Security] [Fontconfig] [Bugtraq] [Rubini] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Video for Linux] [Linux RAID] [Linux Kernel] [Linux Resources]