Skip to contentSkip to conversation

QEMU Transition to xserver_xorg

GIT PULL Saul Wold 2 participants 6 messages May 11, 2012

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

Richard,

This has been run thought the AB and I have ran QEMU locally with the new xserver change.

There were a few issues noted and Khen and I have cleaned then up at this time.

Sau!

The following changes since commit 74daad03ca29a03b0005f7d2b90a0347d5b583a5:

package.bbclass: Drop EXPORT_FUNCTIONS use against mapping_rename_hook (2012-05-11 18:03:26 +0100)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stage

Khem Raj (3):
qemumachines: Enable xserver-xorg as default xserver
xserver-xf86-config: Add xorg.conf for arm,mips,ppc,sh qemu machines
xserver-xorg: Fix build on powerpc

Saul Wold (1):
qemu.inc: Remove mesa-xlib as PREFERRED_PROVIDER

 meta/conf/machine/include/qemu.inc                 |   10 ++-
 meta/conf/machine/qemux86-64.conf                  |    3 +-
 meta/conf/machine/qemux86.conf                     |    3 +-
 .../xserver-xf86-config/qemuarm/xorg.conf          |   69 ++++++++++++++++++++
 .../xserver-xf86-config/qemumips/xorg.conf         |   69 ++++++++++++++++++++
 .../xserver-xf86-config/qemumips64/xorg.conf       |   69 ++++++++++++++++++++
 .../xserver-xf86-config/qemuppc/xorg.conf          |   69 ++++++++++++++++++++
 .../xserver-xf86-config/qemush4/xorg.conf          |   69 ++++++++++++++++++++
 .../xorg-xserver/xserver-xf86-config_0.1.bb        |    2 +-
 .../xorg-xserver/xserver-xorg-1.11.2.inc           |    9 ++-
 .../xserver-xorg-1.11.2/gcc-47-warning.patch       |   33 +++++++++
 11 files changed, 396 insertions(+), 9 deletions(-)
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/gcc-47-warning.patch
Signature · 1 line
1.7.7.6
author
#1 lore raw

[CONSOLIDATED PULL 1/4] qemumachines: Enable xserver-xorg as default xserver

From: Khem Raj <[email protected]>

For qemux86 and qemux86-64 include qemu.inc after defining XSERVER

XSERVER variable is also weakly defined in task-core-x11.bb which means we can not use ??= otherwise when building any qemu image that uses task-core-x11.bb will get the wrong definition

So we define the XSERVER common set for qemu in qemu.inc and as we know x86 and x86-64 qemu overrides the default we include qemu.inc after that definition which means that qemux86 and qemux86-64 get their own definitions and other qemus get the definitions from qemu.inc. other non-qemu machine will get their defintion from task which points to kdrive as of now.

---
 meta/conf/machine/include/qemu.inc |    9 ++++++++-
 meta/conf/machine/qemux86-64.conf  |    3 ++-
 meta/conf/machine/qemux86.conf     |    3 ++-
 3 files changed, 12 insertions(+), 3 deletions(-)
meta/conf/machine/include/qemu.inc +8 -1
index 421a149..e384879 100644
@@ -1,7 +1,14 @@
 PCMCIA_MANAGER = "pcmciautils"
-PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
 PREFERRED_PROVIDER_virtual/libgl ?= "mesa-xlib"
 
+XSERVER ?= "xserver-xorg \
+            mesa-dri-driver-swrast \
+            xf86-input-evdev \
+            xf86-input-mouse \
+            xf86-video-fbdev \
+            xf86-input-keyboard"
+
 MACHINE_FEATURES = "apm alsa pcmcia bluetooth irda usbgadget screen"
 
 IMAGE_FSTYPES += "tar.bz2 ext3"
meta/conf/machine/qemux86-64.conf +2 -1
index 129fe9f..2e361a5 100644
@@ -6,7 +6,6 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
 PREFERRED_PROVIDER_virtual/libgl ?= "mesa-dri"
 
 require conf/machine/include/tune-x86_64.inc
-require conf/machine/include/qemu.inc
 
 MACHINE_FEATURES += "x86"
 
@@ -23,6 +22,8 @@ XSERVER ?= "xserver-xorg \
            xf86-video-vmware \
            qemugl"
 
+require conf/machine/include/qemu.inc
+
 GLIBC_ADDONS = "nptl"
 GLIBC_EXTRA_OECONF = "--with-tls"
 
meta/conf/machine/qemux86.conf +2 -1
index 246d5a0..ad840c0 100644
@@ -6,7 +6,6 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
 PREFERRED_PROVIDER_virtual/libgl ?= "mesa-dri"
 
 require conf/machine/include/tune-i586.inc
