BUG/REQUEST: The xf86-video-qxl X11 driver has been deprecated due to dependency on Python 2.7 See Fresh Ports: https://www.freshports.org/x11-drivers/xf86-video-qxl/ However on doing upstream source build on FreeBSD 12.2 this builds and runs without any source changes / patches and already supports Python 3.7 dependency. Could this port please be reinstated and updated with build against Python 3.7 TESTING: X11 failed to start using: startx On FreeBSD 12.2 running as Ubuntu 21.04 KVM / QEMU quest did: 1. Package install of build tools 2. Clone of upstream xf86-video-qxl 3. Followed by configure, make and make install Simple configuration update to allow QEMU EvTouch USB Tablet to work with evdev & utouch package. Result was: X11 now starts on FreeBSD 12.2 when run as guest on Ubuntu 21.04 KVM / QEMU host Build details are: --- --- Install the build tools --- $ pkg install git $ pkg install autoconf $ pkg install automake $ pkg install xorg-macros $ pkg install m4 $ pkg install pkgconf $ pkg install libtool $ pkg install python37 --- --- Clone source and make --- $ cd dev $ git clone https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl.git $ cd xf86-video-qxl $ ./autogen.sh $ make $ su $ make install NOTE: Other packages installed include: xorg evdev & utouch Configuration required for evdev/utouch: # cat /usr/local/etc/X11/xorg.conf.d/99-qemu-input.conf # # Overide libinput # Section "InputClass" Identifier "evdev touchscreen catchall" MatchIsTouchscreen "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection More details and testing information is documented here:https://tips.graphica.com.au/freebsd-gnome-on-qemu/ X11 now starts via startx NOTE: gdm & gnome3 not installed as these package are also missing, to I only tested as part as getting X11 running. SUMMARY: I have not done build of full "Spice" sub-system but certainly the xf86-video-qxl driver port should be readily updated to build without Python 2.7 dependency.
Hi! Feel free to submit a patch to update qxl to use python3 instead of python 2, and I'll look into it. Thanks!
Hi Niclas, as it appears that xf86-video-qxl was removed from the ports repository with branch 2020Q4, I did a fork of entire ports tree (via GitHub) and then checked out the 2020Q3 branch. # git checkout 2020Q3 I then update of Makefile to use python 3.7 and make. This built successfully. Here is diff: git diff Makefile diff --git a/x11-drivers/xf86-video-qxl/Makefile b/x11-drivers/xf86-video-qxl/Makefile index 65dbd1059ebe..fb265dd39d71 100644 --- a/x11-drivers/xf86-video-qxl/Makefile +++ b/x11-drivers/xf86-video-qxl/Makefile @@ -17,7 +17,7 @@ BUILD_DEPENDS= spice-protocol>=0.12.10:devel/spice-protocol \ ${LOCALBASE}/include/linux/input.h:devel/evdev-proto LIB_DEPENDS= libspice-server.so:devel/libspice-server -USES= localbase:ldflags pkgconfig python:2.7 shebangfix xorg \ +USES= localbase:ldflags pkgconfig python:3.7 shebangfix xorg \ xorg-cat:driver USE_XORG= xfont Given that the entire sub-directory is removed from port tree, I am not sure what the process is to get it back with updated dependencies. Cheers, John Hartley.
(In reply to John Hartley from comment #0) > python:3.7 This hardcodes lang/python37 dependency which is non-default since ports 6cd3db2d03cc. Try "python" (without quotes) instead as ports 6a834798621f already excludes lang/python27. Disclaimer: I haven't tested the suggestion, don't use the port and not the maintainer to approve.
(In reply to Jan Beich from comment #3) Hi Jan, I wish the maintain of this port would resolve the problem. The port has not been restored. I have retested with 12.2. Process was: 1. Clean install of FreeBSD 12.2 2. Install the X11/gnome/evdev/utouch pks: pkg install xorg gnome-desktop xf86-input-evdev utouch-kmod 3. Install all the build tools: pkg install git autoconf automake xorg-macros m4 pkgconf libtool 4. Install all the dependency (as pkg) to ensure pickup latest and greatest versions: pkg install help2man libspice-server spice-protocol bison texinfo openssl 5. Clone the ports tree via github: git clone XXX 6. Check out the old tree branck: git checkout 2020Q3 7. Edit the Makefile to remove the explicit python dependency (as per suggestion) 8. Fix the X11 config file to pickup the QEMU Tablet Driver Result: Able to run FreeBSD Desktop again as KVM/QEMU VM Here is updated diff file: $ git diff Makefile diff --git a/x11-drivers/xf86-video-qxl/Makefile b/x11-drivers/xf86-video-qxl/Makefile index fb265dd39d71..42cb413cebf7 100644 --- a/x11-drivers/xf86-video-qxl/Makefile +++ b/x11-drivers/xf86-video-qxl/Makefile @@ -17,7 +17,7 @@ BUILD_DEPENDS= spice-protocol>=0.12.10:devel/spice-protocol \ ${LOCALBASE}/include/linux/input.h:devel/evdev-proto LIB_DEPENDS= libspice-server.so:devel/libspice-server -USES= localbase:ldflags pkgconfig python:3.7 shebangfix xorg \ +USES= localbase:ldflags pkgconfig python shebangfix xorg \ xorg-cat:driver USE_XORG= xfont
(In reply to Niclas Zeising from comment #1) Hi Niclas, are you able to help with getting the x11-drivers/xf86-video-qxl port tree restored and fixed. I have tested with both explicit python, updated to 3.7: >> USES= localbase:ldflags pkgconfig python:3.7 shebangfix xorg \ As well as implicit "current" python version: >> USES= localbase:ldflags pkgconfig python shebangfix xorg \ where have: >> $ python3.7 --version >> Python 3.7.9 Cheers from Australia. John Hartley.
Are you actually using this driver? Does it work, or just compile? Can you add the patch as an attachment so that it is not mangled by bugzilla, that would be helpful. I'll see if I can get the port restored.
(In reply to Niclas Zeising from comment #6) Hi Niclas, yes I have used and tested. Testing requires a Linux KVM / QEMU setup as the QXL driver is virtual device driver for use with QEMU. Without the QXL driver X11 startup "startx" fails. So the driver allows FreeBSD with X11 running as VM. But you need to make sure that the there is no video/display driver in configured in "/etc/usr/local/X11/xorg.conf.s" for it to work. I have attached patch file, which just removes to pyton version check completely (on assumption that ports is enforcing default python version somewhere else, as per comment from Jan Beich. NOTE: In doing build test I have already done pkg install of: libspice-dev spice-protocol so the bulid process did not go into "spice" dependency build. Cheers from Australia, John Hartley.
Created attachment 227723 [details] qxl Makefile patch to remove python version dependency Patch file for: x11-drivers/xf86-video-qxl/Makefile NOTE: The entire x11-drivers/xf86-video-qxl port tree was deprecated after "2020Q3" due to python 2.7 dependency (already addressed upstream).
Created attachment 228190 [details] Readd xf86-video-xql and remove python27 as dep I guess that should be the proper patch that the reporter wants.
Created attachment 228191 [details] Readd xf86-video-xql and remove python27 as dep (v2) Remove # $FreeBSD$ from the Makefile.
(In reply to Alexander Vereeken from comment #10) Hi Alexander, does your patch both re-establish the xf86-video-qxl port sub-tree as well as address the (redundant) python27 dependency ? And if so I should just make my patch obselete ? Thank you. John Hartley
(In reply to John Hartley from comment #11) Yes. Sorry for late answer btw.
I see a comment from five years ago, "Xspice: Fix Python3 str() vs bytes() confusion" which suggests this is getting some Python3 attention. Has anyone tried to build the current code? https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl
Revived in ports 72478310d3b0 with "python" in USES and different maintainer.
Hi BSD Maintainers, TESTING: I have retested using VM on: - Ubuntu 22.04 QEMU/KVM Host - with OVMF (UEFI), Q35 VM with VirtoIO Disk and Network Drivers FreeBSD Quest OS: - 13.1 - only pkg (binary) install: xorg gnome-lite xf86-input-evdev utouch-kmod help2man texinfo libspice-server spice-protocol python38 bison openssl - pkg (binary) install: xf86-video-qxl RESULT: Test #1 startx - initially failed, add X11 configuration to force use of scfb video Test #2 With scfb video startx - brings up X11 with working QEMU USB Tablet mouse with no further additional configuration SUMMARY: QEMU USB Tablet working again QXL - Video Driver Crashes SCFB - Video Driver provides usable workaround No need to build install revived ports package as binary pkg works END: Thank you very much for restoring xf86-video-qxl package. It is again possible to running X11 on KVM/QEMU without to much work. Happy Easter from Australia, John Hartley.
I've tested the qxl-vga driver because I wanted to boot FreeBSD 14 with quickemu. I compiled it from ports,but unfortunately it didn't work : https://github.com/quickemu-project/quickemu/issues/926#issuecomment-1941307198