QEMU Transition to xserver_xorg
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
[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
@@ -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
@@ -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
@@ -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
[CONSOLIDATED PULL 3/4] xserver-xorg: Fix build on powerpc
In reply to Saul WoldFrom: 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
@@ -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
@@ -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
[CONSOLIDATED PULL 4/4] qemu.inc: Remove mesa-xlib as PREFERRED_PROVIDER
In reply to Saul WoldThe 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
@@ -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
[CONSOLIDATED PULL 2/4] xserver-xf86-config: Add xorg.conf for arm, mips, ppc, sh qemu machines
In reply to Saul WoldFrom: 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
@@ -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
@@ -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
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