mirror of
https://github.com/moparisthebest/arch-ppa
synced 2024-12-03 05:52:15 -05:00
update displaylink+evdi
This commit is contained in:
parent
06aaaa1dc0
commit
fae0f9500a
1
src/displaylink/.gitignore
vendored
1
src/displaylink/.gitignore
vendored
@ -1,6 +1,7 @@
|
||||
*.swp
|
||||
*.tar.gz
|
||||
*.tar.xz
|
||||
*.tar.zst
|
||||
*.zip
|
||||
pkg/
|
||||
src/
|
||||
|
@ -1,30 +1,36 @@
|
||||
# Maintainer: rHermes <teodor_spaeren@riseup.net>
|
||||
# Maintainer: bnavigator <code@bnavigator.de>
|
||||
# Contributor: PlusMinus
|
||||
# Contributor: rhabbachi
|
||||
|
||||
pkgname=displaylink
|
||||
pkgver=5.2.14
|
||||
pkgver=5.4.1
|
||||
_releasedate=2021-09
|
||||
_pkgfullver=5.4.1-55.174
|
||||
pkgrel=1
|
||||
pkgdesc="Linux driver for DL-6xxx, DL-5xxx, DL-41xx and DL-3x00"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.displaylink.com/downloads/ubuntu.php"
|
||||
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
|
||||
url=""
|
||||
license=('custom' 'GPL2' 'LGPL2.1')
|
||||
depends=('evdi>=1.5.0' 'libusb>=1.0.0')
|
||||
depends=('evdi>=1.9.1'
|
||||
'libusb>=1.0.0')
|
||||
makedepends=('grep' 'gawk' 'wget')
|
||||
install=
|
||||
changelog="release-note.txt"
|
||||
source=(displaylink-driver-$pkgver.zip::https://www.displaylink.com/downloads/file?id=1369
|
||||
udev.sh
|
||||
changelog="displaylink-release-notes-${pkgver}.txt"
|
||||
source=(displaylink-driver-${pkgver}.zip::https://www.synaptics.com/sites/default/files/exe_files/${_releasedate}/DisplayLink%20USB%20Graphics%20Software%20for%20Ubuntu${pkgver}-EXE.zip
|
||||
displaylink-release-notes-${pkgver}.txt::https://www.synaptics.com/sites/default/files/release_notes/${_releasedate}/DisplayLink%20USB%20Graphics%20Software%20for%20Ubuntu${pkgver}-Release%20Notes.txt
|
||||
DISPLAYLINK-EULA
|
||||
udev.sh
|
||||
99-displaylink.rules
|
||||
displaylink.service
|
||||
displaylink-sleep.sh)
|
||||
md5sums=('a96ae6fc0d244ec4f9a8e9482f6c1535'
|
||||
'd5de775e41af06edbd8073adc490139d'
|
||||
'20495d81c7d2540910ef86dc437b7fac'
|
||||
'c141a15e973481c7d961f8e135627ca4'
|
||||
'7cbd9ab2ac79ba66e8297689c6e5483e')
|
||||
|
||||
DLAGENTS=('https::/usr/bin/wget -O %o --post-data=fileId=1369&accept_submit=Accept %u')
|
||||
sha256sums=('0cc71807122d7bcafab422d7b4bd707018a2f28005bce4fae9f585f4e5e63aae'
|
||||
'895a2100cdebf217f43873761554cd179e9eaa498649c9eb68f1f007797fbf83'
|
||||
'2f81fea43332a62b2cf1dd47e56ea01caf1e886bcd16c3f82b18bfe148fb21a9'
|
||||
'dc41ae8a2c287fc50fdda65bad8b0ffd76726f7773c25e1b0c5b7de95cecbdb6'
|
||||
'c08a4726cf4e2f92c7cab00168ae9cc8d69d36a67c570609396a4a674934245a'
|
||||
'342e83abfe2a38d5635ea928345e933d2ad127ebd3f7caca476663d4f583684b'
|
||||
'8be4ab7616e38f91746bdd3e7fafe9004322a8be8e6722389746df9868d576e0')
|
||||
|
||||
# Update with > updpkgsums
|
||||
|
||||
@ -42,33 +48,35 @@ package() {
|
||||
install -d -m755 "$pkgdir/var/log/displaylink"
|
||||
|
||||
echo "Extracting DisplayLink Driver Package"
|
||||
cd $srcdir
|
||||
chmod +x displaylink-driver-$pkgver.run
|
||||
./displaylink-driver-$pkgver.run --target $pkgname-$pkgver --noexec
|
||||
cd "$pkgname-$pkgver"
|
||||
pushd $srcdir
|
||||
chmod +x displaylink-driver-${_pkgfullver}.run
|
||||
./displaylink-driver-${_pkgfullver}.run \
|
||||
--noexec \
|
||||
--target $pkgname-$pkgver \
|
||||
--nox11 \
|
||||
--noprogress
|
||||
test -d $pkgname-$pkgver || (echo "Extracting the driver with the .run installer failed"; exit 1)
|
||||
pushd $pkgname-$pkgver
|
||||
|
||||
if [ "$CARCH" == "i686" ]; then
|
||||
ARCH="x86"
|
||||
elif [ "$CARCH" == "x86_64" ]; then
|
||||
ARCH="x64"
|
||||
fi
|
||||
|
||||
ARCH+="-ubuntu-1604"
|
||||
case $CARCH in
|
||||
i686)
|
||||
ARCH="x86-ubuntu-1604" ;;
|
||||
x86_64)
|
||||
ARCH="x64-ubuntu-1604" ;;
|
||||
arm|armv6h|armv7h|aarch64)
|
||||
ARCH="arm-linux-gnueabihf" ;;
|
||||
esac
|
||||
|
||||
echo "Installing DisplayLink Manager $ARCH"
|
||||
install -D -m755 $ARCH/DisplayLinkManager $COREDIR/DisplayLinkManager
|
||||
|
||||
# I wonder if this is even necessary but I'm too lazy to find out
|
||||
echo "Creating symlinks for evdi and libusb"
|
||||
ln -s $(ldconfig -p | grep libevdi | awk 'NR==1{print $4}') $COREDIR/libevdi.so
|
||||
|
||||
ln -s $(ldconfig -p | grep libusb- | awk 'NR==1{print $4}') $COREDIR/libusb-1.0.so.0.1.0
|
||||
ln -s $(ldconfig -p | grep libusb- | awk 'NR==1{print $4}') $COREDIR/libusb-1.0.so.0
|
||||
ln -s $(ldconfig -p | grep libusb- | awk 'NR==1{print $4}') $COREDIR/libusb-1.0.so
|
||||
|
||||
echo "Installing firmware packages"
|
||||
install -D -m644 *.spkg $COREDIR
|
||||
|
||||
echo "Installing license file"
|
||||
install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||
popd
|
||||
popd
|
||||
install -D -m644 DISPLAYLINK-EULA "${pkgdir}/usr/share/licenses/${pkgname}/DISPLAYLINK-EULA"
|
||||
|
||||
}
|
||||
|
@ -1,112 +0,0 @@
|
||||
=============================================================================
|
||||
=============================================================================
|
||||
|
||||
DisplayLink Ubuntu Software Release Note
|
||||
|
||||
Version: 4.2.29
|
||||
Date: 23th Feb 2018
|
||||
|
||||
DisplayLink DL-3xx0 / DL-5xx0 Firmware Version: 9.5.18.93117
|
||||
DisplayLink DL-41xx Firmware Version: 9.5.20.93215
|
||||
DisplayLink DL-6xxx Firmware Version: 9.5.18.93117
|
||||
Extensible Virtual Display Interface version included: 1.5.0-r2
|
||||
|
||||
=============================================================================
|
||||
=============================================================================
|
||||
|
||||
|
||||
A. Introduction
|
||||
===============
|
||||
|
||||
This is DisplayLink Driver Software 4.2.0 for Ubuntu. It provides production quality support for DisplayLink USB 3.0 devices on specific variants of desktop Ubuntu Linux.
|
||||
|
||||
The driver enables video support for products using DisplayLink USB 3.0 technology. Standard native Ubuntu drivers provide support for DisplayLink audio and Ethernet interfaces.
|
||||
|
||||
|
||||
A1. Important notes about DL-6xxx, DL5xxx, DL-3x00 and DL-41xx Firmware
|
||||
=======================================================================
|
||||
|
||||
This software release contains an embedded firmware image. DL-6xxx, DL-5xxx, DL-3xxx and DL-41xx devices will be automatically upgraded with this firmware upon connection if required.
|
||||
|
||||
The upgrade is silent, therefore screens connected to DL-6xxx, DL-5xxx, DL-3xxx or DL-41xx devices may require a few seconds to appear when devices are connected for the first time, or after devices have been used on other platforms and OSes.
|
||||
|
||||
B. Contents
|
||||
===========
|
||||
|
||||
A. Introduction
|
||||
A1. Important notes about DL-6xxx, DL-5xxx, DL-3xxx and DL-41xx Firmware
|
||||
B. Contents
|
||||
C. Issues fixed
|
||||
D. Supported O/S variants
|
||||
E. Release components
|
||||
F. How to Install
|
||||
G. Supported Features & Hardware
|
||||
H. Limitations & Known issues
|
||||
I. Future Development
|
||||
|
||||
C. Issues fixed
|
||||
===============
|
||||
|
||||
Issues fixed since DisplayLink Driver Software v4.1.0 for Ubuntu (4.1.9)
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Sometimes PC may become unresponsive when a DisplayLink display is connected. (27139)
|
||||
|
||||
D. Supported O/S variants
|
||||
=========================
|
||||
|
||||
This release has been prepared to be compatible with Ubuntu 17.10 and Ubuntu 16.04. Other variants and editions may be compatible if they meet minimum O/S requirements, but are not supported by DisplayLink.
|
||||
|
||||
The Software contains binaries which work on Intel x86 platform (32 bit and 64 bit).
|
||||
Minimum supported Linux Kernel version is 3.16.
|
||||
Minimum supported Xorg version is 1.16.
|
||||
|
||||
E. Release components
|
||||
=====================
|
||||
The Software consists of an open-source kernel mode driver (EVDI) with an accompanying library (libevdi), and a supporting binary application compatible with Intel x86 platform.
|
||||
Source code for the open-source components can be found at DisplayLink's GitHub, https://github.com/DisplayLink
|
||||
|
||||
F. How to Install
|
||||
=================
|
||||
|
||||
To install the release, from a terminal window, with root permissions use the command:
|
||||
|
||||
sudo ./displaylink-driver-XXXX.run
|
||||
|
||||
Where displaylink-driver-XXXX.run is the name of the extracted DisplayLink driver.
|
||||
|
||||
The dkms framework is required for installation of DisplayLink. This can be installed with the command: sudo apt-get install dkms
|
||||
|
||||
More detailed information on installation can be found at http://support.displaylink.com/knowledgebase/articles/615714#ubuntu
|
||||
|
||||
G. Supported Features & Hardware
|
||||
================================
|
||||
|
||||
This driver will support up to 2 displays connected to DisplayLink devices. More than 2 DisplayLink displays may work, but not supported or tested by DisplayLink.
|
||||
|
||||
Resolutions up to 4K are supported on the appropriate DisplayLink hardware.
|
||||
|
||||
Device families supported:
|
||||
- DL-6xxx
|
||||
- DL-5xxx
|
||||
- DL-41xx
|
||||
- DL-3xxx
|
||||
|
||||
DL-1x5 and DL-1x0 devices use the open source udl driver, which is not developed or maintained by DisplayLink.
|
||||
|
||||
H. Limitations & Known issues
|
||||
=============================
|
||||
|
||||
A list of limitations and known issues can be found here:
|
||||
http://support.displaylink.com/knowledgebase/articles/641668
|
||||
|
||||
I. Future Development
|
||||
======================
|
||||
|
||||
DisplayLink are open to suggestions and feedback on improving the proposed architecture and will gladly review patches or proposals from the developer community. Please find a current list of areas we identify as requiring attention below.
|
||||
|
||||
- In this release, the user mode driver service is running with root permissions. In future versions, we would like to reduce the privilege level required for this process – e.g. by using a separate low-privileged user and a separate group, to ensure the permissions needed for driving DisplayLink screens are as low as possible.
|
||||
|
||||
- The communication between the EVDI kernel module and the wrapper libevdi library is not access-controlled or authenticated. This could be improved in future releases, making it harder to compromise the data EVDI is sending and receiving.
|
||||
|
||||
- EVDI kernel module driver is currently a platform_driver, for multiple reasons; most importantly because virtual displays are not discoverable, i.e. cannot be enumerated at the hardware level. EVDI is also a generic device, not tied to any particular kind of device, transport layer or a bus.
|
@ -3,71 +3,85 @@
|
||||
|
||||
# Tested with Kernel 4.16, Dell D3000 SuperSpeed USB 3.0 Docking Station, 17e9:4318 DisplayLink
|
||||
|
||||
set -u
|
||||
pkgname='evdi-git'
|
||||
pkgver=1.6.2.r2.g75536ec
|
||||
pkgver=1.9.1.r48.gd6b2841
|
||||
_pkgver="${pkgver%%.r*}"
|
||||
pkgrel=1
|
||||
pkgdesc='kernel module that enables management of multiple screens, primarily for DisplayLink USB VGA DVI HDMI DisplayPort video'
|
||||
pkgdesc+=' git version.'
|
||||
arch=('i686' 'x86_64')
|
||||
url='https://github.com/DisplayLink/evdi'
|
||||
license=('GPL')
|
||||
depends=('dkms')
|
||||
makedepends=('git' 'libdrm')
|
||||
makedepends+=('linux-headers')
|
||||
provides=("evdi=${_pkgver}")
|
||||
conflicts=('evdi')
|
||||
install=${pkgname}.install
|
||||
changelog="${pkgname}.Changelog"
|
||||
_srcdir="${pkgname%-git}"
|
||||
source=(
|
||||
'git+https://github.com/DisplayLink/evdi/'
|
||||
'relro.patch'
|
||||
'git+https://github.com/DisplayLink/evdi'
|
||||
)
|
||||
md5sums=('SKIP'
|
||||
'05e64dd295a66c030139d0c8f6f7013b')
|
||||
sha256sums=('SKIP'
|
||||
'ff03b5a804af826e6b0678cd4d821b5ecd2c5bf04ea7c465751f83b28e928786')
|
||||
source[0]+='#branch=devel'
|
||||
md5sums=('SKIP')
|
||||
sha256sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
set -u
|
||||
cd "${_srcdir}"
|
||||
git describe --long --tags | sed -e 's/^v//' -e 's/\([^-]*-g\)/r\1/' -e 's/-/./g'
|
||||
set +u
|
||||
local _modver _rev
|
||||
#_modver="$(awk -F '=' '/MODVER=/ {print $2}' module/Makefile)"
|
||||
_rev="$(git describe --long --tags | sed -e 's/^v//' -e 's/\([^-]*-g\)/r\1/' -e 's/-/./g')"
|
||||
if [ -z "${_modver:-}" ]; then
|
||||
printf '%s\n' "${_rev}"
|
||||
else
|
||||
printf '%s.r%s\n' "${_modver}" "${_rev##*.r}"
|
||||
fi
|
||||
}
|
||||
|
||||
prepare() {
|
||||
set -u
|
||||
cd "${_srcdir}"
|
||||
local _src
|
||||
for _src in "${source[@]}"; do
|
||||
_src="${_src%%::*}"
|
||||
for _src in "${source[@]%%::*}"; do
|
||||
_src="${_src##*/}"
|
||||
if [[ "${_src}" = *.patch ]]; then
|
||||
msg2 "Patch ${_src}"
|
||||
patch -Np1 -i "../${_src}"
|
||||
fi
|
||||
done
|
||||
set +u
|
||||
|
||||
# Fix build for kernel 5.4
|
||||
#sed -E -e 's:SUBDIRS=([^ ]+) :M=\1 &:g' -i 'module/Makefile'
|
||||
|
||||
sed -e 's:-Werror::g' -i 'Makefile'
|
||||
}
|
||||
|
||||
build() {
|
||||
set -u
|
||||
# We only need to build the library in this step, dmks will build the module
|
||||
#cd "${_srcdir}/library"
|
||||
# DKMS builds are hard to debug. We build it here and throw it away.
|
||||
cd "${_srcdir}"
|
||||
# DKMS builds are hard to debug. We can build it here to debug the errors.
|
||||
if :; then
|
||||
# We only need to build the library in this step, dmks will build the module
|
||||
cd 'library'
|
||||
fi
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
make
|
||||
set +u
|
||||
}
|
||||
|
||||
package() {
|
||||
set -u
|
||||
cd "${_srcdir}"
|
||||
install -Dpm755 "library/lib${pkgname%-git}.so" -t "${pkgdir}/usr/lib/"
|
||||
install -Dpm755 "library/lib${pkgname%-git}.so"* -t "${pkgdir}/usr/lib/"
|
||||
|
||||
pushd "${pkgdir}/usr/lib/" > /dev/null
|
||||
local _libs=(*.so.*)
|
||||
if [ "${#_libs[@]}" -ne 1 ]; then
|
||||
echo "Too many libs"
|
||||
false
|
||||
fi
|
||||
_libs="${_libs[0]}"
|
||||
local _libase="${_libs%.so*}.so"
|
||||
ln -sf "${_libs}" "${_libase}"
|
||||
ln -sf "${_libs}" "${_libase}.0" # bad soname
|
||||
popd > /dev/null
|
||||
|
||||
local _DKMS="${pkgdir}/usr/src/${pkgname%-git}-${_pkgver}"
|
||||
install -Dpm644 module/* -t "${_DKMS}/"
|
||||
make -j1 -C "${_DKMS}" clean
|
||||
set +u
|
||||
rm -f "${_DKMS}/evdi.mod"
|
||||
}
|
||||
set +u
|
||||
|
@ -1,12 +0,0 @@
|
||||
v1.3.43
|
||||
Adding support for indicating an area limit a client that connects to EVDI has.
|
||||
|
||||
v1.3.42
|
||||
Fixes for Kernels 4.9 and 4.10.
|
||||
API change: Extension of evdi_connect function, allowing to register modes that the client supports, regardless of the fact they are not necessarily listed in the EDID of a monitor.
|
||||
|
||||
v1.2.64
|
||||
Highlights: fixes for kernel 4.8.
|
||||
|
||||
v1.2.55
|
||||
Module and library code to be included in DisplayLink USB Graphics Software for Ubuntu, version 1.2.
|
@ -1,21 +0,0 @@
|
||||
# old version (without -$pkgrel): ${1%%-*}
|
||||
# new version (without -$pkgrel): ${2%%-*}
|
||||
|
||||
post_install() {
|
||||
cat << EOF
|
||||
Steps:
|
||||
|
||||
0. Install this package
|
||||
|
||||
1. Install display driver package
|
||||
|
||||
2. Reboot or
|
||||
|
||||
2a. sudo modprobe evdi
|
||||
2b. dmesg -w # watch for evdi messages
|
||||
2c. Replug USB display device
|
||||
|
||||
3. Enable screen
|
||||
EOF
|
||||
}
|
||||
|
1
src/evdi/.gitignore
vendored
1
src/evdi/.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
*.tar.gz
|
||||
*.tar.xz
|
||||
*.tar.zst
|
||||
pkg/
|
||||
src/
|
||||
|
@ -1,15 +1,15 @@
|
||||
# Maintainer: mwawrzyniak
|
||||
# Maintainer: mwawrzyniak <arch at cmstactical dot net>
|
||||
# Contributor: PlusMinus
|
||||
|
||||
pkgname=evdi
|
||||
pkgver=1.6.2
|
||||
pkgver=1.9.1
|
||||
pkgrel=1
|
||||
pkgdesc="A Linux® kernel module that enables management of multiple screens."
|
||||
arch=('i686' 'x86_64')
|
||||
url="https://github.com/DisplayLink/evdi"
|
||||
license=('GPL')
|
||||
groups=()
|
||||
depends=(dkms libdrm)
|
||||
depends=(glibc dkms libdrm)
|
||||
makedepends=()
|
||||
optdepends=()
|
||||
provides=()
|
||||
@ -19,11 +19,9 @@ backup=()
|
||||
options=()
|
||||
install=$pkgname.install
|
||||
changelog=$pkgname.Changelog
|
||||
source=($pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/DisplayLink/evdi/archive/v$pkgver.tar.gz
|
||||
relro.patch)
|
||||
source=($pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/DisplayLink/evdi/archive/v$pkgver.tar.gz)
|
||||
noextract=()
|
||||
md5sums=('11e968a27f2432d2c50738976b7f847f'
|
||||
'05e64dd295a66c030139d0c8f6f7013b')
|
||||
md5sums=('e56d5acf08d67706e297a9a8c09e0a20')
|
||||
|
||||
prepare() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
@ -1,3 +1,28 @@
|
||||
v1.9.1
|
||||
- Add support for 5.11 and 5.12 kernels
|
||||
|
||||
v1.9.0
|
||||
- Fix evdi build on v5.10 kernel
|
||||
|
||||
v1.7.2
|
||||
- Add support for kernel 5.9 and 5.10
|
||||
|
||||
v1.8.0
|
||||
- add i2c adapter when creating an EVDI node
|
||||
|
||||
v1.7.0
|
||||
- support for kernels 5.3, 5.4, 5.5, 5.6
|
||||
- drop support for kernels pre-4.15
|
||||
- various crashes fixes
|
||||
- per card hardware cursor option
|
||||
- install/uninstall targets in Makefiles
|
||||
|
||||
v1.6.4
|
||||
- Retry drop drm master when previous attempt failed
|
||||
|
||||
v1.6.3
|
||||
- reset IOCTL on EAGAIN and EINTR
|
||||
|
||||
v1.6.2
|
||||
- support for 5.2 kernel
|
||||
- Intel-IOMMU workaround
|
||||
|
Loading…
Reference in New Issue
Block a user