summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/xorg-driver
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
commit972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch)
tree97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-graphics/xorg-driver
downloadpoky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-graphics/xorg-driver')
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.9.0.bb20
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.8.0.bb13
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb16
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-mouse/unbreak.patch21
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.1.bb15
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb18
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch60
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.8.0.bb22
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb18
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-vmmouse/always_include_config.h.patch81
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.0.0.bb28
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.2.bb13
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb9
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch24
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/compat-api-Map-changes-of-DamageUnregister-API-in-1..patch29
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/configure-dri.patch166
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-dri2-tests.patch50
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch17
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel_2.21.15.bb32
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.912.bb39
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-modesetting_0.8.1.bb8
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omap/configure.patch74
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omap_git.bb48
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch41
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch32
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch31
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch33
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch325
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch272
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch48
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb34
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.3.bb21
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vmware/0001-configure-fix-build-without-xatracker.patch37
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch98
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.0.2.bb19
-rw-r--r--meta/recipes-graphics/xorg-driver/xorg-driver-common.inc41
-rw-r--r--meta/recipes-graphics/xorg-driver/xorg-driver-input.inc11
-rw-r--r--meta/recipes-graphics/xorg-driver/xorg-driver-video.inc8
38 files changed, 1872 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.9.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.9.0.bb
new file mode 100644
index 0000000000..4ab6ad1d66
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.9.0.bb
@@ -0,0 +1,20 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- event devices (evdev) input driver"
4
5DESCRIPTION = "evdev is an Xorg input driver for Linux's generic event \
6devices. It therefore supports all input devices that the kernel knows \
7about, including most mice and keyboards. \
8\
9The evdev driver can serve as both a pointer and a keyboard input \
10device, and may be used as both the core keyboard and the core pointer. \
11Multiple input devices are supported by multiple instances of this \
12driver, with one Load directive for evdev in the Module section of your \
13xorg.conf for each input device that will use this driver. "
14
15LIC_FILES_CHKSUM = "file://COPYING;md5=fefe33b1cf0cacba0e72e3b0fa0f0e16"
16
17DEPENDS += "mtdev libevdev"
18
19SRC_URI[md5sum] = "9076ae2646f7aeb30963056e0bbfccf0"
20SRC_URI[sha256sum] = "0c0c4aa393cb027a2304967944867a21a340bcad2e5efe630291b6906c3abc35"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.8.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.8.0.bb
new file mode 100644
index 0000000000..f138918096
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.8.0.bb
@@ -0,0 +1,13 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- keyboard input driver"
4
5DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \
6driver supports the standard OS-provided keyboard interface. The driver \
7functions as a keyboard input device, and may be used as the X server's \
8core keyboard."
9
10LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10"
11
12SRC_URI[md5sum] = "ce936e219682bacf5a4a9c4ab940edb8"
13SRC_URI[sha256sum] = "41c51c4e0a87aad6a1c4973c68a8de23b61162d0223f4ab36c627c307830cb5b"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb
new file mode 100644
index 0000000000..dfb08f724b
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb
@@ -0,0 +1,16 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- keyboard input driver"
4
5DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \
6driver supports the standard OS-provided keyboard interface. The driver \
7functions as a keyboard input device, and may be used as the X server's \
8core keyboard."
9
10SRCREV = "3e28d68b50d291938734e9684b8296ca864f3892"
11PV = "1.3.2+git${SRCPV}"
12PR = "${INC_PR}.0"
13
14SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-keyboard"
15S = "${WORKDIR}/git"
16
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse/unbreak.patch b/meta/recipes-graphics/xorg-driver/xf86-input-mouse/unbreak.patch
new file mode 100644
index 0000000000..6930864ede
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse/unbreak.patch
@@ -0,0 +1,21 @@
1Unbreak the linux mouse driver by using config.h
2
3RP - 4/11/07
4
5Upstream-Status: Pending
6
7Index: git/src/lnx_mouse.c
8===================================================================
9--- git.orig/src/lnx_mouse.c 2008-11-04 23:46:05.000000000 +0000
10+++ git/src/lnx_mouse.c 2008-11-04 23:46:15.000000000 +0000
11@@ -3,8 +3,8 @@
12 * Copyright 1999 by The XFree86 Project, Inc.
13 */
14
15-#ifdef HAVE_XORG_CONFIG_H
16-#include <xorg-config.h>
17+#ifdef HAVE_CONFIG_H
18+#include <config.h>
19 #endif
20
21 #include <X11/X.h>
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.1.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.1.bb
new file mode 100644
index 0000000000..1f0b78a157
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.1.bb
@@ -0,0 +1,15 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- mouse input driver"
4
5DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \
6supports most available mouse types and interfaces. The mouse driver \
7functions as a pointer input device, and may be used as the X server's \
8core pointer. Multiple mice are supported by multiple instances of this \
9driver."
10
11LIC_FILES_CHKSUM = "file://COPYING;md5=90ea9f90d72b6d9327dede5ffdb2a510"
12
13SRC_URI[md5sum] = "77085b649c5c0b333565ba562f573951"
14SRC_URI[sha256sum] = "3485d375779c08406f0789feedde15933dc703158a086ddac638598f479fc5ce"
15
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb
new file mode 100644
index 0000000000..d79a2e4dde
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb
@@ -0,0 +1,18 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- mouse input driver"
4
5DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \
6supports most available mouse types and interfaces. The mouse driver \
7functions as a pointer input device, and may be used as the X server's \
8core pointer. Multiple mice are supported by multiple instances of this \
9driver."
10
11SRCREV = "ea5cfe804e112f320f14ad896c7802d53551d3e6"
12PV = "1.3.0+git${SRCPV}"
13PR = "${INC_PR}.0"
14
15SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-mouse \
16 file://unbreak.patch"
17S = "${WORKDIR}/git"
18
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch
new file mode 100644
index 0000000000..f36bb7579d
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch
@@ -0,0 +1,60 @@
1From 96e60a4ea242d2decf109835981ae186cc36f642 Mon Sep 17 00:00:00 2001
2From: Peter Hutterer <peter.hutterer@who-t.net>
3Date: Fri, 29 Aug 2014 07:57:41 +1000
4Subject: Include xorg-server.h to fix build errors on newest glibc
5
6In file included from /usr/include/string.h:634:0,
7 from /usr/include/xorg/os.h:53,
8 from /usr/include/xorg/misc.h:115,
9 from /usr/include/xorg/xf86str.h:37,
10 from /usr/include/xorg/xf86Xinput.h:54,
11 from synproto.h:36,
12 from synproto.c:24:
13/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
14 strndup(const char *str, size_t n);
15
16See http://lists.freedesktop.org/archives/xorg-devel/2014-July/043070.html
17
18Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
19
20Status: Backport
21
22Index: xf86-input-synaptics-1.8.0/src/eventcomm.h
23===================================================================
24--- xf86-input-synaptics-1.8.0.orig/src/eventcomm.h 2014-08-28 18:40:28.628070587 -0700
25+++ xf86-input-synaptics-1.8.0/src/eventcomm.h 2014-08-28 18:40:28.620070587 -0700
26@@ -27,6 +27,8 @@
27 #ifndef _EVENTCOMM_H_
28 #define _EVENTCOMM_H_
29
30+#include <xorg-server.h>
31+
32 #include <linux/input.h>
33 #include <linux/version.h>
34 #include <xf86Xinput.h>
35Index: xf86-input-synaptics-1.8.0/src/ps2comm.h
36===================================================================
37--- xf86-input-synaptics-1.8.0.orig/src/ps2comm.h 2014-08-28 18:40:28.628070587 -0700
38+++ xf86-input-synaptics-1.8.0/src/ps2comm.h 2014-08-28 18:40:28.620070587 -0700
39@@ -22,6 +22,8 @@
40 #ifndef _PS2COMM_H_
41 #define _PS2COMM_H_
42
43+#include <xorg-server.h>
44+
45 #include <unistd.h>
46 #include <sys/ioctl.h>
47 #include "xf86_OSproc.h"
48Index: xf86-input-synaptics-1.8.0/src/synproto.h
49===================================================================
50--- xf86-input-synaptics-1.8.0.orig/src/synproto.h 2014-08-28 18:40:28.628070587 -0700
51+++ xf86-input-synaptics-1.8.0/src/synproto.h 2014-08-28 18:40:28.624070587 -0700
52@@ -31,6 +31,8 @@
53 #include "config.h"
54 #endif
55
56+#include <xorg-server.h>
57+
58 #include <unistd.h>
59 #include <sys/ioctl.h>
60 #include <xf86Xinput.h>
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.8.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.8.0.bb
new file mode 100644
index 0000000000..90baf8fbf3
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.8.0.bb
@@ -0,0 +1,22 @@
1require xorg-driver-input.inc
2
3#SRC_URI += "file://configurefix.patch"
4
5SUMMARY = "X.Org X server -- synaptics touchpad input driver"
6
7DESCRIPTION = "synaptics is an Xorg input driver for the touchpads from \
8Synaptics Incorporated. Even though these touchpads (by default, \
9operating in a compatibility mode emulating a standard mouse) can be \
10handled by the normal evdev or mouse drivers, this driver allows more \
11advanced features of the touchpad to become available."
12
13LIC_FILES_CHKSUM = "file://COPYING;md5=55aacd3535a741824955c5eb8f061398"
14
15SRC_URI += "file://always_include_xorg_server.h.patch"
16
17SRC_URI[md5sum] = "27a3f2b31606a13dd6b58d419978d64f"
18SRC_URI[sha256sum] = "9bf27632aaa6c5e62621ca9c2ca00f9b309c85b039ee33cd592b189fc872c37a"
19
20DEPENDS += "libxi mtdev libxtst libevdev"
21
22FILES_${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb
new file mode 100644
index 0000000000..140f633b42
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb
@@ -0,0 +1,18 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- synaptics touchpad input driver"
4
5DESCRIPTION = "synaptics is an Xorg input driver for the touchpads from \
6Synaptics Incorporated. Even though these touchpads (by default, \
7operating in a compatibility mode emulating a standard mouse) can be \
8handled by the normal evdev or mouse drivers, this driver allows more \
9advanced features of the touchpad to become available."
10
11SRCREV = "934bc0012f948c52aadc8eda912f7728fb7394a2"
12PV = "0.15.2+git${SRCPV}"
13PR = "${INC_PR}.1"
14
15SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-synaptics"
16S = "${WORKDIR}/git"
17
18DEPENDS += "libxi mtdev libxtst"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse/always_include_config.h.patch b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse/always_include_config.h.patch
new file mode 100644
index 0000000000..12fb9df2fd
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse/always_include_config.h.patch
@@ -0,0 +1,81 @@
1From 336f8633837abe4a1e5ba84b53ac8b9dac5d29a2 Mon Sep 17 00:00:00 2001
2From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
3Date: Thu, 28 Nov 2013 11:59:53 -0800
4Subject: Always include config.h first
5
6This fixes some build warnings about CSRG_BASED being redefined due to
7incorrect header include ordering.
8
9Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
10
11Upstream-Status: Backport
12
13Index: xf86-input-vmmouse-13.0.0/shared/vmmouse_client.c
14===================================================================
15--- xf86-input-vmmouse-13.0.0.orig/shared/vmmouse_client.c 2014-08-28 18:33:16.168070587 -0700
16+++ xf86-input-vmmouse-13.0.0/shared/vmmouse_client.c 2014-08-28 18:33:16.152070587 -0700
17@@ -39,6 +39,10 @@
18 #endif
19
20
21+#ifdef HAVE_CONFIG_H
22+#include "config.h"
23+#endif
24+
25 #include "vmmouse_client.h"
26 #include "vmmouse_proto.h"
27
28Index: xf86-input-vmmouse-13.0.0/shared/vmmouse_proto.c
29===================================================================
30--- xf86-input-vmmouse-13.0.0.orig/shared/vmmouse_proto.c 2014-08-28 18:33:16.168070587 -0700
31+++ xf86-input-vmmouse-13.0.0/shared/vmmouse_proto.c 2014-08-28 18:33:16.156070587 -0700
32@@ -33,6 +33,10 @@
33 */
34
35
36+#ifdef HAVE_CONFIG_H
37+#include "config.h"
38+#endif
39+
40 #include "vmmouse_proto.h"
41
42
43Index: xf86-input-vmmouse-13.0.0/shared/vmmouse_proto.h
44===================================================================
45--- xf86-input-vmmouse-13.0.0.orig/shared/vmmouse_proto.h 2014-08-28 18:33:16.168070587 -0700
46+++ xf86-input-vmmouse-13.0.0/shared/vmmouse_proto.h 2014-08-28 18:33:16.156070587 -0700
47@@ -36,11 +36,6 @@
48 #ifndef _VMMOUSE_PROTO_H_
49 #define _VMMOUSE_PROTO_H_
50
51-
52-#ifdef HAVE_CONFIG_H
53-#include "config.h"
54-#endif
55-
56 #include <stdint.h>
57
58 #ifdef HAVE_XORG_SERVER_1_1_0
59Index: xf86-input-vmmouse-13.0.0/tools/vmmouse_detect.c
60===================================================================
61--- xf86-input-vmmouse-13.0.0.orig/tools/vmmouse_detect.c 2014-08-28 18:33:16.168070587 -0700
62+++ xf86-input-vmmouse-13.0.0/tools/vmmouse_detect.c 2014-08-28 18:33:16.160070587 -0700
63@@ -26,14 +26,14 @@
64 */
65
66
67-#include <stdlib.h>
68-#include <signal.h>
69-#include "vmmouse_client.h"
70-
71 #ifdef HAVE_CONFIG_H
72 #include "config.h"
73 #endif
74
75+#include <stdlib.h>
76+#include <signal.h>
77+#include "vmmouse_client.h"
78+
79 void
80 segvCB(int sig)
81 {
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.0.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.0.0.bb
new file mode 100644
index 0000000000..83ea960a88
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_13.0.0.bb
@@ -0,0 +1,28 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- VMWare mouse input driver"
4DESCRIPTION = "The vmmouse driver enables support for the special VMMouse \
5protocol that is provided by VMware virtual machines to give absolute \
6pointer positioning. The vmmouse driver is capable of falling back to the \
7standard 'mouse' driver if a VMware virtual machine is not detected."
8
9PR = "${INC_PR}.0"
10
11SRC_URI += "file://always_include_config.h.patch"
12
13SRC_URI[md5sum] = "34f9f64ee6a1a51fc8266a9af24e1e07"
14SRC_URI[sha256sum] = "04cfb60366008d4db815c550d8fb8d0a4270c75fa7a20fa3bddc9ecbd355612c"
15
16RDEPENDS_${PN} += "xf86-input-mouse"
17
18LIC_FILES_CHKSUM = "file://COPYING;md5=622841c068a9d7625fbfe7acffb1a8fc"
19
20COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
21
22do_install_append () {
23 # We don't care about hal
24 rm -rf ${D}${datadir}/hal/
25 rm -rf ${D}${libdir}/hal/
26}
27
28FILES_${PN} += "${base_libdir}/udev/ ${datadir}/X11/xorg.conf.d"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.2.bb b/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.2.bb
new file mode 100644
index 0000000000..01cd37e364
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.2.bb
@@ -0,0 +1,13 @@
1require xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- cirrus display driver"
4DESCRIPTION = "cirrus is an Xorg driver for Cirrus Logic VGA adapters. These \
5devices are not so common in the wild anymore, but QEMU can emulate one, so \
6the driver is still useful."
7
8LIC_FILES_CHKSUM = "file://COPYING;md5=6ddc7ca860dc5fd014e7f160ea699295"
9
10SRC_URI[md5sum] = "91fd6b677d62027cd3001debb587a6a6"
11SRC_URI[sha256sum] = "3361e1a65d9b84c464752fd612bdf6087622c6dd204121715366a170e5c3ccd7"
12
13DEPENDS += "libpciaccess"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb b/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb
new file mode 100644
index 0000000000..52e9bd1dfa
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb
@@ -0,0 +1,9 @@
1require xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- fbdev display driver"
4DESCRIPTION = "fbdev is an Xorg driver for framebuffer devices. This is a non-accelerated driver."
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8"
7
8SRC_URI[md5sum] = "3931c0e19d441cc576dc088f9eb9fd73"
9SRC_URI[sha256sum] = "9dd4b326498223abbfdf786089a46ea3db4fa6bbd341308eb48a9e00bc3fd51b"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch
new file mode 100644
index 0000000000..8a5dd39ae1
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch
@@ -0,0 +1,24 @@
1Include xorg-server.h to fix build errors seen with glibc 2.20
2
3In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0,
4 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-intel/2_2.99.912-r0/xf86-video-intel-2.99.912/src/backlight.c:39:
5/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
6 strndup(const char *str, size_t n);
7 ^
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11Upstream-Status: Pending
12
13Index: xf86-video-intel-2.99.912/src/backlight.c
14===================================================================
15--- xf86-video-intel-2.99.912.orig/src/backlight.c 2014-04-09 10:41:18.000000000 -0700
16+++ xf86-video-intel-2.99.912/src/backlight.c 2014-08-28 18:52:25.524070587 -0700
17@@ -29,6 +29,7 @@
18 #include "config.h"
19 #endif
20
21+#include <xorg-server.h>
22 #include <sys/types.h>
23 #include <sys/wait.h>
24 #include <sys/stat.h>
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/compat-api-Map-changes-of-DamageUnregister-API-in-1..patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/compat-api-Map-changes-of-DamageUnregister-API-in-1..patch
new file mode 100644
index 0000000000..3a42d1377c
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel/compat-api-Map-changes-of-DamageUnregister-API-in-1..patch
@@ -0,0 +1,29 @@
1Upstream-Status: Backport
2
3From 524a45da56e2a052ffafa3887891caa90ba39f76 Mon Sep 17 00:00:00 2001
4From: Chris Wilson <chris@chris-wilson.co.uk>
5Date: Sat, 5 Oct 2013 18:42:24 +0100
6Subject: [PATCH] compat-api: Map changes of DamageUnregister API in 1.14.99.2
7
8Reported-by: Emmanuel Benisty <benisty.e@gmail.com>
9Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10---
11 src/compat-api.h | 4 ++++
12 1 file changed, 4 insertions(+)
13
14diff --git a/src/compat-api.h b/src/compat-api.h
15index 8eb46ef..244a486 100644
16--- a/src/compat-api.h
17+++ b/src/compat-api.h
18@@ -162,4 +162,8 @@ static inline void FreePixmap(PixmapPtr pixmap)
19 if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h)
20 #endif
21
22+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
23+#define DamageUnregister(d, dd) DamageUnregister(dd)
24+#endif
25+
26 #endif
27--
281.7.9.5
29
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/configure-dri.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/configure-dri.patch
new file mode 100644
index 0000000000..7fa9443d93
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel/configure-dri.patch
@@ -0,0 +1,166 @@
1Add the ability to enable/disable specific versions of the DRI support.
2
3This is the following two commits from master squashed:
4 7bc669dd4b7e3e5978e95e4131d1f9215afbc041
5 5a0cb1049c2fa0586708719210a2d2cffa7a4491
6
7Upstream-Status: Backport
8Signed-off-by: Ross Burton <ross.burton@intel.com>
9
10diff --git a/configure.ac b/configure.ac
11index b3b6e8e..bd654f3 100644
12--- a/configure.ac
13+++ b/configure.ac
14@@ -296,6 +296,21 @@ AC_ARG_ENABLE(dri,
15 [Disable DRI support [[default=auto]]]),
16 [DRI=$enableval],
17 [DRI=auto])
18+AC_ARG_ENABLE(dri1,
19+ AS_HELP_STRING([--disable-dri1],
20+ [Disable DRI1 support [[default=yes]]]),
21+ [DRI1=$enableval],
22+ [DRI1=yes])
23+AC_ARG_ENABLE(dri2,
24+ AS_HELP_STRING([--disable-dri2],
25+ [Disable DRI2 support [[default=yes]]]),
26+ [DRI2=$enableval],
27+ [DRI2=yes])
28+AC_ARG_ENABLE(dri3,
29+ AS_HELP_STRING([--disable-dri3],
30+ [Disable DRI3 support [[default=yes]]]),
31+ [DRI3=$enableval],
32+ [DRI3=yes])
33
34 AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc],
35 [Disable XvMC support [[default=yes]]]),
36@@ -461,15 +476,15 @@ if test "x$UMS" = "xyes"; then
37 AC_DEFINE(UMS,1,[Assume UMS support])
38 fi
39
40-DRI1=no
41+have_dri1=no
42 XORG_DRIVER_CHECK_EXT(XF86DRI, xf86driproto)
43-if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$UMS" = "xyes"; then
44- PKG_CHECK_MODULES(DRI1, [xf86driproto], [DRI1=$DRI], [DRI1=no])
45+if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$DRI1" != "xno" -a "x$UMS" = "xyes"; then
46+ PKG_CHECK_MODULES(DRI1, [xf86driproto], [have_dri1=$DRI], [have_dri1=no])
47 save_CFLAGS="$CFLAGS"
48 save_CPPFLAGS="$CPPFLAGS"
49 CFLAGS="$CFLAGS $XORG_CFLAGS $DRI1_CFLAGS $DRM_CFLAGS"
50 CPPFLAGS="$CPPFLAGS $XORG_CFLAGS $DRI1_CFLAGS $DRM_CFLAGS"
51- AC_CHECK_HEADERS([dri.h sarea.h dristruct.h], [], [DRI1=no],
52+ AC_CHECK_HEADERS([dri.h sarea.h dristruct.h], [], [have_dri1=no],
53 [/* for dri.h */
54 #include <xf86str.h>
55 /* for dristruct.h */
56@@ -486,49 +501,55 @@ if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$UMS" = "xyes"; then
57 fi
58
59 AC_MSG_CHECKING([whether to include DRI1 support])
60-AC_MSG_RESULT([$DRI1])
61+AC_MSG_RESULT([$have_dri1])
62
63-AM_CONDITIONAL(DRI1, test "x$DRI1" != "xno")
64-if test "x$DRI1" != "xno"; then
65+AM_CONDITIONAL(DRI1, test "x$have_dri1" != "xno")
66+if test "x$have_dri1" != "xno"; then
67 AC_DEFINE(HAVE_DRI1,1,[Enable DRI1 driver support])
68 dri_msg="$dri_msg DRI1"
69 else
70 DRI1_CFLAGS=""
71 DRI1_LIBS=""
72
73- if test "x$DRI" = "xyes" -a "x$UMS" = "xyes"; then
74+ if test "x$DRI" = "xyes" -a "x$UMS" = "xyes" -a "x$DRI1" != "xno"; then
75 AC_MSG_ERROR([DRI1 requested but prerequisites not found])
76 fi
77 fi
78
79-DRI2=no
80-DRI3=no
81+have_dri2=no
82+have_dri3=no
83 if test "x$DRI" != "xno"; then
84- PKG_CHECK_MODULES(DRI2, [dri2proto >= 2.6], [DRI2=$DRI], [DRI2=no])
85- dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
86- if test "x$dridriverdir" = "x"; then
87- dridriverdir="$libdir/dri"
88- fi
89- AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI2 driver path])
90 if test "x$DRI2" != "xno"; then
91+ PKG_CHECK_MODULES(DRI2, [dri2proto >= 2.6], [have_dri2=$DRI], [have_dri2=no])
92+ fi
93+ if test "x$have_dri2" != "xno"; then
94 save_CFLAGS=$CFLAGS
95 CFLAGS="$XORG_CFLAGS $DRM_CFLAGS $DRI1_CFLAGS $DRI2_CFLAGS"
96- AC_CHECK_HEADERS([dri2.h], [], [DRI2=no], [
97+ AC_CHECK_HEADERS([dri2.h], [], [have_dri2=no], [
98 #include <dixstruct.h>
99 #include <drm.h>
100 ])
101 CFLAGS=$save_CFLAGS
102 fi
103-
104- XORG_DRIVER_CHECK_EXT(DRI3, dri3proto)
105- if test "x$_EXT_CHECK" != "xno"; then
106- PKG_CHECK_MODULES(DRI3, [dri3proto], [DRI3=$DRI], [])
107+ if test "x$have_dri2" != "xno"; then
108+ dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
109+ if test "x$dridriverdir" = "x"; then
110+ dridriverdir="$libdir/dri"
111+ fi
112+ AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default have_dri2 driver path])
113 fi
114+
115 if test "x$DRI3" != "xno"; then
116+ XORG_DRIVER_CHECK_EXT(DRI3, dri3proto)
117+ if test "x$_EXT_CHECK" != "xno"; then
118+ PKG_CHECK_MODULES(DRI3, [dri3proto], [have_dri3=$DRI], [])
119+ fi
120+ fi
121+ if test "x$have_dri3" != "xno"; then
122 save_CFLAGS=$CFLAGS
123 CFLAGS="$XORG_CFLAGS $DRI3_CFLAGS"
124- AC_CHECK_DECL(DRI3, [], [DRI3=no], [#include <xorg-server.h>])
125- AC_CHECK_HEADERS([misyncstr.h misyncshm.h], [], [DRI3=no], [
126+ AC_CHECK_DECL(DRI3, [], [have_dri3=no], [#include <xorg-server.h>])
127+ AC_CHECK_HEADERS([misyncstr.h misyncshm.h], [], [have_dri3=no], [
128 #include <xorg-server.h>
129 #include <xf86str.h>
130 #include <misync.h>
131@@ -538,13 +559,13 @@ if test "x$DRI" != "xno"; then
132 fi
133
134 AC_MSG_CHECKING([whether to include DRI2 support])
135-AM_CONDITIONAL(DRI2, test "x$DRI2" != "xno")
136-AC_MSG_RESULT([$DRI2])
137-if test "x$DRI2" != "xno"; then
138+AM_CONDITIONAL(DRI2, test "x$have_dri2" != "xno")
139+AC_MSG_RESULT([$have_dri2])
140+if test "x$have_dri2" != "xno"; then
141 AC_DEFINE(HAVE_DRI2,1,[Enable DRI2 driver support])
142 dri_msg="$dri_msg DRI2"
143 else
144- if test "x$DRI" = "xyes" -a "x$KMS" = "xyes"; then
145+ if test "x$DRI" = "xyes" -a "x$DRI2" != "xno" -a "x$KMS" = "xyes"; then
146 AC_MSG_ERROR([DRI2 requested but prerequisites not found])
147 fi
148
149@@ -553,13 +574,13 @@ else
150 fi
151
152 AC_MSG_CHECKING([whether to include DRI3 support])
153-AM_CONDITIONAL(DRI3, test "x$DRI3" != "xno")
154-AC_MSG_RESULT([$DRI3])
155-if test "x$DRI3" != "xno"; then
156+AM_CONDITIONAL(DRI3, test "x$have_dri3" != "xno")
157+AC_MSG_RESULT([$have_dri3])
158+if test "x$have_dri3" != "xno"; then
159 AC_DEFINE(HAVE_DRI3,1,[Enable DRI3 driver support])
160 dri_msg="$dri_msg DRI3"
161 else
162- if test "x$DRI" = "xyes" -a "x$KMS" = "xyes"; then
163+ if test "x$DRI" = "xyes" -a "x$DRI3" != "xno" -a "x$KMS" = "xyes"; then
164 AC_MSG_ERROR([DRI3 requested but prerequisites not found])
165 fi
166 fi
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-dri2-tests.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-dri2-tests.patch
new file mode 100644
index 0000000000..9e93ca875c
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-dri2-tests.patch
@@ -0,0 +1,50 @@
1Upstream-Status: Submitted
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From ec91cfe7e5efdd5e1b1fbb85eea8f07b50e24c4b Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Wed, 11 Sep 2013 21:12:37 +0100
7Subject: [PATCH] test: only build DRI2 tests if DRI2 is enabled
8
9Signed-off-by: Ross Burton <ross.burton@intel.com>
10---
11 test/Makefile.am | 10 ++++++++++
12 1 file changed, 10 insertions(+)
13
14diff --git a/test/Makefile.am b/test/Makefile.am
15index f51967b..18528a9 100644
16--- a/test/Makefile.am
17+++ b/test/Makefile.am
18@@ -16,9 +16,14 @@ stress_TESTS = \
19 render-copyarea-size \
20 render-copy-alphaless \
21 mixed-stress \
22+ $(NULL)
23+
24+if DRI2
25+stress_TESTS += \
26 dri2-swap \
27 dri2-race \
28 $(NULL)
29+endif
30
31 check_PROGRAMS = $(stress_TESTS)
32
33@@ -34,9 +39,14 @@ libtest_la_SOURCES = \
34 test_image.c \
35 test_log.c \
36 test_render.c \
37+ $(NULL)
38+
39+if DRI2
40+libtest_la_SOURCES += \
41 dri2.c \
42 dri2.h \
43 $(NULL)
44+endif
45
46 vsync.avi: mkvsync.sh
47 ./mkvsync.sh $@
48--
491.7.10.4
50
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch
new file mode 100644
index 0000000000..dda508dcfd
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch
@@ -0,0 +1,17 @@
1These modules are only used for tests that don't get installed, and the
2automatic detection without explicit dependencies means that a build can find
3e.g. xshmfence at configure time but then it's been removed from the sysroot by
4the time compile happens.
5
6As the tests don't get installed, just disable the checks.
7
8Upstream-Status: Inappropriate [OE-specific]
9Signed-off-by: Ross Burton <ross.burton@intel.com>
10
11diff --git a/configure.ac b/configure.ac
12index bd654f3..78a0e0d 100644
13--- a/configure.ac
14+++ b/configure.ac
15@@ -251 +251 @@ fi
16-PKG_CHECK_MODULES(X11_DRI3, [xcb-dri3 xcb-sync xcb-present x11-xcb xshmfence x11 xrender xext libdrm], [x11_dri3="yes"], [x11_dri3="no"])
17+#PKG_CHECK_MODULES(X11_DRI3, [xcb-dri3 xcb-sync xcb-present x11-xcb xshmfence x11 xrender xext libdrm], [x11_dri3="yes"], [x11_dri3="no"])
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.21.15.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.21.15.bb
new file mode 100644
index 0000000000..cd8fd63b51
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.21.15.bb
@@ -0,0 +1,32 @@
1require xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- Intel integrated graphics chipsets driver"
4
5DESCRIPTION = "intel is an Xorg driver for Intel integrated graphics \
6chipsets. The driver supports depths 8, 15, 16 and 24. On some chipsets, \
7the driver supports hardware accelerated 3D via the Direct Rendering \
8Infrastructure (DRI)."
9
10LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e"
11
12DEPENDS += "virtual/libx11 drm libpciaccess pixman"
13
14SRC_URI += "file://disable-dri2-tests.patch \
15 file://compat-api-Map-changes-of-DamageUnregister-API-in-1..patch \
16 "
17
18PACKAGECONFIG ??= "sna udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
19
20PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,xf86driproto dri2proto"
21PACKAGECONFIG[sna] = "--enable-sna,--disable-sna"
22PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa"
23PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
24PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc"
25
26# --enable-kms-only option is required by ROOTLESS_X
27EXTRA_OECONF += '${@base_conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}'
28
29COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
30
31SRC_URI[md5sum] = "8b646d257ace8197d6ab4e5ddeb8efb2"
32SRC_URI[sha256sum] = "7d5a140f82a72fd1cbc8a664d66c3d4eca47ee240ca4927b8a98d7af6f65d6fc"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.912.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.912.bb
new file mode 100644
index 0000000000..a10cd9e278
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.912.bb
@@ -0,0 +1,39 @@
1require xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- Intel integrated graphics chipsets driver"
4
5DESCRIPTION = "intel is an Xorg driver for Intel integrated graphics \
6chipsets. The driver supports depths 8, 15, 16 and 24. On some chipsets, \
7the driver supports hardware accelerated 3D via the Direct Rendering \
8Infrastructure (DRI)."
9
10LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e"
11
12SRC_URI += "file://configure-dri.patch \
13 file://disable-x11-dri3.patch \
14 file://always_include_xorg_server.h.patch \
15 "
16
17SRC_URI[md5sum] = "88d1a884f9b7bd07bf0755cfa34052d4"
18SRC_URI[sha256sum] = "7c8ffc492d59f34cac64093deb70717b4d9223cf416ecc6fa016ab2e8bde9501"
19
20DEPENDS += "virtual/libx11 drm libpciaccess pixman"
21
22PACKAGECONFIG ??= "sna udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}"
23
24PACKAGECONFIG[dri] = "--enable-dri,--disable-dri"
25PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1,xf86driproto"
26PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,dri2proto"
27PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,dri3proto"
28PACKAGECONFIG[sna] = "--enable-sna,--disable-sna"
29PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa"
30PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
31PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc"
32PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxrandr libxdamage libxfixes libxcursor libxtst libxext libxrender"
33
34# --enable-kms-only option is required by ROOTLESS_X
35EXTRA_OECONF += '${@base_conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}'
36
37COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
38
39FILES_${PN} += "${datadir}/polkit-1"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-modesetting_0.8.1.bb b/meta/recipes-graphics/xorg-driver/xf86-video-modesetting_0.8.1.bb
new file mode 100644
index 0000000000..5bb89266cd
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-modesetting_0.8.1.bb
@@ -0,0 +1,8 @@
1require xorg-driver-video.inc
2LIC_FILES_CHKSUM = "file://COPYING;md5=5e53d3fcadb1c23d122ad63cb099a918"
3
4SUMMARY = "X.Org X server -- modesetting display driver"
5DESCRIPTION = "Provides a generic kernel modesetting display driver for the X.Org X server."
6
7SRC_URI[md5sum] = "eb275e1ff0031897bcf23e2e5cb8655a"
8SRC_URI[sha256sum] = "3ba8d8d7cb679497abc6486e2e843f8ea1582d830a27448ed4c90413e58312ca"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omap/configure.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omap/configure.patch
new file mode 100644
index 0000000000..d298d5d71e
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omap/configure.patch
@@ -0,0 +1,74 @@
1Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57386]
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From fc7b6045aaec583c7e29021bd23c20a877b20546 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Wed, 21 Nov 2012 23:39:18 +0000
7Subject: [PATCH] build: rationalise DRI checks
8
9The existing logic around DRI was complicated and defined a number of variables
10that were not used, when in reality DRI is required.
11
12Move the glproto check to the main pkg-config check, and remove everything else.
13
14Signed-off-by: Ross Burton <ross.burton@intel.com>
15---
16 configure.ac | 33 +--------------------------------
17 1 file changed, 1 insertion(+), 32 deletions(-)
18
19diff --git a/configure.ac b/configure.ac
20index 11238b1..c321b98 100644
21--- a/configure.ac
22+++ b/configure.ac
23@@ -44,47 +44,16 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
24 XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
25
26 # Checks for pkg-config packages
27-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.3] xproto fontsproto [libdrm >= 2.4.36] libdrm_omap xf86driproto $REQUIRED_MODULES)
28-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
29+PKG_CHECK_MODULES(XORG, [xorg-server >= 1.3] xproto fontsproto [libdrm >= 2.4.36] libdrm_omap xf86driproto glproto $REQUIRED_MODULES)
30
31 # Checks for header files.
32 AC_HEADER_STDC
33
34-save_CFLAGS="$CFLAGS"
35-CFLAGS="$XORG_CFLAGS $DRI_CFLAGS $DRM_CFLAGS"
36-CPPFLAGS="$XORG_CFLAGS $DRI_CFLAGS $DRM_CFLAGS"
37-AC_MSG_CHECKING([whether to include DRI support])
38-if test x$DRI != xno; then
39- AC_CHECK_FILE([${sdkdir}/dri.h],
40- [have_dri_h="yes"], [have_dri_h="no"])
41- AC_CHECK_FILE([${sdkdir}/dristruct.h],
42- [have_dristruct_h="yes"], [have_dristruct_h="no"])
43-fi
44-AC_MSG_CHECKING([whether to include DRI support])
45-if test x$DRI = xauto; then
46- if test "$have_dri_h" = yes -a \
47- "$have_dristruct_h" = yes; then
48- DRI="yes"
49- else
50- DRI="no"
51- fi
52-fi
53-AC_MSG_RESULT([$DRI])
54-CFLAGS="$save_CFLAGS $DEBUGFLAGS"
55-
56-AM_CONDITIONAL(DRI, test x$DRI = xyes)
57-if test "$DRI" = yes; then
58- PKG_CHECK_MODULES(DRI, [xf86driproto glproto])
59- AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
60- AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
61-fi
62-
63 AM_CONDITIONAL(VIDEO_DEBUG, test x$VIDEO_DEBUG = xyes)
64 if test "$VIDEO_DEBUG" = yes; then
65 AC_DEFINE(VIDEO_DEBUG,1,[Enable debug support])
66 fi
67
68-AC_SUBST([DRI_CFLAGS])
69
70 DRIVER_NAME=omap
71 AC_SUBST([DRIVER_NAME])
72--
731.7.10.4
74
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omap_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-omap_git.bb
new file mode 100644
index 0000000000..454d0a1fb2
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omap_git.bb
@@ -0,0 +1,48 @@
1require xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- Texas Instruments OMAP framebuffer driver"
4
5SUMMARY = "X.Org X server -- TI OMAP integrated graphics chipsets driver"
6
7DESCRIPTION = "Open-source X.org graphics driver for TI OMAP graphics \
8Currently relies on a closed-source submodule for EXA acceleration on \
9the following chipsets: \
10 + OMAP3430 \
11 + OMAP3630 \
12 + OMAP4430 \
13 + OMAP4460 \
14 + OMAP5430 \
15 + OMAP5432 \
16\
17NOTE: this driver is work in progress.. you probably don't want to try \
18and use it yet. The API/ABI between driver and kernel, and driver and \
19acceleration submodules is not stable yet. This driver requires the \
20omapdrm kernel driver w/ GEM support. \
21"
22
23LICENSE = "GPLv2+"
24LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602"
25DEPENDS += "virtual/libx11 libdrm xf86driproto"
26
27SRCREV = "ae0394e687f1a77e966cf72f895da91840dffb8f"
28PR = "${INC_PR}.3"
29PV = "0.4.2+gitr${SRCPV}"
30
31SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-omap \
32 file://configure.patch \
33"
34
35S = "${WORKDIR}/git"
36
37CFLAGS += " -I${STAGING_INCDIR}/xorg "
38
39# Use overlay 2 on omap3 to enable other apps to use overlay 1 (e.g. dmai or omapfbplay)
40do_compile_prepend_armv7a () {
41 sed -i -e s:fb1:fb2:g ${S}/src/omap_xv.c
42}
43
44python () {
45 if not bb.utils.contains ('DISTRO_FEATURES', 'opengl', True, False, d):
46 raise bb.parse.SkipPackage("'opengl' not in DISTRO_FEATURES")
47}
48
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch
new file mode 100644
index 0000000000..9fb01d438a
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch
@@ -0,0 +1,41 @@
1From 8fb7d0f99d4afbb574b30cb4f1e66a8f89d94ad5 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 26 Jan 2011 12:04:36 +0100
4Subject: [PATCH 1/6] Revert "Set a large CRTC upper limit to not prune larger
5 resolutions"
6
7Picture is garbled after switching resolutions, so revert it.
8Virtual size too big, revert the commit 9c4d7592dcb7dc20a48a6f941d9d94bd73d34153.
9
10Upstream-Status: Pending
11
12Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
13---
14 src/omapfb-crtc.c | 8 ++++----
15 1 file changed, 4 insertions(+), 4 deletions(-)
16
17diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c
18index 9aaa52f..cbeff35 100644
19--- a/src/omapfb-crtc.c
20+++ b/src/omapfb-crtc.c
21@@ -190,13 +190,13 @@ OMAPFBCRTCInit(ScrnInfoPtr pScrn)
22 * In practise, this doesn't seem to be supported.
23 * (no way to setup the overlay offset/base address)
24 */
25- /* FIXME: figure out what makes sense here. A known max resolution?
26- * framebuffer size?
27- */
28 xf86CrtcSetSizeRange(pScrn,
29- 8, 8, 2048, 2048);
30+ 8, 8,
31+ ofb->state_info.xres_virtual,
32+ ofb->state_info.yres_virtual);
33
34 ofb->crtc = xf86CrtcCreate(pScrn, &OMAPFBCrtcFuncs);
35+
36 }
37
38
39--
401.8.0
41
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch
new file mode 100644
index 0000000000..683a989832
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch
@@ -0,0 +1,32 @@
1From 855c333ac0d16350f895f1d1b9391e9cbb0b6db4 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 26 Jan 2011 13:27:20 +0100
4Subject: [PATCH 2/6] Revert "Set virtual size when configuring framebuffer"
5
6Virtual size too big, so revert it.
7
8This reverts commit 2653ef07883fbd1a5e7025f9300cf89b79ba429a.
9
10Upstream-Status: Pending
11
12Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
13---
14 src/omapfb-crtc.c | 2 --
15 1 file changed, 2 deletions(-)
16
17diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c
18index cbeff35..9655db2 100644
19--- a/src/omapfb-crtc.c
20+++ b/src/omapfb-crtc.c
21@@ -98,8 +98,6 @@ OMAPFBCrtcCommitChangeMode (xf86CrtcPtr crtc)
22 v = ofb->state_info;
23 v.xres = mode->HDisplay;
24 v.yres = mode->VDisplay;
25- v.xres_virtual = crtc->scrn->virtualX;
26- v.yres_virtual = crtc->scrn->virtualY;
27 v.activate = FB_ACTIVATE_NOW;
28 v.pixclock = KHZ2PICOS(mode->Clock ? mode->Clock : 56000);
29 v.left_margin = mode->HTotal - mode->HSyncEnd;
30--
311.8.0
32
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch
new file mode 100644
index 0000000000..67ea7c1a5f
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch
@@ -0,0 +1,31 @@
1From 252f44c072d3447a32127fc9afe5d0d40f3c510e Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 26 Jan 2011 13:20:20 +0100
4Subject: [PATCH 3/6] force 'plain' mode
5
6The new DSS mode breaks XV, so force plain mode
7
8Upstream-Status: Pending
9
10Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
11Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12---
13 src/omapfb-driver.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c
17index 018e040..48aa09c 100644
18--- a/src/omapfb-driver.c
19+++ b/src/omapfb-driver.c
20@@ -326,7 +326,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags)
21 OMAPFBProbeController(ofb->ctrl_name);
22
23 /* Do we have the DSS kernel API? */
24- if (stat(SYSFS_DSS_DIR, &st) == 0) {
25+ if (0) { //stat(SYSFS_DSS_DIR, &st) == 0) {
26 ofb->dss = TRUE;
27 } else {
28 ofb->dss = FALSE;
29--
301.8.0
31
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch
new file mode 100644
index 0000000000..b0ac9a44c8
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch
@@ -0,0 +1,33 @@
1From cfa46b67f59115f6d8ef9414af60380749ff3eb3 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 26 Jan 2011 13:21:12 +0100
4Subject: [PATCH 4/6] blacklist tv out
5
6The tv-out gets added last and the driver tries to reconfigure dvi to TV resolutions, which fails. so blacklist it
7
8Upstream-Status: Pending
9
10Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
11Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12---
13 src/omapfb-output-dss.c | 4 ++++
14 1 file changed, 4 insertions(+)
15
16diff --git a/src/omapfb-output-dss.c b/src/omapfb-output-dss.c
17index 6cc52de..83cb711 100644
18--- a/src/omapfb-output-dss.c
19+++ b/src/omapfb-output-dss.c
20@@ -205,6 +205,10 @@ OMAPFBDSSOutputDetect (xf86OutputPtr output)
21 if(ofb->timings[idx][0] == '\0')
22 return XF86OutputStatusDisconnected;
23
24+ // Hack to disable the tv out
25+ if (strncmp(output->name, "tv", 2) == 0)
26+ return XF86OutputStatusDisconnected;
27+
28 return XF86OutputStatusConnected;
29 }
30
31--
321.8.0
33
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch
new file mode 100644
index 0000000000..67b284023d
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch
@@ -0,0 +1,325 @@
1From 8b1f697a60e35ab82fffdabfaefdb45e9a9df379 Mon Sep 17 00:00:00 2001
2From: Eino-Ville Talvala <talvala@stanford.edu>
3Date: Tue, 23 Aug 2011 18:37:01 +0200
4Subject: [PATCH 5/6] Attempt to fix VRFB
5
6Upstream-Status: Pending
7
8http://dominion.thruhere.net/git/cgit.cgi/xf86-video-omapfb/commit/?h=koen/fixups&id=6833fc9f795265e4943d248103fbaf3463b515d6
9
10Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
11Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12---
13 src/image-format-conversions.c | 4 +--
14 src/image-format-conversions.h | 2 +-
15 src/omapfb-driver.c | 28 +++++++++++++---
16 src/omapfb-xv-blizzard.c | 1 +
17 src/omapfb-xv-generic.c | 72 +++++++++++++++++++++++++++++++++---------
18 src/omapfb-xv.c | 3 ++
19 6 files changed, 88 insertions(+), 22 deletions(-)
20
21diff --git a/src/image-format-conversions.c b/src/image-format-conversions.c
22index dcefa9b..d43427d 100644
23--- a/src/image-format-conversions.c
24+++ b/src/image-format-conversions.c
25@@ -38,13 +38,13 @@
26 #include "image-format-conversions.h"
27
28 /* Basic line-based copy for packed formats */
29-void packed_line_copy(int w, int h, int stride, uint8_t *src, uint8_t *dest)
30+void packed_line_copy(int w, int h, int src_stride, int dst_stride, uint8_t *src, uint8_t *dest)
31 {
32 int i;
33 int len = w * 2;
34 for (i = 0; i < h; i++)
35 {
36- memcpy(dest + i * len, src + i * stride, len);
37+ memcpy(dest + i * dst_stride, src + i * src_stride, len);
38 }
39 }
40
41diff --git a/src/image-format-conversions.h b/src/image-format-conversions.h
42index 584896a..ba7caf2 100644
43--- a/src/image-format-conversions.h
44+++ b/src/image-format-conversions.h
45@@ -27,7 +27,7 @@
46 #include <stdint.h>
47
48 /* Basic line-based copy for packed formats */
49-void packed_line_copy(int w, int h, int stride, uint8_t *src, uint8_t *dest);
50+void packed_line_copy(int w, int h, int src_stride, int dst_stride, uint8_t *src, uint8_t *dest);
51
52 /* Basic C implementation of YV12/I420 to UYVY conversion */
53 void uv12_to_uyvy(int w, int h, int y_pitch, int uv_pitch, uint8_t *y_p, uint8_t *u_p, uint8_t *v_p, uint8_t *dest);
54diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c
55index 48aa09c..07989f5 100644
56--- a/src/omapfb-driver.c
57+++ b/src/omapfb-driver.c
58@@ -66,6 +66,7 @@
59 #define OMAPFB_VERSION 1000
60 #define OMAPFB_DRIVER_NAME "OMAPFB"
61 #define OMAPFB_NAME "omapfb"
62+#define ENFORCE_MODES
63
64 static Bool OMAPFBProbe(DriverPtr drv, int flags);
65 static Bool OMAPFBPreInit(ScrnInfoPtr pScrn, int flags);
66@@ -105,11 +106,13 @@ static SymTabRec OMAPFBChipsets[] = {
67 typedef enum {
68 OPTION_ACCELMETHOD,
69 OPTION_FB,
70+ OPTION_ROTATE,
71 } FBDevOpts;
72
73 static const OptionInfoRec OMAPFBOptions[] = {
74 { OPTION_ACCELMETHOD, "AccelMethod", OPTV_STRING, {0}, FALSE },
75 { OPTION_FB, "fb", OPTV_STRING, {0}, FALSE },
76+ { OPTION_ROTATE, "rotation", OPTV_STRING, {0}, FALSE },
77 { -1, NULL, OPTV_NONE, {0}, FALSE }
78 };
79
80@@ -286,6 +289,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags)
81 {
82 OMAPFBPtr ofb;
83 EntityInfoPtr pEnt;
84+ char *rotate;
85 rgb zeros = { 0, 0, 0 };
86 struct stat st;
87
88@@ -379,6 +383,8 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags)
89 pScrn->progClock = TRUE;
90 pScrn->chipset = "omapfb";
91
92+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Rotate test version 0.02\n");
93+
94 /* Start with configured virtual size */
95 pScrn->virtualX = pScrn->display->virtualX;
96 pScrn->virtualY = pScrn->display->virtualY;
97@@ -496,12 +502,21 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
98 ofb->CloseScreen = pScreen->CloseScreen;
99 pScreen->CloseScreen = OMAPFBCloseScreen;
100
101+ /* Enforce the default mode (this is silly I guess) */
102+#ifdef ENFORCE_MODES
103+ //xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Enforcing modes\n");
104+ //set_mode(ofb, &ofb->default_mode);
105+ //pScrn->displayWidth = ofb->fixed_info.line_length /
106+ // (ofb->state_info.bits_per_pixel>>3); //ofb->state_info.xres;
107+#endif
108+
109 /* Map our framebuffer memory */
110+ ofb->mem_info.size = ofb->fixed_info.line_length * ofb->state_info.yres;
111 ofb->fb = mmap (NULL, ofb->mem_info.size,
112 PROT_READ | PROT_WRITE, MAP_SHARED,
113 ofb->fd, 0);
114- if (ofb->fb == NULL) {
115- xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed\n");
116+ if (ofb->fb == MAP_FAILED) {
117+ xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size);
118 return FALSE;
119 }
120
121@@ -578,8 +593,13 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
122 } else if (!ofb->dss) {
123
124 ofb->plane_info.enabled = 1;
125- ofb->plane_info.out_width = ofb->state_info.xres;
126- ofb->plane_info.out_height = ofb->state_info.yres;
127+ if (ofb->state_info.rotate == 0 || ofb->state_info.rotate == 2) {
128+ ofb->plane_info.out_width = ofb->state_info.xres;
129+ ofb->plane_info.out_height = ofb->state_info.yres;
130+ } else {
131+ ofb->plane_info.out_width = ofb->state_info.yres;
132+ ofb->plane_info.out_height = ofb->state_info.xres;
133+ }
134
135 if (ioctl (ofb->fd, OMAPFB_SETUP_PLANE, &ofb->plane_info)) {
136 xf86DrvMsg(scrnIndex, X_ERROR,
137diff --git a/src/omapfb-xv-blizzard.c b/src/omapfb-xv-blizzard.c
138index 406ffc6..b71d2aa 100644
139--- a/src/omapfb-xv-blizzard.c
140+++ b/src/omapfb-xv-blizzard.c
141@@ -220,6 +220,7 @@ int OMAPFBXVPutImageBlizzard (ScrnInfoPtr pScrn,
142 packed_line_copy(src_w & ~3,
143 src_h & ~3,
144 ((src_w + 1) & ~1) * 2,
145+ ofb->port->fixed_info.line_length,
146 (uint8_t*)buf,
147 (uint8_t*)ofb->port->fb);
148 break;
149diff --git a/src/omapfb-xv-generic.c b/src/omapfb-xv-generic.c
150index e6f89fe..b33f344 100644
151--- a/src/omapfb-xv-generic.c
152+++ b/src/omapfb-xv-generic.c
153@@ -62,7 +62,7 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn)
154 {
155 OMAPFBPtr ofb = OMAPFB(pScrn);
156
157- /* The memory size is already set in OMAPFBXVQueryImageAttributes */
158+ /* The memory size is already set before we get here */
159 if (ioctl(ofb->port->fd, OMAPFB_SETUP_MEM, &ofb->port->mem_info) != 0) {
160 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
161 "Failed to allocate video plane memory\n");
162@@ -73,19 +73,20 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn)
163 ofb->port->fb = mmap (NULL, ofb->port->mem_info.size,
164 PROT_READ | PROT_WRITE, MAP_SHARED,
165 ofb->port->fd, 0);
166- if (ofb->port->fb == NULL) {
167+ if (ofb->port->fb == MAP_FAILED) {
168 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
169 "Mapping video memory failed\n");
170 return XvBadAlloc;
171 }
172
173 /* Update the state info */
174+ /* Let's not - it's bad
175 if (ioctl (ofb->port->fd, FBIOGET_VSCREENINFO, &ofb->port->state_info))
176 {
177 xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__);
178 return XvBadAlloc;
179 }
180-
181+ */
182 return Success;
183 }
184
185@@ -93,6 +94,7 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn)
186 int OMAPXVSetupVideoPlane(ScrnInfoPtr pScrn)
187 {
188 OMAPFBPtr ofb = OMAPFB(pScrn);
189+ int ret;
190
191 if (ioctl (ofb->port->fd, FBIOPUT_VSCREENINFO, &ofb->port->state_info))
192 {
193@@ -104,6 +106,31 @@ int OMAPXVSetupVideoPlane(ScrnInfoPtr pScrn)
194 xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__);
195 return XvBadAlloc;
196 }
197+ /* Changing rotation/nonstd flags can change the fixed info! */
198+ if (ioctl (ofb->port->fd, FBIOGET_FSCREENINFO, &ofb->port->fixed_info))
199+ {
200+ xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__);
201+ return XvBadAlloc;
202+ }
203+ /* Correct fixed info requires recalculation of needed memory */
204+ ofb->port->mem_info.size = ofb->port->fixed_info.line_length * ofb->port->state_info.yres;
205+
206+ /* Allocate buffer memory */
207+ ret = OMAPXVAllocPlane(pScrn);
208+ if (ret != Success)
209+ return ret;
210+
211+ /* Workaround for reset of mode after memory allo */
212+ if (ioctl (ofb->port->fd, FBIOPUT_VSCREENINFO, &ofb->port->state_info))
213+ {
214+ xf86Msg(X_ERROR, "%s: setting state info failed\n", __FUNCTION__);
215+ return XvBadAlloc;
216+ }
217+ if (ioctl (ofb->port->fd, FBIOGET_VSCREENINFO, &ofb->port->state_info))
218+ {
219+ xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__);
220+ return XvBadAlloc;
221+ }
222
223 if(ioctl(ofb->port->fd, OMAPFB_SETUP_PLANE,
224 &ofb->port->plane_info) != 0) {
225@@ -124,6 +151,8 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
226 DrawablePtr pDraw)
227 {
228 OMAPFBPtr ofb = OMAPFB(pScrn);
229+ short drw_temp;
230+ short rot_xres, rot_yres;
231
232 if (!ofb->port->plane_info.enabled
233 || ofb->port->update_window.x != src_x
234@@ -163,13 +192,6 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
235 return Success;
236 }
237
238- /* If we don't have the plane running, enable it */
239- if (!ofb->port->plane_info.enabled) {
240- ret = OMAPXVAllocPlane(pScrn);
241- if (ret != Success)
242- return ret;
243- }
244-
245 /* Set up the state info, xres and yres will be used for
246 * scaling to the values in the plane info struct
247 */
248@@ -179,12 +201,31 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
249 ofb->port->state_info.yres_virtual = 0;
250 ofb->port->state_info.xoffset = 0;
251 ofb->port->state_info.yoffset = 0;
252- ofb->port->state_info.rotate = 0;
253+ //ofb->port->state_info.rotate = 0;
254 ofb->port->state_info.grayscale = 0;
255 ofb->port->state_info.activate = FB_ACTIVATE_NOW;
256 ofb->port->state_info.bits_per_pixel = 0;
257 ofb->port->state_info.nonstd = xv_to_omapfb_format(image);
258
259+ /* Plane info does not rotate with state_info */
260+ if (ofb->port->state_info.rotate == 1 ||
261+ ofb->port->state_info.rotate == 3) {
262+ drw_temp = drw_x;
263+ drw_x = drw_y;
264+ drw_y = drw_temp;
265+
266+ drw_temp = drw_w;
267+ drw_w = drw_h;
268+ drw_h = drw_temp;
269+
270+ rot_xres = ofb->port->state_info.yres;
271+ rot_yres = ofb->port->state_info.xres;
272+ } else {
273+ rot_xres = ofb->port->state_info.xres;
274+ rot_yres = ofb->port->state_info.yres;
275+ }
276+
277+
278 /* Set up the video plane info */
279 ofb->port->plane_info.enabled = 1;
280 ofb->port->plane_info.pos_x = drw_x;
281@@ -193,13 +234,13 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
282 ofb->port->plane_info.out_height = drw_h & ~15;
283
284 /* Cap output to screen size */
285- if (ofb->port->plane_info.out_width > ofb->state_info.xres) {
286+ if (ofb->port->plane_info.out_width > rot_xres) {
287 ofb->port->plane_info.pos_x = 0;
288- ofb->port->plane_info.out_width = ofb->state_info.xres;
289+ ofb->port->plane_info.out_width = rot_xres;
290 }
291- if (ofb->port->plane_info.out_height > ofb->state_info.yres) {
292+ if (ofb->port->plane_info.out_height > rot_yres) {
293 ofb->port->plane_info.pos_y = 0;
294- ofb->port->plane_info.out_height = ofb->state_info.yres;
295+ ofb->port->plane_info.out_height = rot_yres;
296 }
297
298 ret = OMAPXVSetupVideoPlane(pScrn);
299@@ -223,6 +264,7 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
300 packed_line_copy(src_w & ~15,
301 src_h & ~15,
302 ((src_w + 1) & ~1) * 2,
303+ ofb->port->fixed_info.line_length,
304 (uint8_t*)buf,
305 (uint8_t*)ofb->port->fb);
306 break;
307diff --git a/src/omapfb-xv.c b/src/omapfb-xv.c
308index 1df651e..0fee2c6 100644
309--- a/src/omapfb-xv.c
310+++ b/src/omapfb-xv.c
311@@ -169,8 +169,11 @@ static int OMAPFBXVQueryImageAttributes (ScrnInfoPtr pScrn,
312 h = *height;
313
314 w = (w + 1) & ~1;
315+
316+ /* Can't calculate these here - don't know line length
317 ofb->port->mem_info.size = w << 1;
318 ofb->port->mem_info.size *= h;
319+ */
320
321 return size;
322 }
323--
3241.8.0
325
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch
new file mode 100644
index 0000000000..d56729987c
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch
@@ -0,0 +1,272 @@
1From 803ecf2909949e6152f4a81b6cbb92a4430679ac Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Fri, 23 Nov 2012 00:31:06 +0100
4Subject: [PATCH 6/6] omapfb: port to new xserver video API
5
6Upstream-Status: Pending
7
8Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
9---
10 src/compat-api.h | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++
11 src/omapfb-driver.c | 41 ++++++++++++-----------
12 2 files changed, 118 insertions(+), 19 deletions(-)
13 create mode 100644 src/compat-api.h
14
15diff --git a/src/compat-api.h b/src/compat-api.h
16new file mode 100644
17index 0000000..b1591b1
18--- /dev/null
19+++ b/src/compat-api.h
20@@ -0,0 +1,96 @@
21+/*
22+ * Copyright 2012 Red Hat, Inc.
23+ *
24+ * Permission is hereby granted, free of charge, to any person obtaining a
25+ * copy of this software and associated documentation files (the "Software"),
26+ * to deal in the Software without restriction, including without limitation
27+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
28+ * and/or sell copies of the Software, and to permit persons to whom the
29+ * Software is furnished to do so, subject to the following conditions:
30+ *
31+ * The above copyright notice and this permission notice (including the next
32+ * paragraph) shall be included in all copies or substantial portions of the
33+ * Software.
34+ *
35+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
36+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
37+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
38+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
39+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
41+ * DEALINGS IN THE SOFTWARE.
42+ *
43+ * Author: Dave Airlie <airlied@redhat.com>
44+ */
45+
46+/* this file provides API compat between server post 1.13 and pre it,
47+ it should be reused inside as many drivers as possible */
48+#ifndef COMPAT_API_H
49+#define COMPAT_API_H
50+
51+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
52+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
53+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
54+#endif
55+
56+#ifndef XF86_HAS_SCRN_CONV
57+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
58+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
59+#endif
60+
61+#ifndef XF86_SCRN_INTERFACE
62+
63+#define SCRN_ARG_TYPE int
64+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
65+
66+#define SCREEN_ARG_TYPE int
67+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
68+
69+#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char **argv
70+
71+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
72+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
73+
74+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
75+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
76+
77+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
78+
79+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
80+
81+#define FREE_SCREEN_ARGS_DECL int arg, int flags
82+#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0
83+
84+#define VT_FUNC_ARGS_DECL int arg, int flags
85+#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags)
86+
87+#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex)
88+#else
89+#define SCRN_ARG_TYPE ScrnInfoPtr
90+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
91+
92+#define SCREEN_ARG_TYPE ScreenPtr
93+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
94+
95+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
96+
97+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
98+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
99+
100+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
101+#define CLOSE_SCREEN_ARGS pScreen
102+
103+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
104+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
105+
106+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
107+#define FREE_SCREEN_ARGS(x) (x)
108+
109+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
110+#define VT_FUNC_ARGS(flags) pScrn
111+
112+#define XF86_ENABLEDISABLEFB_ARG(x) (x)
113+
114+#endif
115+
116+#endif
117diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c
118index 07989f5..486ffa4 100644
119--- a/src/omapfb-driver.c
120+++ b/src/omapfb-driver.c
121@@ -44,6 +44,8 @@
122
123 #include "exa.h"
124
125+#include "compat-api.h"
126+
127 #ifdef HAVE_XEXTPROTO_71
128 #include <X11/extensions/dpmsconst.h>
129 #else
130@@ -70,10 +72,10 @@
131
132 static Bool OMAPFBProbe(DriverPtr drv, int flags);
133 static Bool OMAPFBPreInit(ScrnInfoPtr pScrn, int flags);
134-static Bool OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv);
135-static Bool OMAPFBEnterVT(int scrnIndex, int flags);
136-static void OMAPFBLeaveVT(int scrnIndex, int flags);
137-static Bool OMAPFBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
138+static Bool OMAPFBScreenInit(SCREEN_INIT_ARGS_DECL);
139+static Bool OMAPFBEnterVT(VT_FUNC_ARGS_DECL);
140+static void OMAPFBLeaveVT(VT_FUNC_ARGS_DECL);
141+static Bool OMAPFBSwitchMode(SWITCH_MODE_ARGS_DECL);
142
143 static Bool
144 OMAPFBEnsureRec(ScrnInfoPtr pScrn)
145@@ -481,7 +483,7 @@ OMAPFBXvScreenInit(ScreenPtr pScreen)
146 }
147
148 static Bool
149-OMAPFBCloseScreen(int scrnIndex, ScreenPtr pScreen)
150+OMAPFBCloseScreen(CLOSE_SCREEN_ARGS_DECL)
151 {
152 ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
153 OMAPFBPtr ofb = OMAPFB(pScrn);
154@@ -490,11 +492,11 @@ OMAPFBCloseScreen(int scrnIndex, ScreenPtr pScreen)
155
156 pScreen->CloseScreen = ofb->CloseScreen;
157
158- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
159+ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
160 }
161
162 static Bool
163-OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
164+OMAPFBScreenInit(SCREEN_INIT_ARGS_DECL)
165 {
166 ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
167 OMAPFBPtr ofb = OMAPFB(pScrn);
168@@ -516,7 +518,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
169 PROT_READ | PROT_WRITE, MAP_SHARED,
170 ofb->fd, 0);
171 if (ofb->fb == MAP_FAILED) {
172- xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size);
173+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size);
174 return FALSE;
175 }
176
177@@ -526,7 +528,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
178 /* Only support TrueColor for now */
179 if (!miSetVisualTypes(pScrn->depth, TrueColorMask,
180 pScrn->rgbBits, pScrn->defaultVisual)) {
181- xf86DrvMsg(scrnIndex, X_ERROR, "visual type setup failed"
182+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "visual type setup failed"
183 " for %d bits per pixel [1]\n",
184 pScrn->bitsPerPixel);
185 return FALSE;
186@@ -534,7 +536,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
187
188 /* Set up pixmap depth information */
189 if (!miSetPixmapDepths()) {
190- xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n");
191+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"pixmap depth setup failed\n");
192 return FALSE;
193 }
194
195@@ -546,7 +548,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
196 pScrn->virtualY, pScrn->xDpi,
197 pScrn->yDpi, pScrn->displayWidth,
198 pScrn->bitsPerPixel)) {
199- xf86DrvMsg(scrnIndex, X_ERROR, "fbScreenInit failed\n");
200+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbScreenInit failed\n");
201 return FALSE;
202 }
203
204@@ -567,7 +569,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
205
206 /* Initialize XRender fallbacks */
207 if (!fbPictureInit(pScreen, NULL, 0)) {
208- xf86DrvMsg(scrnIndex, X_ERROR, "fbPictureInit failed\n");
209+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbPictureInit failed\n");
210 return FALSE;
211 }
212
213@@ -579,7 +581,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
214
215 /* Initialize default colormap */
216 if (!miCreateDefColormap(pScreen)) {
217- xf86DrvMsg(scrnIndex, X_ERROR,
218+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
219 "creating default colormap failed\n");
220 return FALSE;
221 }
222@@ -589,7 +591,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
223 /* This is non-fatal since we might be running against older
224 * kernel driver in which case we only do basic 2D stuff...
225 */
226- xf86DrvMsg(scrnIndex, X_ERROR, "Reading plane info failed\n");
227+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Reading plane info failed\n");
228 } else if (!ofb->dss) {
229
230 ofb->plane_info.enabled = 1;
231@@ -602,7 +604,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
232 }
233
234 if (ioctl (ofb->fd, OMAPFB_SETUP_PLANE, &ofb->plane_info)) {
235- xf86DrvMsg(scrnIndex, X_ERROR,
236+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
237 "%s: Plane setup failed: %s\n",
238 __FUNCTION__, strerror(errno));
239 return FALSE;
240@@ -645,9 +647,10 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
241 return TRUE;
242 }
243
244-static Bool OMAPFBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
245+static Bool OMAPFBSwitchMode(SWITCH_MODE_ARGS_DECL)
246 {
247- return xf86SetSingleMode (xf86Screens[scrnIndex], mode, RR_Rotate_0);
248+ SCRN_INFO_PTR(arg);
249+ return xf86SetSingleMode (pScrn, mode, RR_Rotate_0);
250 }
251
252 void
253@@ -699,14 +702,14 @@ OMAPFBPrintCapabilities(ScrnInfoPtr pScrn,
254 /*** Unimplemented: */
255
256 static Bool
257-OMAPFBEnterVT(int scrnIndex, int flags)
258+OMAPFBEnterVT(VT_FUNC_ARGS_DECL)
259 {
260 xf86Msg(X_NOT_IMPLEMENTED, "%s\n", __FUNCTION__);
261 return TRUE;
262 }
263
264 static void
265-OMAPFBLeaveVT(int scrnIndex, int flags)
266+OMAPFBLeaveVT(VT_FUNC_ARGS_DECL)
267 {
268 xf86Msg(X_NOT_IMPLEMENTED, "%s\n", __FUNCTION__);
269 }
270--
2711.8.0
272
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch
new file mode 100644
index 0000000000..dc0b9b3f41
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch
@@ -0,0 +1,48 @@
1Fix errors with glibc 2.20
2
3In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0,
4 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:53,
5 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/misc.h:115,
6 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86str.h:37,
7 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86.h:44,
8 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-omapfb/2_0.1.1+gitrAUTOINC+28c006c94e-r21.7/git/src/omapfb-xv-blizzard.c:33:
9/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
10 strndup(const char *str, size_t n);
11 ^
12In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0,
13 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:53,
14 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/misc.h:115,
15 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86str.h:37,
16 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86.h:44,
17 from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-omapfb/2_0.1.1+gitrAUTOINC+28c006c94e-r21.7/git/src/omapfb-xv-generic.c:28:
18/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
19 strndup(const char *str, size_t n);
20 ^
21
22Singed-off-by: Khem Raj <raj.khem@gmail.com>
23
24Upstream-Status: Pending
25Index: git/src/omapfb-xv-blizzard.c
26===================================================================
27--- git.orig/src/omapfb-xv-blizzard.c 2014-08-28 05:16:25.684070587 -0700
28+++ git/src/omapfb-xv-blizzard.c 2014-08-28 19:05:39.440070587 -0700
29@@ -30,6 +30,7 @@
30 * -
31 */
32
33+#include <xorg-server.h>
34 #include "xf86.h"
35 #include "xf86_OSlib.h"
36 #include "xf86xv.h"
37Index: git/src/omapfb-xv-generic.c
38===================================================================
39--- git.orig/src/omapfb-xv-generic.c 2014-08-28 05:16:25.684070587 -0700
40+++ git/src/omapfb-xv-generic.c 2014-08-28 19:05:51.780070587 -0700
41@@ -25,6 +25,7 @@
42 * Generic functions for the XV driver
43 */
44
45+#include <xorg-server.h>
46 #include "xf86.h"
47 #include "xf86_OSlib.h"
48 #include "xf86xv.h"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb
new file mode 100644
index 0000000000..4ad25389cd
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb
@@ -0,0 +1,34 @@
1require xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- Texas Instruments OMAP framebuffer driver"
4
5DESCRIPTION = "omapfb driver supports the basic Texas Instruments OMAP \
6framebuffer."
7
8LICENSE = "MIT-X & GPLv2+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=63e2cbac53863f60e2f43343fb34367f"
10DEPENDS += "virtual/libx11"
11
12SRCREV = "28c006c94e57ea71df11ec4fff79d7ffcfc4860f"
13PR = "${INC_PR}.7"
14PV = "0.1.1+gitr${SRCPV}"
15
16SRC_URI = "git://git.pingu.fi/xf86-video-omapfb;protocol=http \
17 file://0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch \
18 file://0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch \
19 file://0003-force-plain-mode.patch \
20 file://0004-blacklist-tv-out.patch \
21 file://0005-Attempt-to-fix-VRFB.patch \
22 file://0006-omapfb-port-to-new-xserver-video-API.patch \
23 file://0007-always_include_xorg_server.h.patch \
24"
25
26S = "${WORKDIR}/git"
27
28EXTRA_OECONF_armv7a = " --enable-neon "
29CFLAGS += " -I${STAGING_INCDIR}/xorg "
30
31# Use overlay 2 on omap3 to enable other apps to use overlay 1 (e.g. dmai or omapfbplay)
32do_compile_prepend_armv7a () {
33 sed -i -e s:fb1:fb2:g ${S}/src/omapfb-xv.c
34}
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.3.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.3.bb
new file mode 100644
index 0000000000..4052f703b8
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.3.bb
@@ -0,0 +1,21 @@
1require xorg-driver-video.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=a1f0610ebdc6f314a9fa5102a8c5c1b0"
4
5SUMMARY = "X.Org X server -- Generic Vesa video driver"
6
7DESCRIPTION = "vesa is an Xorg driver for generic VESA video cards. It \
8can drive most VESA-compatible video cards, but only makes use of the \
9basic standard VESA core that is common to these cards. The driver \
10supports depths 8, 15 16 and 24."
11
12PR = "${INC_PR}.0"
13
14DEPENDS += "virtual/libx11 randrproto libpciaccess"
15
16COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
17
18RRECOMMENDS_${PN} += "xserver-xorg-module-libint10"
19
20SRC_URI[md5sum] = "3690a5356ed121b1a7dfb59a6dcf4bf9"
21SRC_URI[sha256sum] = "ce8b75e5a40e9dae76f2ac9e2880f7f73a848653ca2eed5880f52dc2c0d3aef8"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0001-configure-fix-build-without-xatracker.patch b/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0001-configure-fix-build-without-xatracker.patch
new file mode 100644
index 0000000000..cf66403e89
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0001-configure-fix-build-without-xatracker.patch
@@ -0,0 +1,37 @@
1Upstream-Status: Backport
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From bdaa9de44a197ba1297b990422ed9e515289f141 Mon Sep 17 00:00:00 2001
5From: Julien Cristau <jcristau@debian.org>
6Date: Tue, 1 Apr 2014 10:11:13 +0200
7Subject: [PATCH 1/2] configure: fix build without xatracker
8
9ACTION-IF-NOT-FOUND is the fourth argument to PKG_CHECK_MODULES, not the
10fifth.
11
12Debian bug#743239 <https://bugs.debian.org/743239>
13
14Reviewed-by: Thomas Klausner <wiz@NetBSD.org>
15Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
16Signed-off-by: Julien Cristau <jcristau@debian.org>
17Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
18---
19 configure.ac | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/configure.ac b/configure.ac
23index dd3ad4e..be40ed7 100644
24--- a/configure.ac
25+++ b/configure.ac
26@@ -126,7 +126,7 @@ if test x$BUILD_VMWGFX = xyes; then
27 [PKG_CHECK_EXISTS([xatracker = 2.0.0],
28 [AC_DEFINE([HAVE_XA_2], 1,
29 [Has version 2 of XA])])],
30- [],[BUILD_VMWGFX=no])
31+ [BUILD_VMWGFX=no])
32 #
33 # Check for prime.
34 #
35--
361.7.10.4
37
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch b/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch
new file mode 100644
index 0000000000..6039d089a1
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch
@@ -0,0 +1,98 @@
1Upstream-Status:Submitted
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From f103d6f570671c649ccd7b225e6d6c9f14371888 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Wed, 25 Jun 2014 16:16:44 +0100
7Subject: [PATCH 2/2] add option for vmwgfx
8
9---
10 configure.ac | 49 ++++++++++++++++++++-----------------------------
11 1 file changed, 20 insertions(+), 29 deletions(-)
12
13diff --git a/configure.ac b/configure.ac
14index be40ed7..8e15307 100644
15--- a/configure.ac
16+++ b/configure.ac
17@@ -64,6 +64,13 @@ AC_ARG_ENABLE(vmwarectrl-client,
18 [VMWARECTRL=$enableval], [VMWARECTRL=no])
19 AM_CONDITIONAL(BUILD_VMWARECTRL, [test "x$VMWARECTRL" = xyes])
20
21+# Define a configure option to build the vmwgfx driver
22+AC_ARG_ENABLE(vmwgfx,
23+ AS_HELP_STRING([--disable-vmwgfx],
24+ [Disable vmwgfx driver (KMS/3D) (default: enabled)]),
25+ [VMWGFX="$enableval"], [VMWGFX="yes"])
26+AM_CONDITIONAL(BUILD_VMWGFX, test "x$VMWGFX" = xyes)
27+
28 # Store the list of server defined optional extensions in REQUIRED_MODULES
29 XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
30 XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
31@@ -85,11 +92,6 @@ PKG_CHECK_EXISTS([xorg-server >= 1.4.99],
32 [AC_DEFINE([HAVE_XORG_SERVER_1_5_0], 1,
33 [Has version 1.5.0 or greater of the Xserver])])
34
35-PKG_CHECK_EXISTS([xorg-server >= 1.7.0],
36- [AC_DEFINE([HAVE_XORG_SERVER_1_7_0], 1,
37- [Has version 1.7.0 or greater of the Xserver])
38- BUILD_VMWGFX=yes],[BUILD_VMWGFX=no])
39-
40 PKG_CHECK_EXISTS([xorg-server >= 1.12.0],
41 [AC_DEFINE([HAVE_XORG_SERVER_1_12_0], 1,
42 [Has version 1.12.0 or greater of the Xserver])])
43@@ -114,39 +116,28 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
44
45 AC_SUBST([moduledir])
46
47-if test x$BUILD_VMWGFX = xyes; then
48- PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no])
49-fi
50-if test x$BUILD_VMWGFX = xyes; then
51-#
52-# Early versions of mesa 10 forgot to bump the XA major version number in
53-# the xa_tracker.h header
54-#
55- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],
56- [PKG_CHECK_EXISTS([xatracker = 2.0.0],
57- [AC_DEFINE([HAVE_XA_2], 1,
58- [Has version 2 of XA])])],
59- [BUILD_VMWGFX=no])
60-#
61-# Check for prime.
62-#
63+AC_MSG_CHECKING([whether to build Kernel Mode Setting and 3D])
64+if test x$VMWGFX = xyes; then
65+ PKG_CHECK_MODULES([LIBDRM], [libdrm])
66+ # Check for prime.
67 PKG_CHECK_EXISTS([libdrm >= 2.4.38],
68 [AC_DEFINE([HAVE_LIBDRM_2_4_38], 1,
69 [Has version 2.4.38 or greater of libdrm])])
70-fi
71
72-DRIVER_NAME=vmware
73-AC_SUBST([DRIVER_NAME])
74-
75-AC_MSG_CHECKING([whether to build Kernel Mode Setting and 3D])
76-if test x$BUILD_VMWGFX = xyes; then
77- AC_MSG_RESULT([yes])
78+ # Early versions of mesa 10 forgot to bump the XA major version number
79+ # in the xa_tracker.h header
80+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],
81+ [PKG_CHECK_EXISTS([xatracker = 2.0.0],
82+ [AC_DEFINE([HAVE_XA_2], 1,
83+ [Has version 2 of XA])])])
84 AC_DEFINE([BUILD_VMWGFX], 1, [Building the vmwgfx driver path])
85+ AC_MSG_RESULT([yes])
86 else
87 AC_MSG_RESULT([no])
88 fi
89
90-AM_CONDITIONAL(BUILD_VMWGFX, test "x$BUILD_VMWGFX" = xyes)
91+DRIVER_NAME=vmware
92+AC_SUBST([DRIVER_NAME])
93
94 AC_CONFIG_FILES([
95 Makefile
96--
971.7.10.4
98
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.0.2.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.0.2.bb
new file mode 100644
index 0000000000..24041b5cad
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.0.2.bb
@@ -0,0 +1,19 @@
1require xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- VMware SVGA display driver"
4
5DESCRIPTION = "vmware is an Xorg driver for VMware virtual video cards."
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=5fcd7d437a959a15fbee8707747c6b53"
8
9DEPENDS += "virtual/libx11 xineramaproto videoproto libpciaccess"
10
11SRC_URI += "file://0001-configure-fix-build-without-xatracker.patch \
12 file://0002-add-option-for-vmwgfx.patch"
13
14SRC_URI[md5sum] = "91d1d7d33181766714405ab013d31244"
15SRC_URI[sha256sum] = "c8ba3d2cead3620dba2cbf5defb7f1759b2b96f4fe209f4bf6976832b6763c54"
16
17COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
18
19EXTRA_OECONF += "--disable-vmwgfx"
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
new file mode 100644
index 0000000000..17fac8b8c0
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
@@ -0,0 +1,41 @@
1SUMMARY = "X driver"
2HOMEPAGE = "http://www.x.org"
3BUGTRACKER = "https://bugs.freedesktop.org"
4SECTION = "x11/drivers"
5LICENSE = "MIT-X"
6
7PE = "2"
8INC_PR = "r21"
9
10DEPENDS = "virtual/xserver xproto randrproto util-macros"
11
12SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2"
13
14S = "${WORKDIR}/${BPN}-${PV}"
15
16FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so"
17FILES_${PN}-dbg += " ${libdir}/xorg/modules/drivers/.debug"
18
19inherit autotools pkgconfig
20
21# FIXME: We don't want to include the libtool archives (*.la) from modules
22# directory, as they serve no useful purpose. Upstream should fix Makefile.am
23do_install_append() {
24 find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f --
25}
26
27# Function to add the relevant ABI dependency to drivers, which should be called
28# from a PACKAGEFUNC.
29def _add_xorg_abi_depends(d, name):
30 # Map of ABI names exposed in the dependencies to pkg-config variables
31 abis = {
32 "video": "abi_videodrv",
33 "input": "abi_xinput"
34 }
35
36 output = os.popen("pkg-config xorg-server --variable=%s" % abis[name]).read()
37 mlprefix = d.getVar('MLPREFIX', True) or ''
38 abi = "%sxorg-abi-%s-%s" % (mlprefix, name, output.split(".")[0])
39
40 pn = d.getVar("PN", True)
41 d.appendVar('RDEPENDS_' + pn, ' ' + abi)
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
new file mode 100644
index 0000000000..fbec0643ff
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
@@ -0,0 +1,11 @@
1include xorg-driver-common.inc
2
3DEPENDS += "inputproto kbproto "
4
5python add_xorg_abi_depends() {
6 _add_xorg_abi_depends(d, "input")
7}
8PACKAGEFUNCS =+ "add_xorg_abi_depends"
9
10FILES_${PN} += " ${libdir}/xorg/modules/input/*.so"
11FILES_${PN}-dbg += " ${libdir}/xorg/modules/input/.debug"
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc
new file mode 100644
index 0000000000..38281e0f23
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc
@@ -0,0 +1,8 @@
1include xorg-driver-common.inc
2
3DEPENDS =+ "renderproto videoproto xextproto fontsproto"
4
5python add_xorg_abi_depends() {
6 _add_xorg_abi_depends(d, "video")
7}
8PACKAGEFUNCS =+ "add_xorg_abi_depends"