first commit

This commit is contained in:
Your Name
2026-02-07 20:22:48 +08:00
commit 1b9711d5e4
2270 changed files with 805872 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
xserver-xorg-video-fbturbo - video driver, primarily optimized for the devices powered
by the Allwinner SoC (A10, A13, A20). It can use some of the 2D/3D hardware
acceleration features.
And because this driver is based on xf86-video-fbdev (with none of the
original features stripped), it actually supports all the same hardware
as xf86-video-fbdev. Essentially, xf86-video-fbturbo can be just used as
a drop-in replacement and run on practically any Linux system. There will
be no real difference on x86, but any ARM based system should see better
performance thanks to some additional optimizations (the elimination of
ShadowFB layer, ARM NEON/VFP code for dealing with uncached framebuffer
reads, automatic backing store management for faster window moves).
== 2D graphics acceleration features ==
Hardware accelerated window moving/scrolling on Allwinner A10/A20 (using the
G2D Mixer Processor).
Hardware accelerated window moving/scrolling on Raspberry Pi (using the BCM2835
DMA Controller)
== 3D graphics acceleration features ==
First a disclaimer to prevent any possible misunderstanding. The Xorg DDX
drivers (neither this one, nor the others) do not do any actual 3D acceleration
by themselves. They are nothing else but just a glue between the 3D drivers
and the X11 window system. Still a poorly implemented glue can easily become
the source of major performance problems. So it's important to do it right.
This DDX driver provides integration for Mali 400 GPU into Xorg. Any device
with Mali 400 should have a properly working OpenGL ES 2.0 acceleration if
it has Mali/UMP modules in the Linux kernel and libMali.so proprietary
binary blob installed in the system. Additionally, the hardware overlay
feature of Allwinner A10/A13/A20 display controller allows to support
zero-copy OpenGL ES buffer flipping without tearing. The rest of the
devices with Mali 400 hardware (Exynos4, Rockchip, ...) are expected to
have roughly the same 3D performance as when using the reference vendor
provided Xorg DDX driver xf86-video-mali.
== Video acceleration features ==
XV overlay is supported on Allwinner A10/A13/A20.
== Installation instructions ==
https://github.com/ssvb/xf86-video-fbturbo/wiki/Installation
== Troubleshooting ==
If something does not work right, it's a good idea to check dmesg log and
/var/log/Xorg.0.log for any suspicious error messages or warnings.
Some important notes:
1. The messages "(EE) FBTURBO(0): FBIOPUTCMAP: Invalid argument" in
Xorg.0.log can be safely ignored. They are harmless.
2. If you are limited by exactly 60 FPS in benchmarks and want to see more,
then just change option "SwapbuffersWait" to "false" in /etc/X11/xorg.conf
Buffer swaps are synchronized to vertical refresh by default on Allwinner
hardware. This is generally good for the applications, but bad for
benchmarks.
3. If there is still a high CPU usage in Xorg server and the performance
is poor for 3D graphics on Allwinner hardware, please make sure that
the framebuffer size reservation is large enough to allocate memory
for DRI2 buffers. The value fb0_framebuffer_num needs to be set at
least to 3 in the fex file. Also if you have a compositing window
manager, then compositing (the desktop effects) should be disabled
for best performance.
The expected final score for glmark2-es2 on Allwinner A10 hardware
with "SwapbuffersWait" set to "false" is more than 100-150. Some
of the individual tests from glmark2-es2 should run with more
than 200-300 FPS.
== Contacts. Reporting bugs ==
If something from the list above does not seem to work right, then that's
likely either some misconfiguration issue or a bug in the code. Don't
hesitate to ping me on #linux-sunxi, #odroid or #gentoo-embedded channels
at freenode.net irc. I'm known as "ssvb" there. The platforms other than
allwinner/sunxi are also supported.
Or alternatively just use the issue tracker for reporting bugs:
https://github.com/ssvb/xf86-video-fbturbo/issues
== Links to the other interesting projects ==
- http://limadriver.org
- https://github.com/jemk/libvdpau-sunxi
== TL;DR ==
This Xorg driver is a superset and drop-in replacement for xf86-video-fbdev
and xf86-video-mali drivers. It just generally provides better performance
on ARM hardware.

View File

@@ -0,0 +1,5 @@
xserver-xorg-video-fbturbo (1:0.4.4) unstable; urgency=medium
* Initial release.
-- Vincent LAMAR <vincent@lamar.fr> Wed, 15 june 2014 09:51:13 -0400

View File

@@ -0,0 +1 @@
9

View File

@@ -0,0 +1,29 @@
Source: xserver-xorg-video-fbturbo
Section: x11
Priority: optional
Maintainer: Vincent LAMAR <vincent@lamar.fr>
Build-Depends:
debhelper (>= 8),
dh-autoreconf,
pkg-config,
xserver-xorg-dev (>= 2:1.11.99.901),
x11proto-core-dev,
x11proto-fonts-dev,
x11proto-randr-dev,
x11proto-render-dev,
x11proto-video-dev,
xutils-dev (>= 1:7.5+1),
Standards-Version: 3.9.4
Package: xserver-xorg-video-fbturbo
Architecture: any
Depends:
${shlibs:Depends},
${misc:Depends},
${xviddriver:Depends},
Provides:
${xviddriver:Provides}
Description: fbdev display driver optimized for Allwinner SoC
This package provides the driver for the Linux framebuffer
primarily optimized for the devices powered by the Allwinner SoC
It can use some of the 2D/3D hardware

View File

@@ -0,0 +1,23 @@
Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is fur-
nished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the XFree86 Project shall not
be used in advertising or otherwise to promote the sale, use or other deal-
ings in this Software without prior written authorization from the XFree86
Project.

View File

@@ -0,0 +1 @@
README

View File

@@ -0,0 +1,20 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
override_dh_auto_configure:
dh_auto_configure -- --prefix=/usr --with-xorg-module-dir="/usr/lib/xorg/modules"
override_dh_auto_install:
dh_auto_install
mkdir -p debian/xserver-xorg-video-fbturbo/etc/X11/xorg.conf.d/
install -m0644 xorg.conf debian/xserver-xorg-video-fbturbo/etc/X11/xorg.conf.d/50-fbturbo.conf
# That's a plugin, use appropriate warning level:
override_dh_shlibdeps:
dh_shlibdeps -- --warnings=6
%:
dh $@ --with autoreconf,xsf

View File

@@ -0,0 +1 @@
3.0 (quilt)