[oi-dev] X11 update

Мартин Бохниг opensxce at mail.ru
Sat Sep 17 02:26:52 UTC 2016


It was OFFlist but is certainly useful as public AddOn, so I reply to myself:


Hi Aurelien,


don't worry.
No problems.
Ironically Ken - despite all of his really very good userland Xorg and Mesa work for a decade - never tested SNA on the last official Intel-Xorg-ddx which is still 2.21.5 or something (rather than 2.99).
In winter I created a test-ddx for Xorg running on Hipster (Xorg-ABI matches without -ignoreABI).
If I find it I gladly upload it and then youb can test and see what I mean.
Then you witness that SNA is rubbish on Solaris kernels (and it appears that even Oracle doesn't know how to make it really work on Solaris).
Maybe some kernel-performance engineer could debug it with dtrace to find out what's eating up all the cycles. But UXA works fine and the performance gain of SNA over UXA isn't that large, even on LinUX where it works fine.

As for qt5.8: Something is different on your (probably more modern) Hipster installation.
But despite putting all, then some, then specific ones, then none /usr/gnu/bin tools in front of /usr/bin (via $PATH plus permutations of lofs mounts) I always ended in  http://stackoverflow.com/questions/38549755/raspberry-pi-2-and-qt-5-7-make-stuck-at-qtbase-bin-qmake-conf-qtbase-q and never managed to isolate what exactly causes it (including running gmake -d did'nt show me why it is trapped in re-iteration loops).

But the point when I finally had  enough was after qt5.8 was finally built and vbox linked against it and then rather than a window coming up it ended with 
"gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem"


We can deal with qt5.8 later, as of now it doesn't have any release stability/quality whatsoever, neither for building it nor for using it.

But as said: qt4.8 *is* in the repo plus is  *rock-stable*.
And it was braindead easy to get it working in Vbox 5 again:

/code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/virtualbox5_qt4$ cat patches/enforce_qt4.patch
gdiff -Nub VirtualBox-5.1.6/Config.kmk VirtualBox-5.1.6/Config.kmk
--- VirtualBox-5.1.6/Config.kmk    2016-09-16 11:41:22.013702279 +0000
+++ VirtualBox-5.1.6/Config.kmk    2016-09-16 12:09:50.428711465 +0000
@@ -591,11 +591,6 @@
 VBOX_WITH_WEBSERVICES_SSL = 1
 # The Qt GUI.
 VBOX_WITH_QTGUI = 1
-if1of ($(KBUILD_TARGET), linux win solaris)
- VBOX_WITH_QTGUI_V5 = 1 # r=bird: s/VBOX_WITH_QTGUI_V5/VBOX_WITH_QT5/g - our we released version 5.0 of the VirtualBox GUI last year, remember?
-else if "$(KBUILD_TARGET)" == "darwin" && $(KBUILD_HOST_VERSION_MAJOR) >= 13 # (OS X 10.9 Mavericks)
- VBOX_WITH_QTGUI_V5 = 1
-endif
 # Indicates the Qt is Cocoa based on the Mac.
 ifeq ($(KBUILD_TARGET),darwin)
  VBOX_WITH_COCOA_QT = 1
@@ -5678,12 +5673,12 @@
    ifndef VBOX_WITH_QTGUI_V5
     VBOX_PATH_QT := $(lastword $(sort $(wildcard $(KBUILD_DEVTOOLS_TRG)/qt/v4*)))
    else
-    VBOX_PATH_QT := $(lastword $(sort $(wildcard $(KBUILD_DEVTOOLS_TRG)/qt/v5*)))
+    VBOX_PATH_QT := $(lastword $(sort $(wildcard $(KBUILD_DEVTOOLS_TRG)/qt/v4*)))
    endif
    ifeq ($(VBOX_PATH_QT),)
     ifneq ($(wildcard /Library/Frameworks/QtCore.framework),)
      # Using the global installation (for OSE).
-     VBOX_PATH_QT ?= /usr
+     VBOX_PATH_QT ?= /usr/lib/qt/4.8
      VBOX_PATH_QT_FRAMEWORKS ?= /Library/Frameworks
     endif
    endif
@@ -5730,22 +5725,9 @@
     QtCore QtGui QtWidgets QtPrintSupport QtMacExtras \
     $(if $(VBOX_GUI_USE_QGL),QtOpenGL,)
   else if1of ($(KBUILD_TARGET), linux freebsd netbsd openbsd solaris win)
-   VBOX_QT_MOD += \
-    Qt5Core Qt5Gui Qt5Widgets Qt5PrintSupport \
-    $(if $(VBOX_GUI_USE_QGL),Qt5OpenGL,)
-    if1of ($(KBUILD_TARGET), linux freebsd netbsd openbsd solaris)
-     VBOX_QT_MOD += \
-      Qt5DBus Qt5XcbQpa Qt5X11Extras
-     # legacy libraries required to be installed on EL5
-     VBOX_QT_LEGACY_LIBS = \
-      $(if $(VBOX_LD_HAS_LIBXCB),,libxcb.so.1 libX11.so.6 libX11-xcb.so.1)
-     VBOX_QT_PLUGINS = plugins/platforms/libqxcb.so
-    else ifeq ($(KBUILD_TARGET), win)
-     VBOX_QT_MOD += \
-      Qt5WinExtras
-    endif # win
-  endif # linux freebsd netbsd openbsd solaris win
- endif # VBOX_WITH_QTGUI_V5
+   VBOX_QT_MOD = QtCore QtGui $(if $(VBOX_GUI_USE_QGL),QtOpenGL,)
+endif # linux freebsd netbsd openbsd solaris win
+endif # VBOX_WITH_QTGUI_V5
 
  VBOX_QT_MOD_NAMES = $(foreach qtmod,$(VBOX_QT_MOD),$(qtmod)$(VBOX_QT_INFIX))
 
@@ -5770,13 +5752,13 @@
   TEMPLATE_VBOXQTGUIEXE_LRCTOOL = QT4
   TEMPLATE_VBOXQTGUIEXE_SDKS = QT4
  else # VBOX_WITH_QTGUI_V5
-  TEMPLATE_VBOXQTGUIEXE_USES = qt5
-  TEMPLATE_VBOXQTGUIEXE_QTTOOL = QT5
-  TEMPLATE_VBOXQTGUIEXE_MOCTOOL = QT5
-  TEMPLATE_VBOXQTGUIEXE_UICTOOL = QT5
-  TEMPLATE_VBOXQTGUIEXE_RCCTOOL = QT5
-  TEMPLATE_VBOXQTGUIEXE_LRCTOOL = QT5
-  TEMPLATE_VBOXQTGUIEXE_SDKS = QT5
+  TEMPLATE_VBOXQTGUIEXE_USES = qt4
+  TEMPLATE_VBOXQTGUIEXE_QTTOOL = QT4
+  TEMPLATE_VBOXQTGUIEXE_MOCTOOL = QT4
+  TEMPLATE_VBOXQTGUIEXE_UICTOOL = QT4
+  TEMPLATE_VBOXQTGUIEXE_RCCTOOL = QT4
+  TEMPLATE_VBOXQTGUIEXE_LRCTOOL = QT4
+  TEMPLATE_VBOXQTGUIEXE_SDKS = QT4
  endif # VBOX_WITH_QTGUI_V5
  TEMPLATE_VBOXQTGUIEXE_QT_INFIX = $(VBOX_QT_INFIX)
  TEMPLATE_VBOXQTGUIEXE_DEFS = IN_RING3 QT_NO_DEBUG QT_THREAD_SUPPORT QT_SHARED HAVE_CONFIG_H $(ARCH_BITS_DEFS)


And in /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/virtualbox5_qt4/Makefile


CONFIGURE_OPTIONS = --enable-pulse
CONFIGURE_OPTIONS += --with-qt-dir=/usr/lib/qt/4.8
CONFIGURE_OPTIONS += --enable-qt4
CONFIGURE_OPTIONS += --build-libxml2



The resulting Vbox works fine and now also emulates USB3 xhci controller hardware :)
VirtualBox guest additions iso also gets compiled.
The extensions pack necessary for USB does get built, too :)

But I'm still messing with ips and after checkinstall was fixed I need to fix postinstall.
Jim's 1 year old otherwise nice script doesn't help anymore, requires modifications.

Today the Vbox 5.1.x will be released as test package and src diff for hipster-userland.


So, nothing wrong, just finacial DISASTER here and all the terror of everybody sending me bills and asking for money.
But before I get me a job I wanted to release the follwoing:

Vbox 5 (plus Jim Klimov's script)
i915 auf <=gen5: agpgart _enhancement_
compiz Mate integration diff
plugin-wrapper
((((qt5 64bit))))
((((xhci Sol11 bins HOWTO))))



Regards,

%martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20160917/a3ee88bf/attachment-0005.html>


More information about the oi-dev mailing list