-require conf/machine/include/qemu.inc
 
 MACHINE_FEATURES += "x86"
 
@@ -23,6 +22,8 @@ XSERVER ?= "xserver-xorg \
            xf86-video-vmware \
            qemugl"
 
+require conf/machine/include/qemu.inc
+
 GLIBC_ADDONS = "nptl"
 GLIBC_EXTRA_OECONF = "--with-tls"
 
Signature · 1 line
1.7.7.6
author
#2 lore raw

[CONSOLIDATED PULL 3/4] xserver-xorg: Fix build on powerpc

In reply to Saul Wold

From: Khem Raj <[email protected]>

---
 .../xorg-xserver/xserver-xorg-1.11.2.inc           |    9 +++--
 .../xserver-xorg-1.11.2/gcc-47-warning.patch       |   33 ++++++++++++++++++++
 2 files changed, 38 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/gcc-47-warning.patch
meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc +5 -4
index f5fa629..6a86af4 100644
@@ -1,10 +1,11 @@
-SRC_URI += "file://crosscompile.patch"
-
 # Misc build failure for master HEAD
-SRC_URI += "file://fix_open_max_preprocessor_error.patch"
+SRC_URI += "file://crosscompile.patch \
+            file://fix_open_max_preprocessor_error.patch \
+            file://gcc-47-warning.patch \
+           "
 
 SRC_URI[md5sum] = "8796fff441e5435ee36a72579008af24"
 SRC_URI[sha256sum] = "fa415decf02027ca278b06254ccfbcceba2a83c2741405257ebf749da4a73cf2"
 
-PR = "r1"
+PR = "r2"
 
meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/gcc-47-warning.patch new file +33 -0
new file mode 100644
index 0000000..ed4eaac
@@ -0,0 +1,33 @@
+This patch fixes errors on powerpc like below
+
+| lnx_video.c: In function 'unmapVidMem':
+| lnx_video.c:472:24: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
+
+Its in 1.12 branch 
+
+http://cgit.freedesktop.org/xorg/xserver/commit/?h=server-1.12-branch&id=eb3377ffb8a7baa26c9831e56ed782d48b28fa71
+
+Upstream-Status: Backport
+
+Signed-off-by: Khem Raj <[email protected]>
+
+Index: xorg-server-1.11.2/hw/xfree86/os-support/linux/lnx_video.c
+===================================================================
+--- xorg-server-1.11.2.orig/hw/xfree86/os-support/linux/lnx_video.c	2012-05-01 06:32:34.186489019 -0700
++++ xorg-server-1.11.2/hw/xfree86/os-support/linux/lnx_video.c	2012-05-01 06:49:14.926537452 -0700
+@@ -469,11 +469,11 @@
+ static void
+ unmapVidMem(int ScreenNum, pointer Base, unsigned long Size)
+ {
+-    memType alignOff = (memType)Base 
+-	- ((memType)Base & ~(getpagesize() - 1));
++    uintptr_t alignOff = (uintptr_t)Base 
++	- ((uintptr_t)Base & ~(getpagesize() - 1));
+ 
+-    DebugF("alignment offset: %lx\n",alignOff);
+-    munmap((caddr_t)((memType)Base - alignOff), (Size + alignOff));
++    DebugF("alignment offset: %lx\n",(unsigned long)alignOff);
++    munmap((void*)((uintptr_t)Base - alignOff), (Size + alignOff));
+ }
+ 
+ 
Signature · 1 line
1.7.7.6
author
#3 lore raw

[CONSOLIDATED PULL 4/4] qemu.inc: Remove mesa-xlib as PREFERRED_PROVIDER

In reply to Saul Wold

The xserver-xorg uses and depends on mesa-dri, so we should use the default PREFERRED_PROVIDER of libgl as mesa-dri.

This resolves the following:
ERROR: Multiple .bb files are due to be built which each provide virtual/libgl (/intel/poky/distro/meta/recipes-graphics/mesa/mesa-dri_7.11.bb /intel/poky/distro/meta/recipes-graphics/mesa/mesa-xlib_7.11.bb).
This usually means one provides something the other doesn't and should.

---
 meta/conf/machine/include/qemu.inc |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
meta/conf/machine/include/qemu.inc +0 -1
index e384879..5d59a7f 100644
@@ -1,6 +1,5 @@
 PCMCIA_MANAGER = "pcmciautils"
 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
-PREFERRED_PROVIDER_virtual/libgl ?= "mesa-xlib"
 
 XSERVER ?= "xserver-xorg \
             mesa-dri-driver-swrast \
Signature · 1 line
1.7.7.6
author
#4 lore raw

[CONSOLIDATED PULL 2/4] xserver-xf86-config: Add xorg.conf for arm, mips, ppc, sh qemu machines

