summaryrefslogtreecommitdiffstats
path: root/core/modules/xorg
diff options
context:
space:
mode:
authorSimon Rettberg2017-11-24 18:48:33 +0100
committerYour Name2017-11-24 18:48:33 +0100
commit4aa0ade2164926166b0a2054836e879f3f90ff2e (patch)
tree6f2aff7f8f65450de0ee4e480456352d9a08d1d3 /core/modules/xorg
parent[run-virt] Fix obviously broken sed expression: Don't fail on empty domain (diff)
downloadmltk-4aa0ade2164926166b0a2054836e879f3f90ff2e.tar.gz
mltk-4aa0ade2164926166b0a2054836e879f3f90ff2e.tar.xz
mltk-4aa0ade2164926166b0a2054836e879f3f90ff2e.zip
[xorg] Support building xorg drivers from source, do for amdgpu and radeon
Diffstat (limited to 'core/modules/xorg')
-rw-r--r--core/modules/xorg/module.build25
-rw-r--r--core/modules/xorg/module.conf.ubuntu.1732
2 files changed, 52 insertions, 5 deletions
diff --git a/core/modules/xorg/module.build b/core/modules/xorg/module.build
index 8806fc9f..8fc1edd4 100644
--- a/core/modules/xorg/module.build
+++ b/core/modules/xorg/module.build
@@ -1,7 +1,15 @@
#!/bin/bash
fetch_source() {
- :
+ if [ -n "$REQUIRED_XORG_DRIVERS" ]; then
+ mkdir -p src
+ cd src || perror "No cd to xorg src dir"
+ for drv in $REQUIRED_XORG_DRIVERS; do
+ [ -d "${drv}/.git" ] && continue
+ git clone --depth 1 "git://anongit.freedesktop.org/xorg/driver/${drv}" "${drv}" || perror "Could not clone $drv"
+ done
+ cd -
+ fi
}
build() {
@@ -21,6 +29,21 @@ build() {
rm -rf -- "${MODULE_BUILD_DIR}/lib/udev" "${MODULE_BUILD_DIR}/etc/udev"
# This freezed/crashed X with certain gfx cards (radeon R240)
rm -f -- "${MODULE_BUILD_DIR}/usr/lib/xorg/modules/libglamoregl.so"
+
+ # See if we should build more up to date versions of drivers
+ local drv
+ if [ -n "$REQUIRED_XORG_DRIVERS" ]; then
+ pinfo "Compiling requested xorg drivers from source"
+ mkdir -p "${MODULE_BUILD_DIR}/usr/lib/xorg/modules/drivers"
+ for drv in $REQUIRED_XORG_DRIVERS; do
+ pinfo "Compiling $drv"
+ cd "${MODULE_WORK_DIR}/src/${drv}" || perror "No src dir for xorg driver $drv"
+ ./autogen.sh || perror "Autogen for $drv failed"
+ ./configure || perror "configure for $drv failed"
+ make || perror "Make for $drv failed"
+ find . -type f -name "*_drv.so" -exec cp {} "${MODULE_BUILD_DIR}/usr/lib/xorg/modules/drivers" \;
+ done
+ fi
}
post_copy() {
diff --git a/core/modules/xorg/module.conf.ubuntu.17 b/core/modules/xorg/module.conf.ubuntu.17
index f20add1d..66ba3a90 100644
--- a/core/modules/xorg/module.conf.ubuntu.17
+++ b/core/modules/xorg/module.conf.ubuntu.17
@@ -19,14 +19,29 @@ REQUIRED_INSTALLED_PACKAGES="
xserver-xorg-input-synaptics$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-input-wacom$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-input-libinput$UBUNTU_XORG_PKG_SUFFIX
- xserver-xorg-video-ati$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-fbdev$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-intel$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-nouveau$UBUNTU_XORG_PKG_SUFFIX
- xserver-xorg-video-radeon$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-sisusb$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-vesa$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-vmware$UBUNTU_XORG_PKG_SUFFIX
+
+ libdrm-dev
+ libgbm-dev
+ libgl-dev
+ libgl1-mesa-dev
+ libudev-dev
+ pkg-config
+ x11proto-core-dev
+ x11proto-dri2-dev
+ x11proto-fonts-dev
+ x11proto-randr-dev
+ x11proto-render-dev
+ x11proto-video-dev
+ x11proto-xext-dev
+ x11proto-xf86dri-dev
+ xserver-xorg-dev
+ xutils-dev
"
REQUIRED_CONTENT_PACKAGES="
fonts-dejavu-core
@@ -46,11 +61,9 @@ REQUIRED_CONTENT_PACKAGES="
xserver-xorg-input-libinput$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-input-synaptics$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-input-wacom$UBUNTU_XORG_PKG_SUFFIX
- xserver-xorg-video-ati$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-fbdev$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-intel$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-nouveau$UBUNTU_XORG_PKG_SUFFIX
- xserver-xorg-video-radeon$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-sisusb$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-vesa$UBUNTU_XORG_PKG_SUFFIX
xserver-xorg-video-vmware$UBUNTU_XORG_PKG_SUFFIX
@@ -72,4 +85,15 @@ REQUIRED_CONTENT_PACKAGES="
REQUIRED_DIRECTORIES+="
/usr/lib
"
+# TODO: Required because the shipped ones crash on VT switch as of 2017-11-24
+# Remove when fixed in ubuntu repos
+REQUIRED_XORG_DRIVERS="
+ xf86-video-ati
+ xf86-video-amdgpu
+"
+REQUIRED_LIBRARIES+="
+ amdgpu_drv
+ radeon_drv
+ ati_drv
+"
REQUIRED_FILES=""