summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan2015-08-05 17:57:39 -0700
committerIvan2015-08-05 17:57:39 -0700
commitc0ec513da6f19cb0346a4ba5badff29f7703c457 (patch)
treef8c9e0f3a9c84722ce66733285aad2474758bd8c
downloadaur-c0ec513da6f19cb0346a4ba5badff29f7703c457.tar.gz
Initiali commit for DisplayLink USB 3.0 Linux Driver
-rw-r--r--.SRCINFO21
-rw-r--r--99-displaylink.rules1
-rw-r--r--PKGBUILD88
-rw-r--r--displaylink.install18
-rw-r--r--displaylink.service14
5 files changed, 142 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..27e7f7e6ea9b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,21 @@
+pkgbase = displaylink
+ pkgdesc = DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux
+ pkgver = 1.0.68
+ pkgrel = 1
+ url = http://www.displaylink.com/downloads/ubuntu.php
+ install = displaylink.install
+ arch = i686
+ arch = x86_64
+ license = custom
+ license = GPL2
+ license = LGPL2.1
+ depends = dkms
+ source = http://downloads.displaylink.com/publicsoftware/DisplayLink-Ubuntu-1.0.68.zip
+ source = 99-displaylink.rules
+ source = displaylink.service
+ md5sums = 3589332fd5ad70b3d24d9bc512d78b48
+ md5sums = b3919af46369e551f94589e1d1c799ec
+ md5sums = 7e18667b7c0ca55d977a6a3ebbe1cbfe
+
+pkgname = displaylink
+
diff --git a/99-displaylink.rules b/99-displaylink.rules
new file mode 100644
index 000000000000..e9fd032de8b7
--- /dev/null
+++ b/99-displaylink.rules
@@ -0,0 +1 @@
+ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="179", ATTR{bNumInterfaces}=="*5", GROUP="plugdev", MODE="0660"
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..14ae1dc7ccf8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,88 @@
+# Maintainer: Ivan <hideaki02@gmail.com>
+pkgname=displaylink
+pkgver=1.0.68
+pkgrel=1
+pkgdesc="DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux"
+arch=('i686' 'x86_64')
+url="http://www.displaylink.com/downloads/ubuntu.php"
+license=('custom' 'GPL2' 'LGPL2.1')
+groups=()
+depends=('dkms')
+makedepends=()
+optdepends=()
+provides=()
+conflicts=()
+replaces=()
+backup=()
+options=()
+install=${pkgname}.install
+changelog=
+source=(http://downloads.displaylink.com/publicsoftware/DisplayLink-Ubuntu-$pkgver.zip 99-displaylink.rules displaylink.service)
+noextract=()
+md5sums=('3589332fd5ad70b3d24d9bc512d78b48'
+ 'b3919af46369e551f94589e1d1c799ec'
+ '7e18667b7c0ca55d977a6a3ebbe1cbfe')
+
+build() {
+ chmod +x displaylink-driver-$pkgver.run
+ ./displaylink-driver-$pkgver.run --target $pkgname-$pkgver --noexec
+ cp 99-displaylink.rules $pkgname-$pkgver
+ cp displaylink.service $pkgname-$pkgver
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ COREDIR=$pkgdir/usr/lib/displaylink
+ LOGSDIR=$pkgdir/var/log/displaylink
+ mkdir -p $COREDIR
+ mkdir -p $LOGSDIR
+ chmod 0755 $COREDIR
+ chmod 0750 $LOGSDIR
+
+ echo "Configuring EVDI DKMS module"
+ SRCDIR=$pkgdir/usr/src/evdi-$pkgver
+ mkdir -p "$SRCDIR"
+ tar xf "evdi-$pkgver-src.tar.gz" -C "$SRCDIR"
+
+ if [ "$CARCH" == "i686" ]; then
+ ARCH="x86"
+ elif [ "$CARCH" == "x86_64" ]; then
+ ARCH="x64"
+ fi
+ local DLM="$ARCH/DisplayLinkManager"
+ echo "Installing $DLM"
+ cp -f $DLM $COREDIR
+
+ echo "Installing libraries"
+ local LIBEVDI="$ARCH/libevdi.so"
+ local LIBUSB="$ARCH/libusb-1.0.so.0.1.0"
+
+ mv -f $LIBEVDI $COREDIR
+ mv -f $LIBUSB $COREDIR
+ ln -s /usr/lib/displaylink/libusb-1.0.so.0.1.0 $COREDIR/libusb-1.0.so.0
+ ln -s /usr/lib/displaylink/libusb-1.0.so.0.1.0 $COREDIR/libusb-1.0.so
+
+ chmod 0755 $COREDIR/DisplayLinkManager
+ chmod 0755 $COREDIR/libevdi.so
+ chmod 0755 $COREDIR/libusb-1.0.so.0.1.0
+
+ echo "Installing firmware packages"
+ cp -f *.spkg $COREDIR
+ chmod 0644 $COREDIR/*.spkg
+
+ echo "Installing license file"
+ cp -f LICENSE $COREDIR
+ chmod 0644 $COREDIR/LICENSE
+
+ echo "Adding udev rule for DisplayLink DL-3xxx/5xxx devices"
+ mkdir -p $pkgdir/etc/udev/rules.d/
+ cp 99-displaylink.rules $pkgdir/etc/udev/rules.d/
+ chmod 0644 $pkgdir/etc/udev/rules.d/99-displaylink.rules
+
+ echo "Installing DLM systemd service"
+ mkdir -p $pkgdir/usr/lib/systemd/system/
+ cp displaylink.service $pkgdir/usr/lib/systemd/system/
+ chmod 0644 $pkgdir/usr/lib/systemd/system/displaylink.service
+}
+
diff --git a/displaylink.install b/displaylink.install
new file mode 100644
index 000000000000..082dbc17f60a
--- /dev/null
+++ b/displaylink.install
@@ -0,0 +1,18 @@
+# old version (without -$pkgrel): ${1%%-*}
+# new version (without -$pkgrel): ${2%%-*}
+
+post_install() {
+ dkms install evdi/${1%%-*}
+}
+
+pre_upgrade() {
+ pre_remove ${2%%-*}
+}
+
+post_upgrade() {
+ post_install ${1%%-*}
+}
+
+pre_remove() {
+ dkms remove evdi/${1%%-*} --all
+}
diff --git a/displaylink.service b/displaylink.service
new file mode 100644
index 000000000000..8357cadc1507
--- /dev/null
+++ b/displaylink.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=DisplayLink Manager Service
+After=display-manager.service
+Conflicts=getty@tty7.service
+
+[Service]
+ExecStartPre=/sbin/modprobe evdi
+ExecStart=/usr/lib/displaylink/DisplayLinkManager
+Restart=always
+WorkingDirectory=/usr/lib/displaylink
+RestartSec=5
+
+[Install]
+WantedBy=multi-user.target