In reply to Saul Wold

From: Khem Raj <[email protected]>

---
 .../xserver-xf86-config/qemuarm/xorg.conf          |   69 ++++++++++++++++++++
 .../xserver-xf86-config/qemumips/xorg.conf         |   69 ++++++++++++++++++++
 .../xserver-xf86-config/qemumips64/xorg.conf       |   69 ++++++++++++++++++++
 .../xserver-xf86-config/qemuppc/xorg.conf          |   69 ++++++++++++++++++++
 .../xserver-xf86-config/qemush4/xorg.conf          |   69 ++++++++++++++++++++
 .../xorg-xserver/xserver-xf86-config_0.1.bb        |    2 +-
 6 files changed, 346 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf new file +69 -0
new file mode 100644
index 0000000..629ae21
@@ -0,0 +1,69 @@
+
+Section "Files"
+EndSection
+
+Section "InputDevice"
+    Identifier    "Generic Keyboard"
+    Driver        "evdev"
+    Option        "CoreKeyboard"
+    Option        "Device"      "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
+    Option        "XkbRules"    "xorg"
+    Option        "XkbModel"    "evdev"
+    Option        "XkbLayout"    "us"
+EndSection
+
+Section "InputDevice"
+    Identifier    "Configured Mouse"
+    Driver        "mouse"
+    Option        "CorePointer"
+    Option        "Device"        "/dev/input/mice"
+    Option        "Protocol"        "ImPS/2"
+    Option        "ZAxisMapping"        "4 5"
+    Option        "Emulate3Buttons"    "true"
+EndSection
+
+Section "InputDevice"
+    Identifier    "Qemu Tablet"
+    Driver        "evdev"
+    Option        "CorePointer"
+    Option        "Device"        "/dev/input/touchscreen0"
+    Option        "USB"           "on"
+EndSection
+
+Section "Device"
+    Identifier    "Graphics Controller"
+    Driver        "fbdev"
+EndSection
+
+Section "Monitor"
+    Identifier    "Generic Monitor"
+    Option        "DPMS"
+    # 1024x600 59.85 Hz (CVT) hsync: 37.35 kHz; pclk: 49.00 MHz
+    Modeline "1024x600_60.00"   49.00  1024 1072 1168 1312  600 603 613 624 -hsync +vsync
+    # 640x480 @ 60Hz (Industry standard) hsync: 31.5kHz
+    ModeLine "640x480"    25.2  640  656  752  800    480  490  492  525 -hsync -vsync
+    # 640x480 @ 72Hz (VESA) hsync: 37.9kHz
+    ModeLine "640x480"    31.5  640  664  704  832    480  489  491  520 -hsync -vsync
+    # 640x480 @ 75Hz (VESA) hsync: 37.5kHz
+    ModeLine "640x480"    31.5  640  656  720  840    480  481  484  500 -hsync -vsync
+    # 640x480 @ 85Hz (VESA) hsync: 43.3kHz
+    ModeLine "640x480"    36.0  640  696  752  832    480  481  484  509 -hsync -vsync
+EndSection
+
+Section "Screen"
+    Identifier    "Default Screen"
+    Device        "Graphics Controller"
+    Monitor        "Generic Monitor"
+    SubSection "Display"
+        Modes     "640x480"
+    EndSubSection
+EndSection
+
+Section "ServerLayout"
+    Identifier    "Default Layout"
+    Screen        "Default Screen"
+    InputDevice    "Generic Keyboard"
+    # InputDevice    "Configured Mouse"
+    InputDevice    "QEMU Tablet"
+    Option         "AllowEmptyInput" "no"
+EndSection
meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips/xorg.conf new file +69 -0

69 lines not on this page · raw message

meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf new file +69 -0

69 lines not on this page · raw message

meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf new file +69 -0

69 lines not on this page · raw message

meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf new file +69 -0

69 lines not on this page · raw message

meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb +1 -1
index 970b4bd..3c29f8b 100644
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.x.org"
 SECTION = "x11/base"
 LICENSE = "MIT-X"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PR = "r10"
+PR = "r11"
 
 SRC_URI = "file://xorg.conf"
 
Signature · 1 line
1.7.7.6
#5 lore raw
In reply to Saul Wold

Op 11 mei 2012, om 19:21 heeft Saul Wold het volgende geschreven:

Quoted 7 lines

Richard,

This has been run thought the AB and I have ran QEMU locally with the new xserver change.

There were a few issues noted and Khen and I have cleaned then up at this time.

Not really an oe-core bug, but worth spelling out: meta-intel has a greedy override for xf86-config, so if you machine has none it will end up with with the meta-intel xorg.conf