Buildability of the Xorg drivers
Alan Coopersmith
alan.coopersmith at oracle.com
Mon Jan 31 00:16:00 UTC 2022
I've now finished going through the unarchived drivers under
https://gitlab.freedesktop.org/xorg/driver
to try to get them to all have at least a simple CI build in gitlab.
It will probably not surprise folks that a fair number of the drivers would
not build when I tried this. Some I got building again with simple fixes
(though I have no hardware to test these, so can only claim that they
build - they may or may not work), others still need some help or may be
ready for archiving if no one wants to make them build again.
There are currently 62 repos there - 9 input & 53 video. Of those,
46 (8 input, 38 video) now have at least basic CI set up in gitlab,
where "basic" is "builds on Arch Linux against stable Xorg package".
(For those who want more, see the xf86-video-ati & xf86-video-amdgpu
repos for examples of doing a variety of different builds, or the
xf86-input-keyboard & -mouse drivers for building on FreeBSD instead.)
These did not get CI added yet:
xf86-input-vmmouse
xf86-video-vmware
- do not allow merge requests
xf86-video-armsoc
xf86-video-freedreno
xf86-video-intel
- I wasn't sure what the status of these was
xf86-video-geode
- CI doesn't build - it appears this is because our CI environment is 64-bit,
but this driver has assembly that only builds 32-bit:
https://gitlab.freedesktop.org/alanc/xf86-video-geode/-/jobs/17946381
(which as I recall makes sense, given the hardware was embedded in 32-bit
x86 CPUs)
xf86-video-glint
- Doesn't build due to the removal of ramdac drivers from Xorg:
https://gitlab.freedesktop.org/xorg/driver/xf86-video-glint/-/issues/1
xf86-video-impact
- Doesn't build due to the removal of XAA in January 2012(!), but there is
a pending MR to fix that:
https://gitlab.freedesktop.org/xorg/driver/xf86-video-impact/-/merge_requests/1
xf86-video-mach64
- Doesn't build due to the rename of bool to boolean in OptionInfoRec, but
there is a pending MR to fix that:
https://gitlab.freedesktop.org/xorg/driver/xf86-video-mach64/-/merge_requests/4
xf86-video-newport
- Doesn't build due to the removal of XAA in January 2012 / Xorg 1.13, as
reported in August 2012:
https://gitlab.freedesktop.org/xorg/driver/xf86-video-newport/-/issues/1
Time to archive?
xf86-video-omap
- Doesn't build since CI can't find libdrm_omap (presumably because it's not
enabled by default in the libdrm build, but only on request)
xf86-video-opentegra
- Doesn't build due to multiple API breaks:
https://gitlab.freedesktop.org/xorg/driver/xf86-video-opentegra/-/issues/1
Seems abandoned since last release in July 2014.
xf86-video-qxl
- Doesn't build due to the rename of bool to boolean in OptionInfoRec in
Xorg 21, but there is a pending MR to fix that:
https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/-/merge_requests/6
xf86-video-s3
- Doesn't build due to the removal of ramdac drivers from Xorg, including
"IBM.h" and "TI.h"
xf86-video-tga
- Doesn't build due to the removal of ramdac drivers from Xorg, including
"BT.h"
xf86-video-wsfb
- This requires system headers available only on NetBSD & OpenBSD, but
the only BSD we have a build template for so far is FreeBSD.
Most of those have a CI setup in the merge requests ready to go once someone
gets them to build properly.
_________________________________________________________________________________
These were not building when I first tried, but are building now after some
simple fixes (again, untested so may not run/work well!), and have CI set up
now:
xf86-video-suncg14
xf86-video-suncg3
xf86-video-suncg6
xf86-video-sunffb
xf86-video-sunleo
xf86-video-suntcx
xf86-video-xgixp
- Either removed the #include of "xf86RamDac.h" as unneeded or replaced it
with a direct include of "xf86Cursor.h" that it had indirectly included.
xf86-video-s3virge
- Created a patch based on ajax's fix to the rendition driver to stop using
maxHValue and maxVValue from ScrnInfoRec that were removed in Xorg 1.20.
xf86-video-tseng
- Applied patch submitted in a bug report to stop using maxHValue and
maxVValue from ScrnInfoRec that were removed in Xorg 1.20.
xf86-video-xgi
- Added "extern" to variable declarations in xgi_accel.h to resolve multiple
declaration errors since CI uses a gcc new enough to default to -fno-common
That these build today is of course not a promise of ongoing maintenance, and
some of these may still be candidates for archiving.
--
-Alan Coopersmith- alan.coopersmith at oracle.com
Oracle Solaris Engineering - https://blogs.oracle.com/solaris
More information about the xorg-devel
mailing list