<HTML><BODY>Hi all, please some patience: Just to let you know, VirtualBox-5.1.4 builds and almost packages in my local hipster userland but so far without QT5 frontend. I tried to make it use QT4 via configure, but although this is still a supported configuration, in reality it is broken. That's why we really need QT5.<br><br>And atm I'm still waiting for QT5.5 to complete.<br>(currently on the screen:<br><br>ln -s libQt5Widgets.so.5.5.0 libQt5Widgets.so<br>ln -s libQt5Widgets.so.5.5.0 libQt5Widgets.so.5<br>ln -s libQt5Widgets.so.5.5.0 libQt5Widgets.so.5.5<br>rm -f ../../lib/libQt5Widgets.so.5.5.0<br>mv -f libQt5Widgets.so.5.5.0  ../../lib/<br>rm -f ../../lib/libQt5Widgets.so<br>rm -f ../../lib/libQt5Widgets.so.5<br>rm -f ../../lib/libQt5Widgets.so.5.5<br>mv -f libQt5Widgets.so ../../lib/<br>mv -f libQt5Widgets.so.5 ../../lib/<br>)<br><br><br>Ouch, new problem in QT5.5:<br><br><br>Undefined            first referenced<br> symbol                  in file<br>qt_memfill16(unsigned short*, unsigned short, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_memfill32(unsigned int*, unsigned int, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>convert_ARGB_to_ARGB_PM_inplace_sse2(QImageData*, QFlags<Qt::ImageConversionFlag>)       /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_fetch_radial_gradient_sse2(unsigned int*, Operator const*, QSpanData const*, int, int, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_functionForModeSolid_SSE2        /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_scale_image_argb32_on_argb32_sse2(unsigned char*, int, unsigned char const*, int, int, QRectF const&, QRectF const&, QRect const&, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_functionForMode_SSE2             /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_bitmapblit16_sse2(QRasterBuffer*, int, int, unsigned int, unsigned char const*, int, int, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_bitmapblit32_sse2(QRasterBuffer*, int, int, unsigned int, unsigned char const*, int, int, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_bitmapblit8888_sse2(QRasterBuffer*, int, int, unsigned int, unsigned char const*, int, int, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_blend_argb32_on_argb32_sse2(unsigned char*, int, unsigned char const*, int, int, int, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>qt_blend_rgb32_on_rgb32_sse2(unsigned char*, int, unsigned char const*, int, int, int, int) /code/ALP__KMS_MATE__checkout20160911sun/oi-userland/components/qt5/build/i86/qtbase/lib/libQt5Gui.so<br>ld: fatal: symbol referencing errors. No output written to libqjpeg.so<br>collect2: error: ld returned 1 exit status<br>Makefile:171: recipe for target '../../../../plugins/imageformats/libqjpeg.so' failed<br>make[6]: *** [../../../../plugins/imageformats/libqjpeg.so] Error 1<br><br><br><br>5.7 needs extra work and 5.6 will be tested next, when I see if 5.6 builds without extra-hassle, I decide if we take 5.5 or 5.6 and then manually merge in the old qt4 diffs.<br><br>On this Celeron 2.4GHz will all storage connected via (so far) USB2 (the bridges are USB2.0, so no USB3 anyway) and with all of my pools always gzip-9 compressed, it always takes a while.<br><br>As for agpgart I now also found out why this problem is only visible on older hardware:<br><br>In openindiana/drm/build/amd64/i915/src/i915_gem_gtt.c<br><br>we have:<br><br>void<br>intel_rw_gtt(struct drm_device *dev,<br>        size_t size,<br>        uint32_t gtt_offset,<br>        void *gttp,<br>        uint32_t type)<br>{<br>        struct drm_i915_private *dev_priv = dev->dev_private;<br>        unsigned first_entry = gtt_offset >> PAGE_SHIFT;<br>        unsigned num_entries = size / PAGE_SIZE;<br>        uint32_t *gtt_addr;<br>        uint32_t *old_gtt = (uint32_t *)gttp;<br>        int i, j;<br><br>        if (INTEL_INFO(dev)->gen <= 5) {<br>                (void) drm_agp_rw_gtt(dev, size/PAGE_SIZE, gtt_offset,<br>                                        gttp, type);<br>        } else {<br>                if (type) {<br>                        for (i = first_entry, j = 0; i < ( first_entry + num_entries); i++, j++) {<br>                                gtt_addr = (uint32_t *)(uintptr_t)((caddr_t)dev_priv->gtt.virtual_gtt<br>                                                        + i * sizeof(uint32_t));<br>                                ddi_put32(dev_priv->gtt.gtt_mapping.acc_handle,<br>                                                gtt_addr, old_gtt[j]);<br>                        }<br>                } else {<br>                        for (i = first_entry; i < ( first_entry + num_entries); i++) {<br>                                gtt_addr = (uint32_t *)(uintptr_t)((caddr_t)dev_priv->gtt.virtual_gtt<br>                                                        + i * sizeof(uint32_t));<br>                                old_gtt[i] = ddi_get32(dev_priv->gtt.gtt_mapping.acc_handle,gtt_addr);<br>                        }<br>                }<br>        }<br>}<br><br><br><br>Now, I made a test if the higher than gen5 code works on <=gen5, but no (both parts if the if/else clause not).<br>This means living without AGPIOC_RW_GTT aware agpgart is *NOT* possible, which eliminates the second option of my available choices and brings me back straight to alternative #0 aka that I *must* make agpgart AGPIOC_RW_GTT ready.<br>As said before, with Sol11.3's agpgart stack the same i915/drm/kms bins do work unchanged even on old OpenSolaris kernels. It is only agpgart. More on that asap after I finally get QT5 and VirtualBox completed.<br><br><br>No response required, this is only an update which confirms that it all takes a bit longer that I had hoped but that I'm busy with it.<br><br><br>-- <br>Мартин Бохниг<br></BODY></HTML>