|
Edited by jernej at 2015-12-27 22:03
I really don't know how you managed to get 16 bit per pixel. In driver, value 0 means DISP_FORMAT_ARGB_8888, which have following settings:
- case DISP_FORMAT_ARGB_8888:
- var->bits_per_pixel = 32;
- var->transp.length = 8;
- var->red.length = 8;
- var->green.length = 8;
- var->blue.length = 8;
- var->blue.offset = 0;
- var->green.offset = var->blue.offset + var->blue.length;
- var->red.offset = var->green.offset + var->green.length;
- var->transp.offset = var->red.offset + var->red.length;
- break;
Copy code
I think that you can't so easily change bits per pixel. As you found out, it messes with framebuffer.
Can anyone confirm that latest patch works/don't work with OPi PC?
Reason why this patch doesn't work for you is because you don't have active alpha channel. Video is rendered on a layer behind the framebuffer and if there is no alpha information, every pixel is treated as opaque. In this case, color keying would be needed, but unfortunatelly, Allwinner thought that it is not needed. However, there is some code in display driver, which might be enough to get it working with patch.
EDIT: Where did you look at for ARGB8888 value? My header file says that it is 0.
EDIT2: Did you pull latest changes from my github repository? Can you please test settings before and after this commit:
https://github.com/jernejsk/Open ... ae73007885764d9d595
|
|