Commit 48427e49 authored by Siarhei Siamashka's avatar Siarhei Siamashka
Browse files

Rename the driver from "xf86-video-sunxifb" to "xf86-video-fbturbo"

Because a wide range of embedded ARM devices are actually supported
(Allwinner A1X/A20, Raspberry Pi, ODROID-X, Rockchip, ...) and
are getting some sort of performance improvement and/or hardware
acceleration, the DDX driver needs a vendor neutral name.

Resolves https://github.com/ssvb/xf86-video-fbturbo/issues/10

Signed-off-by: default avatarSiarhei Siamashka <siarhei.siamashka@gmail.com>
parent cbd5b2b6
xf86-video-sunxifb - video driver, primarily optimized for the devices powered xf86-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 by the Allwinner SoC (A10, A13, A20). It can use some of the 2D/3D hardware
acceleration features. acceleration features.
And because this driver is based on xf86-video-fbdev (with none of the And because this driver is based on xf86-video-fbdev (with none of the
original features stripped), it actually supports all the same hardware original features stripped), it actually supports all the same hardware
as xf86-video-fbdev. Essentially, xf86-video-sunxifb can be just used as 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 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 be no real difference on x86, but any ARM based system should see better
performance thanks to some additional optimizations (the elimination of performance thanks to some additional optimizations (the elimination of
...@@ -40,7 +40,7 @@ XV overlay is supported on Allwinner A10/A13/A20. ...@@ -40,7 +40,7 @@ XV overlay is supported on Allwinner A10/A13/A20.
== Installation instructions == == Installation instructions ==
https://github.com/ssvb/xf86-video-sunxifb/wiki/Installation https://github.com/ssvb/xf86-video-fbturbo/wiki/Installation
== Troubleshooting == == Troubleshooting ==
...@@ -48,7 +48,7 @@ If something does not work right, it's a good idea to check dmesg log and ...@@ -48,7 +48,7 @@ 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. /var/log/Xorg.0.log for any suspicious error messages or warnings.
Some important notes: Some important notes:
1. The messages "(EE) SUNXIFB(0): FBIOPUTCMAP: Invalid argument" in 1. The messages "(EE) FBTURBO(0): FBIOPUTCMAP: Invalid argument" in
Xorg.0.log can be safely ignored. They are harmless. 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, 2. If you are limited by exactly 60 FPS in benchmarks and want to see more,
...@@ -70,8 +70,6 @@ Some important notes: ...@@ -70,8 +70,6 @@ Some important notes:
of the individual tests from glmark2-es2 should run with more of the individual tests from glmark2-es2 should run with more
than 200-300 FPS. than 200-300 FPS.
4. https://github.com/ssvb/xf86-video-sunxifb/wiki/Troubleshooting
== Contacts. Reporting bugs == == Contacts. Reporting bugs ==
If something from the list above does not seem to work right, then that's If something from the list above does not seem to work right, then that's
...@@ -81,7 +79,7 @@ at freenode.net irc. I'm known as "ssvb" there. The platforms other than ...@@ -81,7 +79,7 @@ at freenode.net irc. I'm known as "ssvb" there. The platforms other than
allwinner/sunxi are also supported. allwinner/sunxi are also supported.
Or alternatively just use the issue tracker for reporting bugs: Or alternatively just use the issue tracker for reporting bugs:
https://github.com/ssvb/xf86-video-sunxifb/issues https://github.com/ssvb/xf86-video-fbturbo/issues
== Links to the other interesting projects == == Links to the other interesting projects ==
......
...@@ -22,10 +22,10 @@ ...@@ -22,10 +22,10 @@
# Initialize Autoconf # Initialize Autoconf
AC_PREREQ([2.60]) AC_PREREQ([2.60])
AC_INIT([xf86-video-sunxifb], AC_INIT([xf86-video-fbturbo],
[0.3.1], [0.3.1],
[https://github.com/ssvb/xf86-video-sunxifb], [https://github.com/ssvb/xf86-video-fbturbo],
[xf86-video-sunxifb]) [xf86-video-fbturbo])
AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR(.) AC_CONFIG_AUX_DIR(.)
...@@ -84,7 +84,7 @@ fi ...@@ -84,7 +84,7 @@ fi
# Checks for libraries. # Checks for libraries.
# add -pthread to workaround https://github.com/ssvb/xf86-video-sunxifb/issues/11 # add -pthread to workaround https://github.com/ssvb/xf86-video-fbturbo/issues/11
save_CFLAGS="$CFLAGS" save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -pthread" CFLAGS="$CFLAGS -pthread"
...@@ -104,7 +104,7 @@ fi ...@@ -104,7 +104,7 @@ fi
AC_SUBST([moduledir]) AC_SUBST([moduledir])
DRIVER_NAME=sunxifb DRIVER_NAME=fbturbo
AC_SUBST([DRIVER_NAME]) AC_SUBST([DRIVER_NAME])
AC_CONFIG_FILES([ AC_CONFIG_FILES([
......
.\" shorthand for double quote that works everywhere. .\" shorthand for double quote that works everywhere.
.ds q \N'34' .ds q \N'34'
.TH SUNXIFB __drivermansuffix__ __vendorversion__ .TH FBTURBO __drivermansuffix__ __vendorversion__
.SH NAME .SH NAME
sunxifb \- video driver for Allwinner and other ARM-based devices fbturbo \- video driver for Allwinner and other ARM-based devices
.SH SYNOPSIS .SH SYNOPSIS
.nf .nf
.B "Section \*qDevice\*q" .B "Section \*qDevice\*q"
.BI " Identifier \*q" devname \*q .BI " Identifier \*q" devname \*q
.B " Driver \*qsunxifb\*q" .B " Driver \*qfbturbo\*q"
\ \ ... \ \ ...
.B EndSection .B EndSection
.fi .fi
.SH DESCRIPTION .SH DESCRIPTION
.B sunxifb .B fbturbo
is an __xservername__ driver for Allwinner and other ARM-based devices, is an __xservername__ driver for Allwinner and other ARM-based devices,
derived from derived from
.B fbdev .B fbdev
...@@ -26,7 +26,7 @@ framebuffer color depths are 16 (RGB565) and 24 (XRGB8888), the other color ...@@ -26,7 +26,7 @@ framebuffer color depths are 16 (RGB565) and 24 (XRGB8888), the other color
depths may be supported too. Multi-head configurations are supported. depths may be supported too. Multi-head configurations are supported.
.SH SUPPORTED HARDWARE .SH SUPPORTED HARDWARE
The The
.B sunxifb .B fbturbo
driver supports all hardware where a framebuffer driver is available and driver supports all hardware where a framebuffer driver is available and
uses the os-specific submodule fbdevhw(__drivermansuffix__) to talk uses the os-specific submodule fbdevhw(__drivermansuffix__) to talk
to the kernel to the kernel
...@@ -45,7 +45,7 @@ this driver. ...@@ -45,7 +45,7 @@ this driver.
.PP .PP
For this driver it is not required to specify modes in the screen For this driver it is not required to specify modes in the screen
section of the config file. The section of the config file. The
.B sunxifb .B fbturbo
driver can pick up the currently used video mode from the framebuffer driver can pick up the currently used video mode from the framebuffer
driver and will use it if there are no video modes configured. driver and will use it if there are no video modes configured.
.PP .PP
......
...@@ -24,11 +24,11 @@ ...@@ -24,11 +24,11 @@
# _ladir passes a dummy rpath to libtool so the thing will actually link # _ladir passes a dummy rpath to libtool so the thing will actually link
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
AM_CFLAGS = @XORG_CFLAGS@ AM_CFLAGS = @XORG_CFLAGS@
sunxifb_drv_la_LTLIBRARIES = sunxifb_drv.la fbturbo_drv_la_LTLIBRARIES = fbturbo_drv.la
sunxifb_drv_la_LDFLAGS = -module -avoid-version fbturbo_drv_la_LDFLAGS = -module -avoid-version
sunxifb_drv_ladir = @moduledir@/drivers fbturbo_drv_ladir = @moduledir@/drivers
sunxifb_drv_la_SOURCES = \ fbturbo_drv_la_SOURCES = \
compat-api.h \ compat-api.h \
uthash.h \ uthash.h \
arm_asm.S \ arm_asm.S \
...@@ -51,7 +51,7 @@ sunxifb_drv_la_SOURCES = \ ...@@ -51,7 +51,7 @@ sunxifb_drv_la_SOURCES = \
sunxi_video.h sunxi_video.h
if HAVE_LIBUMP if HAVE_LIBUMP
sunxifb_drv_la_SOURCES += \ fbturbo_drv_la_SOURCES += \
sunxi_mali_ump_dri2.c \ sunxi_mali_ump_dri2.c \
sunxi_mali_ump_dri2.h sunxi_mali_ump_dri2.h
endif endif
...@@ -79,11 +79,11 @@ ...@@ -79,11 +79,11 @@
static Bool debug = 0; static Bool debug = 0;
#define TRACE_ENTER(str) \ #define TRACE_ENTER(str) \
do { if (debug) ErrorF("sunxifb: " str " %d\n",pScrn->scrnIndex); } while (0) do { if (debug) ErrorF("fbturbo: " str " %d\n",pScrn->scrnIndex); } while (0)
#define TRACE_EXIT(str) \ #define TRACE_EXIT(str) \
do { if (debug) ErrorF("sunxifb: " str " done\n"); } while (0) do { if (debug) ErrorF("fbturbo: " str " done\n"); } while (0)
#define TRACE(str) \ #define TRACE(str) \
do { if (debug) ErrorF("sunxifb trace: " str "\n"); } while (0) do { if (debug) ErrorF("fbturbo trace: " str "\n"); } while (0)
/* -------------------------------------------------------------------- */ /* -------------------------------------------------------------------- */
/* prototypes */ /* prototypes */
...@@ -118,8 +118,8 @@ enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTA ...@@ -118,8 +118,8 @@ enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTA
static int pix24bpp = 0; static int pix24bpp = 0;
#define FBDEV_VERSION 4000 #define FBDEV_VERSION 4000
#define FBDEV_NAME "SUNXIFB" #define FBDEV_NAME "FBTURBO"
#define FBDEV_DRIVER_NAME "sunxifb" #define FBDEV_DRIVER_NAME "fbturbo"
#ifdef XSERVER_LIBPCIACCESS #ifdef XSERVER_LIBPCIACCESS
static const struct pci_id_match fbdev_device_match[] = { static const struct pci_id_match fbdev_device_match[] = {
...@@ -153,7 +153,7 @@ _X_EXPORT DriverRec FBDEV = { ...@@ -153,7 +153,7 @@ _X_EXPORT DriverRec FBDEV = {
/* Supported "chipsets" */ /* Supported "chipsets" */
static SymTabRec FBDevChipsets[] = { static SymTabRec FBDevChipsets[] = {
{ 0, "sunxifb" }, { 0, "fbturbo" },
{-1, NULL } {-1, NULL }
}; };
...@@ -199,7 +199,7 @@ MODULESETUPPROTO(FBDevSetup); ...@@ -199,7 +199,7 @@ MODULESETUPPROTO(FBDevSetup);
static XF86ModuleVersionInfo FBDevVersRec = static XF86ModuleVersionInfo FBDevVersRec =
{ {
"sunxifb", "fbturbo",
MODULEVENDORSTRING, MODULEVENDORSTRING,
MODINFOSTRING1, MODINFOSTRING1,
MODINFOSTRING2, MODINFOSTRING2,
...@@ -211,7 +211,7 @@ static XF86ModuleVersionInfo FBDevVersRec = ...@@ -211,7 +211,7 @@ static XF86ModuleVersionInfo FBDevVersRec =
{0,0,0,0} {0,0,0,0}
}; };
_X_EXPORT XF86ModuleData sunxifbModuleData = { &FBDevVersRec, FBDevSetup, NULL }; _X_EXPORT XF86ModuleData fbturboModuleData = { &FBDevVersRec, FBDevSetup, NULL };
pointer pointer
FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin) FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin)
...@@ -504,7 +504,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) ...@@ -504,7 +504,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
pScrn->progClock = TRUE; pScrn->progClock = TRUE;
pScrn->rgbBits = 8; pScrn->rgbBits = 8;
pScrn->chipset = "sunxifb"; pScrn->chipset = "fbturbo";
pScrn->videoRam = fbdevHWGetVidmem(pScrn); pScrn->videoRam = fbdevHWGetVidmem(pScrn);
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "hardware: %s (video memory:" xf86DrvMsg(pScrn->scrnIndex, X_INFO, "hardware: %s (video memory:"
......
# This is a minimal sample config file, which can be copied to # This is a minimal sample config file, which can be copied to
# /etc/X11/xorg.conf in order to make the Xorg server pick up # /etc/X11/xorg.conf in order to make the Xorg server pick up
# and load xf86-video-sunxifb driver installed in the system. # and load xf86-video-fbturbo driver installed in the system.
# #
# When troubleshooting, check /var/log/Xorg.0.log for the debugging # When troubleshooting, check /var/log/Xorg.0.log for the debugging
# output and error messages. # output and error messages.
# #
# Run "man sunxifb" to get additional information about the extra # Run "man fbturbo" to get additional information about the extra
# configuration options for tuning the driver. # configuration options for tuning the driver.
Section "Device" Section "Device"
Identifier "Allwinner A10/A13 FBDEV" Identifier "Allwinner A10/A13 FBDEV"
Driver "sunxifb" Driver "fbturbo"
Option "fbdev" "/dev/fb0" Option "fbdev" "/dev/fb0"
Option "SwapbuffersWait" "true" Option "SwapbuffersWait" "true"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment