Description of problem: DisplayLink USB port replicators do not work ooB in mageia. Installing fedora rpms from above url basically gets them working.
Assigning this package request to all packagers collectively. On a voluntary basis, one of them might, if there are no license or other legal issues, want to integrate it to the distribution and maintain it for bug and security fixes. You might also want to join the packager team to maintain this piece of software: see https://wiki.mageia.org/en/Becoming_a_Mageia_Packager (Btw, new packages always need to be added to cauldron, first. Once they are in cauldron, a backport request can be made to add them to Stable Mageia)
Assignee: bugsquad => pkg-bugsVersion: 6 => CauldronSeverity: normal => enhancementCC: (none) => marja11Source RPM: (none) => displaylink
Thank you. I forgot to mention: USB, Sound, NIC *do* work ooB, graphics *not*. The above package adds evdi dkms kernel module.
(In reply to Christian Müller from comment #2) > Thank you. I forgot to mention: USB, Sound, NIC *do* work ooB, graphics > *not*. The above package adds evdi dkms kernel module. I should have assigned to the kernel and driver maintainers, then. Re-assigning
Assignee: pkg-bugs => kernel
CC: (none) => joelp
Hello, This feature seems to be asked more and more frequently. https://www.mageialinux-online.org/forum/topic-26887-1+double-ecran-displayport-et-displaylink.php
CC: (none) => yves.brungard_mageia
CC: (none) => doktor5000
Hello everyone I once open a bug report on this asking the same. https://bugs.mageia.org/show_bug.cgi?id=30823 Displaylink already has a driver on this but only for ubuntu, this is an .sh file that can be extracted and I worked on making it work with dnf instead of apt but I got stuck while creating the dkms stuff since I am not an expert on doing this. There is an rpm creation script from https://github.com/displaylink-rpm/displaylink-rpm This script creates a fedora, centos and other similar distros, I already changed the .spec and changed it to the mageia depenency names and the rpm file is created with out any problem both i586 and x64. Now the problem is that the created packages use fedora systemd scriplets (What luigi told me on dev irc chat) and this systemd scriplets do not work on mageia. I already tried this in fedora on my laptop and it works great, this downloads the original displaylink driver and changes it from that .sh file to an installable rpm file. It would be great that someone with dev experience to help change this from systemd scriplets to mageia working metod or create a patch for to make it work. If someone would help and guide me on this I can become a maintainer for this package... but I need a mentor and I haven´t been able to find it. I have 3 type of display link docks at work to test. Both Gen 1 and Gen 2 Lenovo branded and 1 HP branded... They all work with fedora and linux mint. Please Help, Regards,
CC: (none) => ezequiel_partida
*** Bug 30823 has been marked as a duplicate of this bug. ***
(In reply to Ezequiel Partida from comment #5) > > If someone would help and guide me on this I can become a maintainer for > this package... Hi, Do you mean to join the drafted spec file ?
Yes, I tried to work on this spec file before but it has systemd scriptlets not supported by mageia AFAIK. This dock stations are getting more common. The closes mandriva fork distro that supports it is OMV and it does work and I guess distro is closer to mageia than fedora is. They added evdi patch to the kernel. https://abf-downloads.openmandriva.org/rolling/repository/SRPMS/main/release/kernel-rc-6.6.0-0.rc3.1.src.rpm I am actually working on the next pagkages but I am not familiar with kernel stuff. https://abf-downloads.openmandriva.org/rolling/repository/SRPMS/non-free/release/displaylink-5.8-2.src.rpm https://abf-downloads.openmandriva.org/rolling/repository/SRPMS/main/release/evdi-1.14.1-1.src.rpm This is a lenovo dock with displaylink chipset. https://m.media-amazon.com/images/G/33/apparel/rcxgs/tile._CB483369929_.gif Regards ZekeMX
Hi ZekeMX I will have a quick look. /squidf
CC: (none) => chb0
The lenovo gif URL link posted is basically "empty". For the evdi kernel module, since its a completely off-tree module and doesn't require kernel patches, the best way is probably to add it as a dkms-evdi external kernel module, which is built on the fly. At most providing something like kmod-evdi in case we want to provide precompiled modules. Even better, the dkms-evdi can be generated as a subpackage from the same package used to build the libraries and the other tools required to get it working properly. In this way you have to upgrade only one package and not two. You might look at other dkms-* packages to inspire the SPEC file. We can keep this bug open to monitor the progress in this subject, including testing the final versions on real hardware.
CC: (none) => ghibomgx
(In reply to christian barranco from comment #9) > Hi ZekeMX > I will have a quick look. > /squidf Hi Squidf! Any Ideas? I am checking on making it dkms but to be honest I am not skilled yet on that. Regards
(In reply to Ezequiel Partida from comment #11) > (In reply to christian barranco from comment #9) > > Hi ZekeMX > > I will have a quick look. > > /squidf > > Hi Squidf! > > Any Ideas? > > I am checking on making it dkms but to be honest I am not skilled yet on > that. You'll become skilled about that. It's not that difficult. Get one of the dkms-* mageia source package. E.g. dkms-rtl8192eu or dkms-vhba, among the latests, rename to dkms-evdi. Take the archive evdi-1.14.1.tar.gz upstream. In the spec file, in the %install section copy the content of the "module" subdir of the evdi-1.14.1.tar.gz tarball into the %{_usrsrc}%{module}-%{version}-%{release}/. Adjust the dkms.conf accordingly so that PACKAGE_NAME, PACKAGE_VERSION and BUILT_MODULE_NAME[0], and DEST_MODULE_LOCATION[0] would reflect the newer module names and version, e.g.: PACKAGE_NAME="evdi" PACKAGE_VERSION="1.14.1" ... BUILT_MODULE_NAME[0]="evdi" DEST_MODULE_LOCATION[0]="/kernel/drivers/drm/gpu/evdi" Adjust the %files list, and %description, and it's almost there.
Oh MAN! :D :D I've been trying it for 12hrs with out success... I better jump a cliff.. LOL evdi package does create lib64evdi, lib64evdi-devel python-evdi. But Displaylink is giving me a headache and dkms-evdi even worst. The kernel link change since it was updated. https://abf-downloads.openmandriva.org/rolling/repository/SRPMS/main/release/kernel-rc-6.6.0-0.rc7.1.src.rpm Dock Station Image https://i.ebayimg.com/images/g/59YAAOSwFU1jWPmt/s-l1600.jpg
(In reply to Ezequiel Partida from comment #13) > Oh MAN! :D :D > > I've been trying it for 12hrs with out success... I better jump a cliff.. LOL > > evdi package does create lib64evdi, lib64evdi-devel python-evdi. > > But Displaylink is giving me a headache and dkms-evdi even worst. > > > The kernel link change since it was updated. > > https://abf-downloads.openmandriva.org/rolling/repository/SRPMS/main/release/ > kernel-rc-6.6.0-0.rc7.1.src.rpm > > > Dock Station Image > https://i.ebayimg.com/images/g/59YAAOSwFU1jWPmt/s-l1600.jpg welcome to the devel world... ;-) Well don't give up. First ensure you have all the pieces. Then try to configure X or Wayland to display something beside standard display. It could be even happen that your displaylink device is not even well supported... E.g. you need the kernel evdi modules. Note that in first attempts those can be built even outside packaging (you have just to execute the upstream make scripts). Of course once you do a make install there it will pollute your root / filesystem with files and kernel modules outside RPM packaging DB, which might be then difficult to track files when you have to remove them or when it maybe overlaps from those produced by packaging. For attempts maybe you could use a 2nd installation in a 2nd external disk. Once you have something that might work, you might refine the packages (libraries, utils and dkms modules).
(In reply to Giuseppe Ghibò from comment #14) > (In reply to Ezequiel Partida from comment #13) > > Oh MAN! :D :D > > > > I've been trying it for 12hrs with out success... I better jump a cliff.. LOL > > > > evdi package does create lib64evdi, lib64evdi-devel python-evdi. > > > > But Displaylink is giving me a headache and dkms-evdi even worst. > > > > > > The kernel link change since it was updated. > > > > https://abf-downloads.openmandriva.org/rolling/repository/SRPMS/main/release/ > > kernel-rc-6.6.0-0.rc7.1.src.rpm > > > > > > Dock Station Image > > https://i.ebayimg.com/images/g/59YAAOSwFU1jWPmt/s-l1600.jpg > > > welcome to the devel world... ;-) > > Well don't give up. First ensure you have all the pieces. Then try to > configure X or Wayland to display something beside standard display. It > could be even happen that your displaylink device is not even well > supported... I won't give up.. Believe me... LOL I need this driver to make it easier for me to work with mageia at work and use my two external monitors, the idea is to have mageia as main OS and windows on the other on a virtual machine like Qemu to do windows stuff when needed and invest more time on packaging. Most of my work can be done using teamviewer on mageia giving support to 2 or even more remote users at te same time and windows for some Active Directory things I am working once and a while. So I am working on it slowly analyzing the details. > E.g. you need the kernel evdi modules. Note that in first attempts those can > be built even outside packaging (you have just to execute the upstream make > scripts). Of course once you do a make install there it will pollute your > root / filesystem with files and kernel modules outside RPM packaging DB, > which might be then difficult to track files when you have to remove them or > when it maybe overlaps from those produced by packaging. For attempts maybe > you could use a 2nd installation in a 2nd external disk. > > Once you have something that might work, you might refine the packages > (libraries, utils and dkms modules). I wonder if this is what is causing me problems with Displaylink package.I am leaving dkms-evdi as the last packager. I first focused on evdi-1.14.1-1.src.rpm with seems to build fine and I was able to install them (lib64evdi, lib64evdi-devel and python-evdi), I am now working with displaylink-5.8-2.src.rpm but I am getting an rpath error. </> bm -l displaylink creating package list processing package displaylink-5.8-%mkrel 1 building source and binary packages Executing(%prep): /bin/sh -e /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.5Bpzkw + umask 022 + cd /home/ezequiel/.mgarepo/displaylink/BUILD + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + cd /home/ezequiel/.mgarepo/displaylink/BUILD + rm -rf displaylink-5.8 + /usr/bin/mkdir -p displaylink-5.8 + cd displaylink-5.8 + /usr/lib/rpm/rpmuncompress -x /home/ezequiel/.mgarepo/displaylink/SOURCES/DisplayLink%20USB%20Graphics%20Software%20for%20Ubuntu5.8-EXE.zip + STATUS=0 + '[' 0 -ne 0 ']' + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + chmod +x displaylink-driver-5.8.0-63.33.run + ./displaylink-driver-5.8.0-63.33.run --noexec --keep Creating directory displaylink-driver-5.8.0-63.33 Verifying archive integrity... 100% MD5 checksums are OK. All good. Uncompressing DisplayLink Linux Driver 5.8.0-63.33 100% + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.TXKqHu + umask 022 + cd /home/ezequiel/.mgarepo/displaylink/BUILD + cd displaylink-5.8 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.heq5Vm + umask 022 + cd /home/ezequiel/.mgarepo/displaylink/BUILD + '[' 1 -eq 1 ']' + '[' /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64 '!=' / ']' + rm -rf /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64 ++ dirname /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64 + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT + mkdir /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64 + cd displaylink-5.8 + '[' 1 -eq 1 ']' + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + cp -a displaylink-driver-5.8.0-63.33/x64-ubuntu-1604/DisplayLinkManager /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + cd displaylink-driver-5.8.0-63.33 + cp ella-dock-release.spkg firefly-monitor-release.spkg navarro-dock-release.spkg ridge-dock-release.spkg /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/ + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/udev/rules.d /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d + sed -i -e s,/opt/displaylink,/usr/libexec/displaylink,g displaylink-installer.sh service-installer.sh udev-installer.sh + sed -i -e 's, /lib/systemd,/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd,g' -e 's, /etc/pm, /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm,g' service-installer.sh + chmod +x displaylink-installer.sh service-installer.sh udev-installer.sh + ./udev-installer.sh systemd /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/udev/rules.d/99-displaylink.rules /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/udev.sh + . ./service-installer.sh + create_dl_service systemd /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr + local init=systemd + local displaylink_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local install_prefix=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr + case $init in + add_systemd_service /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr + local service_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr + service_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system + local service_path=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system/displaylink-driver.service + cat + chmod 0644 /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system/displaylink-driver.service + create_pm_script systemd /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local init=systemd + local displaylink_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local suspend=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh + cat + case $init in + cat + chmod 0755 /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh + link_pm_scripts systemd /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local init=systemd + local displaylink_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local suspend=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh + case $init in + ln -sf /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system-sleep/displaylink.sh + [[ -d /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d ]] + ln -sf /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d/10_displaylink + rm /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d/10_displaylink + ln -s ../../../usr/libexec/displaylink/suspend.sh /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d/10_displaylink + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/modprobe.d + echo 'options evdi initial_device_count=4' + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/share/X11/xorg.conf.d + cp /home/ezequiel/.mgarepo/displaylink/SOURCES/20-displaylink.conf /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/share/X11/xorg.conf.d/ + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/var/log/displaylink /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/logrotate.d + cp /home/ezequiel/.mgarepo/displaylink/SOURCES/displaylink.logrotate /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/logrotate.d/ + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system-preset + cp /home/ezequiel/.mgarepo/displaylink/SOURCES/95-displaylink.preset /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system-preset/ + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 5.8-1.mga9 --unique-debug-suffix -5.8-1.mga9.x86_64 --unique-debug-src-base displaylink-5.8-1.mga9.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /home/ezequiel/.mgarepo/displaylink/BUILD/displaylink-5.8 + /usr/lib/rpm/check-buildroot + '[' -n '' ']' + /usr/share/spec-helper/clean_files + '[' -n '' ']' + /usr/share/spec-helper/compress_files .xz + '[' -n '' ']' + /usr/share/spec-helper/relink_symlinks + '[' -n '' ']' + /usr/share/spec-helper/clean_perl + '[' -n '' ']' + /usr/share/spec-helper/lib_symlinks + '[' -n '' ']' + /usr/share/spec-helper/gprintify + '[' -n '' ']' + /usr/share/spec-helper/fix_mo + '[' -n '' ']' + /usr/share/spec-helper/fix_pamd + '[' -n '' ']' + /usr/share/spec-helper/remove_info_dir + '[' -n '' ']' + /usr/share/spec-helper/fix_eol + '[' -n '' ']' + /usr/share/spec-helper/check_desktop_files + '[' -n '' ']' + /usr/share/spec-helper/check_elf_files Warning: unused libraries in /usr/libexec/displaylink/DisplayLinkManager: librt.so.1 libdl.so.2 libpthread.so.0 + /usr/lib/rpm/check-rpaths ******************************************************************************* * * WARNING: 'check-rpaths' detected a broken RPATH OR RUNPATH and will cause * 'rpmbuild' to fail. To ignore these errors, you can set the * '$QA_RPATHS' environment variable which is a bitmask allowing the * values below. The current value of QA_RPATHS is 0x0000. * * 0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor * issue but are introducing redundant searchpaths without * providing a benefit. They can also cause errors in multilib * environments. * 0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute * nor relative filenames and can therefore be a SECURITY risk * 0x0004 ... insecure RPATHs; these are relative RPATHs which are a * SECURITY risk * 0x0008 ... the special '$ORIGIN' RPATHs are appearing after other * RPATHs; this is just a minor issue but usually unwanted * 0x0010 ... the RPATH is empty; there is no reason for such RPATHs * and they cause unneeded work while loading libraries * 0x0020 ... an RPATH references '..' of an absolute path; this will break * the functionality when the path before '..' is a symlink * * * Examples: * - to ignore standard and empty RPATHs, execute 'rpmbuild' like * $ QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild my-package.src.rpm * - to check existing files, set $RPM_BUILD_ROOT and execute check-rpaths like * $ RPM_BUILD_ROOT=<top-dir> /usr/lib/rpm/check-rpaths * ******************************************************************************* ERROR 0004: file '/usr/libexec/displaylink/DisplayLinkManager' contains an insecure runpath '.' in [.] error: Bad exit status from /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.heq5Vm (%install) RPM build errors: Bad exit status from /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.heq5Vm (%install) error: failed! </> bm -l displaylink creating package list processing package displaylink-5.8-%mkrel 1 building source and binary packages Executing(%prep): /bin/sh -e /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.5Bpzkw + umask 022 + cd /home/ezequiel/.mgarepo/displaylink/BUILD + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + cd /home/ezequiel/.mgarepo/displaylink/BUILD + rm -rf displaylink-5.8 + /usr/bin/mkdir -p displaylink-5.8 + cd displaylink-5.8 + /usr/lib/rpm/rpmuncompress -x /home/ezequiel/.mgarepo/displaylink/SOURCES/DisplayLink%20USB%20Graphics%20Software%20for%20Ubuntu5.8-EXE.zip + STATUS=0 + '[' 0 -ne 0 ']' + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + chmod +x displaylink-driver-5.8.0-63.33.run + ./displaylink-driver-5.8.0-63.33.run --noexec --keep Creating directory displaylink-driver-5.8.0-63.33 Verifying archive integrity... 100% MD5 checksums are OK. All good. Uncompressing DisplayLink Linux Driver 5.8.0-63.33 100% + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.TXKqHu + umask 022 + cd /home/ezequiel/.mgarepo/displaylink/BUILD + cd displaylink-5.8 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.heq5Vm + umask 022 + cd /home/ezequiel/.mgarepo/displaylink/BUILD + '[' 1 -eq 1 ']' + '[' /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64 '!=' / ']' + rm -rf /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64 ++ dirname /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64 + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT + mkdir /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64 + cd displaylink-5.8 + '[' 1 -eq 1 ']' + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + cp -a displaylink-driver-5.8.0-63.33/x64-ubuntu-1604/DisplayLinkManager /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + cd displaylink-driver-5.8.0-63.33 + cp ella-dock-release.spkg firefly-monitor-release.spkg navarro-dock-release.spkg ridge-dock-release.spkg /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/ + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/udev/rules.d /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d + sed -i -e s,/opt/displaylink,/usr/libexec/displaylink,g displaylink-installer.sh service-installer.sh udev-installer.sh + sed -i -e 's, /lib/systemd,/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd,g' -e 's, /etc/pm, /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm,g' service-installer.sh + chmod +x displaylink-installer.sh service-installer.sh udev-installer.sh + ./udev-installer.sh systemd /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/udev/rules.d/99-displaylink.rules /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/udev.sh + . ./service-installer.sh + create_dl_service systemd /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr + local init=systemd + local displaylink_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local install_prefix=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr + case $init in + add_systemd_service /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr + local service_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr + service_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system + local service_path=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system/displaylink-driver.service + cat + chmod 0644 /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system/displaylink-driver.service + create_pm_script systemd /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local init=systemd + local displaylink_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local suspend=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh + cat + case $init in + cat + chmod 0755 /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh + link_pm_scripts systemd /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local init=systemd + local displaylink_dir=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink + local suspend=/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh + case $init in + ln -sf /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh/home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system-sleep/displaylink.sh + [[ -d /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d ]] + ln -sf /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/libexec/displaylink/suspend.sh /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d/10_displaylink + rm /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d/10_displaylink + ln -s ../../../usr/libexec/displaylink/suspend.sh /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/pm/sleep.d/10_displaylink + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/modprobe.d + echo 'options evdi initial_device_count=4' + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/share/X11/xorg.conf.d + cp /home/ezequiel/.mgarepo/displaylink/SOURCES/20-displaylink.conf /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/share/X11/xorg.conf.d/ + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/var/log/displaylink /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/logrotate.d + cp /home/ezequiel/.mgarepo/displaylink/SOURCES/displaylink.logrotate /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/etc/logrotate.d/ + mkdir -p /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system-preset + cp /home/ezequiel/.mgarepo/displaylink/SOURCES/95-displaylink.preset /home/ezequiel/.mgarepo/displaylink/BUILDROOT/displaylink-5.8-1.mga9.x86_64/usr/lib/systemd/system-preset/ + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 5.8-1.mga9 --unique-debug-suffix -5.8-1.mga9.x86_64 --unique-debug-src-base displaylink-5.8-1.mga9.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /home/ezequiel/.mgarepo/displaylink/BUILD/displaylink-5.8 + /usr/lib/rpm/check-buildroot + '[' -n '' ']' + /usr/share/spec-helper/clean_files + '[' -n '' ']' + /usr/share/spec-helper/compress_files .xz + '[' -n '' ']' + /usr/share/spec-helper/relink_symlinks + '[' -n '' ']' + /usr/share/spec-helper/clean_perl + '[' -n '' ']' + /usr/share/spec-helper/lib_symlinks + '[' -n '' ']' + /usr/share/spec-helper/gprintify + '[' -n '' ']' + /usr/share/spec-helper/fix_mo + '[' -n '' ']' + /usr/share/spec-helper/fix_pamd + '[' -n '' ']' + /usr/share/spec-helper/remove_info_dir + '[' -n '' ']' + /usr/share/spec-helper/fix_eol + '[' -n '' ']' + /usr/share/spec-helper/check_desktop_files + '[' -n '' ']' + /usr/share/spec-helper/check_elf_files Warning: unused libraries in /usr/libexec/displaylink/DisplayLinkManager: librt.so.1 libdl.so.2 libpthread.so.0 + /usr/lib/rpm/check-rpaths ******************************************************************************* * * WARNING: 'check-rpaths' detected a broken RPATH OR RUNPATH and will cause * 'rpmbuild' to fail. To ignore these errors, you can set the * '$QA_RPATHS' environment variable which is a bitmask allowing the * values below. The current value of QA_RPATHS is 0x0000. * * 0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor * issue but are introducing redundant searchpaths without * providing a benefit. They can also cause errors in multilib * environments. * 0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute * nor relative filenames and can therefore be a SECURITY risk * 0x0004 ... insecure RPATHs; these are relative RPATHs which are a * SECURITY risk * 0x0008 ... the special '$ORIGIN' RPATHs are appearing after other * RPATHs; this is just a minor issue but usually unwanted * 0x0010 ... the RPATH is empty; there is no reason for such RPATHs * and they cause unneeded work while loading libraries * 0x0020 ... an RPATH references '..' of an absolute path; this will break * the functionality when the path before '..' is a symlink * * * Examples: * - to ignore standard and empty RPATHs, execute 'rpmbuild' like * $ QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild my-package.src.rpm * - to check existing files, set $RPM_BUILD_ROOT and execute check-rpaths like * $ RPM_BUILD_ROOT=<top-dir> /usr/lib/rpm/check-rpaths * ******************************************************************************* ERROR 0004: file '/usr/libexec/displaylink/DisplayLinkManager' contains an insecure runpath '.' in [.] error: Bad exit status from /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.heq5Vm (%install) RPM build errors: Bad exit status from /home/ezequiel/.mgarepo/displaylink/BUILDROOT/rpm-tmp.heq5Vm (%install) error: failed! </> So I am still working to solve this.
(In reply to Ezequiel Partida from comment #15) > I wonder if this is what is causing me problems with Displaylink package.I > am leaving dkms-evdi as the last packager. I first focused on > evdi-1.14.1-1.src.rpm with seems to build fine and I was able to install > them (lib64evdi, lib64evdi-devel and python-evdi), I am now working with > displaylink-5.8-2.src.rpm but I am getting an rpath error. > Indeed dkms-evdi should be the first to start from not the last... ;-) Anyway the QA_RPATHS warnings tell you that there is some binaries using runpath which is usually considered unsafe. In first instance you might ignore it providing export QA_RPATHS=0x0001 (or the corresponding suggested code) in the last stage of %install; then later you might dig with %configure and cmake stuff and makefiles to check what is causing them. In case of 3rd party binaries you might just strip the offending rpath from executable using "chrpath -d" in the last stages of %install.
(In reply to Giuseppe Ghibò from comment #16) > (In reply to Ezequiel Partida from comment #15) > > > I wonder if this is what is causing me problems with Displaylink package.I > > am leaving dkms-evdi as the last packager. I first focused on > > evdi-1.14.1-1.src.rpm with seems to build fine and I was able to install > > them (lib64evdi, lib64evdi-devel and python-evdi), I am now working with > > displaylink-5.8-2.src.rpm but I am getting an rpath error. > > > > Indeed dkms-evdi should be the first to start from not the last... ;-) Ahhhhh!! ok then... > Anyway the QA_RPATHS warnings tell you that there is some binaries using > runpath which is usually considered unsafe. In first instance you might > ignore it providing > export QA_RPATHS=0x0001 (or the corresponding suggested code) in the last > stage of %install; then later you might dig with %configure and cmake stuff > and makefiles to check what is causing them. In case of 3rd party binaries > you might just strip the offending rpath from executable using "chrpath -d" > in the last stages of %install. I will check on this.. One thing I notice today.. it's an error that says: + /usr/share/spec-helper/check_elf_files Warning: unused libraries in /usr/libexec/displaylink/DisplayLinkManager: librt.so.1 libdl.so.2 libpthread.so.0 I wonder if it has to do with this: ExclusiveArch: x86_64 aarch64 ix86 arm %install mkdir -p %{buildroot}%{_libexecdir}/%{name} # DisplayLinkManager binary... %ifarch x86_64 cp -a displaylink-driver-*/x64-*/DisplayLinkManager %{buildroot}%{_libexecdir}/%{name} %else %ifarch ix86 cp -a displaylink-driver-*/x86-*/DisplayLinkManager %{buildroot}%{_libexecdir}/%{name} %else %ifarch aarch64 cp -a displaylink-driver-*/aarch64-*/DisplayLinkManager %{buildroot}%{_libexecdir}/%{name} %else %ifarch arm cp -a displaylink-driver-*/arm-*/DisplayLinkManager %{buildroot}%{_libexecdir}/%{name} %else echo "Unsupported architecture" exit 1 %endif %endif %endif %endif In the original spec file it comes as: ExclusiveArch: %{x86_64} %{aarch64} %{ix86} %{arm} # DisplayLinkManager binary... %ifarch %{x86_64} cp -a displaylink-driver-*/x64-*/DisplayLinkManager %{buildroot}%{_libexecdir}/%{name} %else %ifarch %{ix86} cp -a displaylink-driver-*/x86-*/DisplayLinkManager %{buildroot}%{_libexecdir}/%{name} %else %ifarch %{aarch64} cp -a displaylink-driver-*/aarch64-*/DisplayLinkManager %{buildroot}%{_libexecdir}/%{name} %else %ifarch %{arm} cp -a displaylink-driver-*/arm-*/DisplayLinkManager %{buildroot}%{_libexecdir}/%{name} %else echo "Unsupported architecture" exit 1 %endif %endif %endif %endif If I use the original spec file I get error: + cd /home/ezequiel/.mgarepo/displaylink/BUILD + cd displaylink-5.8 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + echo 'Unsupported architecture' Unsupported architecture + exit 1
Package created and installs correctly I removed the next line from spec file ExclusiveArch: x86_64 aarch64 ix86 arm Once this was removed and the package was created. Now moving to dkms-evdi.
dkms-evdi creates but once installed I get: ¨ urpmi dkms-evdi-1.14.1-2.mga9.noarch.rpm SECURITY: The following package is _NOT_ signed (OK ((none))): dkms-evdi-1.14.1-2.mga9.noarch.rpm installing dkms-evdi-1.14.1-2.mga9.noarch.rpm Preparing... #################################################################################### 1/1: dkms-evdi #################################################################################### Creating symlink /var/lib/dkms/evdi/1.14.1-2.mga9/source -> /usr/src/evdi-1.14.1-2.mga9 DKMS: add Completed. Preparing kernel 6.5.10-desktop-2.mga9 for module build: (This is not compiling a kernel, just preparing kernel symbols) /sbin/dkms: line 939: warning: command substitution: ignored null byte in input Storing current .config to be restored when complete Running Generic preparation routine make mrproper.... using /proc/config.gz make oldconfig.... make prepare.... Building module: cleaning build area.... make -j4 KERNELRELEASE=6.5.10-desktop-2.mga9 KDIR=/lib/modules/6.5.10-desktop-2.mga9/build....(bad exit status: 2) Error! Bad return status for module build on kernel: 6.5.10-desktop-2.mga9 (x86_64) Consult the make.log in the build directory /var/lib/dkms/evdi/1.14.1-2.mga9/build/ for more information. ======== make.log below. DKMS make.log for evdi-1.14.1-1.mga9 for kernel 6.5.10-desktop-2.mga9 (x86_64) Sun Nov 12 11:43:27 PM PST 2023 CFLAGS="-isystem./include -isystem./include/uapi -Wextra -Wall -Wno-error=missing-field-initializers -Werror=sign-compare -Wmissing-prototypes -Wstrict-prototypes =discarded-qualifiers " make -C module -j4 --jobserver-auth=fifo:/tmp/GMfifo1351 make[1]: Entering directory '/var/lib/dkms/evdi/1.14.1-1.mga9/build/module' make[1]: warning: -j4 forced in submake: resetting jobserver mode. make[1]: *** No targets. Stop. make[1]: Leaving directory '/var/lib/dkms/evdi/1.14.1-1.mga9/build/module' make: *** [Makefile:10: all] Error 2 =====
Have you installed kernel-devel? If you build outside the dkms with just make, the modules are built?
Yes, Kernel-desktop-devel is installed At reboot it says it is installing but it does the same everytime I reboot.
Hello again, I wonder what I'm doing wrong. Installing dkms-evdi from console I get the next error. " $sudo urpmi dkms-evdi* SECURITY: The following package is _NOT_ signed (OK ((none))): dkms-evdi-1.14.1-1.mga9.noarch.rpm installing dkms-evdi-1.14.1-1.mga9.noarch.rpm Preparing... ################################################ 1/1: dkms-evdi ################################################ Creating symlink /var/lib/dkms/evdi/1.14.1-1.mga9/source -> /usr/src/evdi-1.14.1-1.mga9 DKMS: add Completed. Preparing kernel 6.5.10-desktop-2.mga9 for module build: (This is not compiling a kernel, just preparing kernel symbols) /sbin/dkms: line 939: warning: command substitution: ignored null byte in input Storing current .config to be restored when complete Running Generic preparation routine make mrproper.... using /proc/config.gz make oldconfig.... make prepare.... Building module: cleaning build area.... make -j4 KERNELRELEASE=6.5.10-desktop-2.mga9 KDIR=/lib/modules/6.5.10-desktop-2.mga9/build....(bad exit status: 2) Error! Bad return status for module build on kernel: 6.5.10-desktop-2.mga9 (x86_64) Consult the make.log in the build directory /var/lib/dkms/evdi/1.14.1-1.mga9/build/ for more information. ¨ Checking at the build.log .... " DKMS make.log for evdi-1.14.1-1.mga9 for kernel 6.5.10-desktop-2.mga9 (x86_64) Wed Nov 22 08:00:58 AM PST 2023 CFLAGS="-isystem./include -isystem./include/uapi -Wextra -Wall -Wno-error=missing-field-initializers -Werror=sign-compare -Wmissing-prototypes -Wstrict-prototypes =discarded-qualifiers " make -C module -j4 --jobserver-auth=fifo:/tmp/GMfifo47022 make[1]: Entering directory '/var/lib/dkms/evdi/1.14.1-1.mga9/build/module' make[1]: warning: -j4 forced in submake: resetting jobserver mode. make[1]: *** No targets. Stop. make[1]: Leaving directory '/var/lib/dkms/evdi/1.14.1-1.mga9/build/module' make: *** [Makefile:10: all] Error 2 " This is the spec below.. I've been checking with detail and still not managed to detect the problem. " # upstream release tarball is a snapshot-style one %define snapshot 0 %define rel 1 # REV=$(svn info https://cdemu.svn.sourceforge.net/svnroot/cdemu/trunk/vhba-module| sed -ne 's/^Last Changed Rev: //p') # svn export -r $REV https://cdemu.svn.sourceforge.net/svnroot/cdemu/trunk/vhba-module vhba-module-$REV # tar -cJf vhba-module-$REV.tar.xz vhba-module-$REV Summary: Extensible Virtual Display Interface kernel module %define module evdi Name: dkms-%{module} Version: 1.14.1 Release: %mkrel %{rel} Group: System/Kernel and hardware License: MIT URL: https://github.com/evdi/evdi Source0: https://github.com/DisplayLink/evdi/archive/refs/tags/%{module}-%{version}.tar.gz Patch0: pyevdi-detect-python-3.10+.patch BuildArch: noarch Provides: kmod(evdi.ko) = %{version} Requires: dkms Requires: %mklibname evdi Requires(post): dkms Requires(preun): dkms %description The Extensible Virtual Display Interface (EVDI) is a Linux kernel module that enables management of multiple screens, allowing user-space programs to take control over what happens with the image. It is essentially a virtual display you can add, remove and receive screen updates for, in an application that uses the libevdi library. It is needed primarily for DisplayLink driver %prep %autosetup -n evdi-1.14.1 -p1 %build %install install -d -m755 %{buildroot}%{_usrsrc}/%{module}-%{version}-%{release} cp -r * %{buildroot}%{_usrsrc}/%{module}-%{version}-%{release} cat > %{buildroot}%{_usrsrc}/%{module}-%{version}-%{release}/dkms.conf <<EOF PACKAGE_NAME="%{module}" PACKAGE_VERSION="%{version}-%{release}" DEST_MODULE_LOCATION[0]="/kernel/%{module}" BUILT_MODULE_NAME[0]="%{module}" MAKE[0]="make KDIR=\${kernel_source_dir}" AUTOINSTALL="yes" EOF sed -i 's/-Werror//' %{buildroot}%{_usrsrc}/%{module}-%{version}-%{release}/Makefile %post dkms add -m %{module} -v %{version}-%{release} --rpm_safe_upgrade && dkms build -m %{module} -v %{version}-%{release} --rpm_safe_upgrade && dkms install -m %{module} -v %{version}-%{release} --rpm_safe_upgrade true %preun dkms remove -m %{module} -v %{version}-%{release} --all --rpm_safe_upgrade true %files %{_usrsrc}/%{module}-%{version}-%{release}/* " Any guidance would be appreciated.
(In reply to Ezequiel Partida from comment #22) > cat > %{buildroot}%{_usrsrc}/%{module}-%{version}-%{release}/dkms.conf <<EOF > PACKAGE_NAME="%{module}" > PACKAGE_VERSION="%{version}-%{release}" > DEST_MODULE_LOCATION[0]="/kernel/%{module}" > BUILT_MODULE_NAME[0]="%{module}" > MAKE[0]="make KDIR=\${kernel_source_dir}" > AUTOINSTALL="yes" > EOF > sed -i 's/-Werror//' > %{buildroot}%{_usrsrc}/%{module}-%{version}-%{release}/Makefile With the sed command like that you corrupted the Makefile, which then passes option that gcc doesn't like. Try to simplify using a patch if can't provide a regexp that works for all the wanted options. Then jump to: /var/lib/dkms/evdi/1.14.1-1.mga9/build and manually edit the Makefile until running make directly there you get the compilation successful.
any progress?
The driver is working great! Sorry I did not reported it before, my time has been short. Here is the fist video of Mageia on HP's branded Dock Station from DisplayLink. https://youtu.be/WFa4jbeNUeM Should I attach the src.rpm here for you to get it up to cauldron?
Created attachment 14373 [details] displaylink spec
Created attachment 14374 [details] Alternative conf file
Created attachment 14375 [details] evdi spec
Created attachment 14376 [details] Patch for pyevdvi
Most of the work adapted from openmandriva, I give a hand to Ezequiel with dkms generation and displaylink rpath issues
BTW, for the evdi kernel modules, the current kernel (6.6.14-desktop-2.mga9) has them (-desktop only, x86_64 only). The others require a proper dkms-evdi.
BTW, note that many of the reasonable cheap USB adapter/docking that adds multiple DP or HDMI ports are not using displaylink capability/chip, they use displayport Alt mode, and more or less on them you might achieve the same behaviour with screen mirroring and screen extending, without evdi. Of they course requires reasonably new hardware that supports this feature.
(In reply to Giuseppe Ghibò from comment #31) > BTW, for the evdi kernel modules, the current kernel (6.6.14-desktop-2.mga9) > has them (-desktop only, x86_64 only). The others require a proper dkms-evdi. Do we really need to support displaylink for other kernels than desktop? Thinking of usage scenarios here. Difference could be noted in https://wiki.mageia.org/en/Kernel_flavours
CC: (none) => fri
(In reply to Morgan Leijström from comment #33) > (In reply to Giuseppe Ghibò from comment #31) > > BTW, for the evdi kernel modules, the current kernel (6.6.14-desktop-2.mga9) > > has them (-desktop only, x86_64 only). The others require a proper dkms-evdi. > > Do we really need to support displaylink for other kernels than desktop? > Thinking of usage scenarios here. I doubt a pure -server would need that, and even better (security, etc.) if it doesn't have off-tree modules. That's why it wasn't included in -server flavour. However modules in dkms-* has the advtanges that can be built in case of needing for "any" (whatever) kernel, that's why I encouraged to complete the "almost" ready dkms-evdi.
(In reply to Giuseppe Ghibò from comment #34) > (In reply to Morgan Leijström from comment #33) > > > (In reply to Giuseppe Ghibò from comment #31) > > > BTW, for the evdi kernel modules, the current kernel (6.6.14-desktop-2.mga9) > > > has them (-desktop only, x86_64 only). The others require a proper dkms-evdi. > > > > Do we really need to support displaylink for other kernels than desktop? > > Thinking of usage scenarios here. > > I doubt a pure -server would need that, and even better (security, etc.) if > it doesn't have off-tree modules. That's why it wasn't included in -server > flavour. > > However modules in dkms-* has the advtanges that can be built in case of > needing for "any" (whatever) kernel, that's why I encouraged to complete the > "almost" ready dkms-evdi. Its working since sometime ago, see comment#25 Ezequiel after update to kernel 6.6.15 is still working?
Ezequiel and I pass sometime polish this thing to use native evdi mosule, It works
Created attachment 14399 [details] New dsiplaylink spec without dkms-evdi in x86_64
Attachment 14373 is obsolete: 0 => 1
Created attachment 14400 [details] New version of evdi spec
Attachment 14375 is obsolete: 0 => 1 Attachment 14376 is obsolete: 0 => 1
(In reply to Giuseppe Ghibò from comment #31) > BTW, for the evdi kernel modules, the current kernel (6.6.14-desktop-2.mga9) > has them (-desktop only, x86_64 only). The others require a proper dkms-evdi. Oh I miss read this comment I will work on new spec for both cases
Created attachment 14401 [details] displaylink spec for kernels with or without native evdi This spec generates two packages for 64bit arches displaylink-nodkms and displaylink-with-dkms , for i586 just generates displaylink-with-dkms
Attachment 14399 is obsolete: 0 => 1
CC: (none) => j.alberto.vc, ngompa13
As I'm now officially contributing to this, I add to my mentor and me to CC
Created attachment 14431 [details] Latest versionof evdi spec It removes the devel require for dkms-evdi, I test and the module builds
Attachment 14400 is obsolete: 0 => 1
Hello everyone! Any chance we're getting displalink officially on mageia repos?. I've been using them for a while and working great. https://ftp.blogdrake.net/mageia/mageia9/non-free/SRPMS/displaylink-6.0-0.2bdk_mga9.nonfree.src.rpm For DKMS version you will need https://ftp.blogdrake.net/mageia/mageia9/free/SRPMS/evdi-1.14.7-0.1bdk_mga9.src.rpm Regards
If it works correctly right now and license it's ok, we might add to non-free section to see how is it going. Note that the dkms-evdi is the fallback for kernels that might not have the module already integrated/built-in (e.g. like in kernel-linus). BTW, latest version is 6.1 (see https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu). I wonder if it would work in the 'live' environment too (maybe it could be in the same section as nvidia non-free).
(In reply to Giuseppe Ghibò from comment #44) > If it works correctly right now and license it's ok, we might add to > non-free section to see how is it going. > > Note that the dkms-evdi is the fallback for kernels that might not have the > module already integrated/built-in (e.g. like in kernel-linus). > > BTW, latest version is 6.1 (see > https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu). > > I wonder if it would work in the 'live' environment too (maybe it could be > in the same section as nvidia non-free). It works great!! I've been using it for months. I've already upgraded the package to version 6.1. Check this out! -> https://www.youtube.com/watch?v=WFa4jbeNUeM
Sounds great :) Is this in mga9 or Cauldron? Quickly skimming above give me impression you work on mga9, but bug is set to Cauldron. New packages should go in Cauldron first, but of course this is welcome in mga9 too as backport :)
As soon as Ezequiel performs some extra test, I upload a clean/for mageia version of the specs. Looks like module and library have to be in sync to works, but to be sure Ezequiel will test in clean mageia 9 installation
We have a issue with xorg.conf Ezequiel test show with this file present the adapter not work, I think is perhaps with the file present xorg ignores the configuration files for displaylink, exist a method to tell xorg.conf to include the displaylink files?
xorg's configs are additive. I.e. it uses the configuration of /etc/X11/xorg.conf plus the configurations found in /etc/X11/xorg.conf.d/. This is true for any configuration Section except one, i.e. ServerFlags. If ServerFlags is present in main /etc/X11/xorg.conf it would ignore any further ServerFlags Section in any /etc/X11/xorg.conf.d/*, so all the ServerFlags options should go into a single file. A typical case is for instance IgnoreABI option which belongs to ServerFlags section. IIRC the LiveISO boots with an extra flag booting kernel flag called 'noxconf' which tell service_harddrake to boot without complaining or recreating any missed /etc/X11/xorg.conf file.
(In reply to Giuseppe Ghibò from comment #49) > xorg's configs are additive. I.e. it uses the configuration of > /etc/X11/xorg.conf plus the configurations found in /etc/X11/xorg.conf.d/. > > This is true for any configuration Section except one, i.e. ServerFlags. If > ServerFlags is present in main /etc/X11/xorg.conf it would ignore any > further ServerFlags Section in any /etc/X11/xorg.conf.d/*, so all the > ServerFlags options should go into a single file. A typical case is for > instance IgnoreABI option which belongs to ServerFlags section. > > IIRC the LiveISO boots with an extra flag booting kernel flag called > 'noxconf' which tell service_harddrake to boot without complaining or > recreating any missed /etc/X11/xorg.conf file. Interesting our spec install the file in %{_datadir}/X11/xorg.conf.d/ , I'll adjust to /etc/X11/xorg.conf.d/ and ask Ezequiel for new test
Both /etc/X11/xorg.conf.d/ and /usr/share/X11/xorg.conf.d/ are used, as shown by: cat /var/log/Xorg.0.log | grep -E "Using (config (file|dir)|system)" Using config file: "/etc/X11/xorg.conf" Using config directory: "/etc/X11/xorg.conf.d" Using system config directory "/usr/share/X11/xorg.conf.d"
I did some test o 2 laptops and 2 different display link devices both HP and Lenovo branded. If Xfdrake xorg.conf file is available on /etc/X11/xorg.conf displaylink will not enable the external monitors. If I remove the xorg.conf everything works fine. The strange thing is that xorg.conf from mageia prime works great.. I've read on displaylink forums that prime has problems with displaylink drivers but on the otherhand it works great for me on 2 different devices using mageia prime. It seems something on the mageia-prime xorg.conf is not interfeering with displaylink. I'm just about to do a new fresh mageia install but this time on cauldron to see if something changes.
The fact is the .run displaylink package installs files outside the rpm db, including some udev rules, and it's not clear whether it installs something (and what) in the Xorg config path (apparently it doesn't). IMHO it should be at least repackaged so to not have files installed beyond rpm db.
(In reply to Giuseppe Ghibò from comment #53) > The fact is the .run displaylink package installs files outside the rpm db, > including some udev rules, and it's not clear whether it installs something > (and what) in the Xorg config path (apparently it doesn't). IMHO it should > be at least repackaged so to not have files installed beyond rpm db. We are repackaging, now I'm working on cleaning our specs of displaylinlk and evdi
I did some test on a new install today. The problem seems to be Driver "intel" on xorg.conf If I change it to Driver "Modesetting" everything works fine. Displaylink drivers install /usr/share/X11/xorg.conf.d/20-displaylink.conf wich has Driver "modesetting" in it. I wonder if it's not possible to mix Driver "intel" and Driver "Modesetting" or there's a conflict between drivers. Googling I found this: Here are some things to try if you're having trouble with DisplayLink and Intel graphics: Use the modesetting driver: The modesetting driver is the default and preferred driver for Intel GPU devices and evdi virtual GPUs. Use an older Intel driver: You can try using an older Intel driver as a fallback. Temporarily disable PageFlip for modesetting: You can try temporarily disabling PageFlip for modesetting. If you're using Ubuntu, upgrading the X Window Server to a version newer than 1.18.3 can make the system incompatible with DisplayLink Ubuntu software. This can cause issues such as: DisplayLink screens freezing, DisplayLink screens remaining blank, System freezing completely, and System or DisplayLink screen dropping to a low resolution
BTW I forgot to mention that this why it works great with mageia-prime. mageia-prime generated xorg.conf contains: Section "Device" Identifier "intel" Driver "modesetting" #Option "AccelMethod" "None" BusID "PCI:0:2:0" EndSection
In drakX11 there is an option under "Vendor -> Intel" -> called "Kernel modesetting (xorg modesetting) to set modesetting too there. The same option is also replicated under Xorg->... there. As enhancement for future (but this deserve a standalone bug report to remind) could be an option in drakx11 initial menu, to configure the card without any xorg.conf, so to have a menu like: -> Vendor -> Xorg -> Xorg runtime auto-detection (no xorg.conf) so that the configuration will be exactly the sum of all the /etc/X11/xorg.conf.d/ and /usr/share/X11/xorg.conf.d/.
Created attachment 14818 [details] Latest spec for displaylink I make some work to make it closest to a mageia's spec but still I let some parts as the original spec took from OMDV Since the previous version, I add a virtual provide displaylink to allow to people that use urpmi displaylink to choose between the version for native evdi and the one that require dkms-evdi, and adjust the upstream url to make it easy the update of the spec
Attachment 14401 is obsolete: 0 => 1
Created attachment 14819 [details] Latest evdi spec I remove some unneeded things from the previous version
Attachment 14818 is obsolete: 0 => 1
Attachment 14818 is obsolete: 1 => 0
It's been almost 8 years since this package was requested and still not available officially in mageia.. I guess it's not that important, in my case it is since it's really nice to have your laptop and 2 or 3 monitors extensions specially on coorporate use or programming. Checking on fedora's package they use systemd scripptlets and it works a little bit different than our package. Openmandriva has this driver for almost a year and Alt Linux follow after blogdrake's release.. I wonder if rosa has it, being a corporate company as mandriva used to be. This is mageia -> https://www.youtube.com/watch?v=WFa4jbeNUeM
@katnatek, Can you import the package in cauldron?
(In reply to papoteur from comment #61) > @katnatek, > Can you import the package in cauldron? I'll check but for displaylink I'll add a warning about accept the DisplayLink terms, evdi will be good, I need to check if need update
Assignee: kernel => j.alberto.vc
(In reply to Ezequiel Partida from comment #60) > It's been almost 8 years since this package was requested and still not > available officially in mageia.. I guess it's not that important, in my case > it is since it's really nice to have your laptop and 2 or 3 monitors > extensions specially on coorporate use or programming. > > Checking on fedora's package they use systemd scripptlets and it works a > little bit different than our package. > Our package install the systemd things if you feel we can import some things from the fedora spec give me a link or send me the spec is now before I send it to cualdron
(In reply to papoteur from comment #61) > @katnatek, > Can you import the package in cauldron? evdi and displaylink are imported in cauldron I not find detailed information mgarepo import /home/katnatek/myrepo/evdi-1.14.8-1.mga10.src.rpm Importing package to svn+ssh://svn.mageia.org/svn/packages/cauldron/evdi User katnatek uploaded file aac6eac28b4f05f5375ac8dc02debc1c66c9d44d: evdi-1.14.8.tar.gz mgarepo import /home/katnatek/myrepo/displaylink-6.1-1.mga10.nonfree.src.rpm Importing package to svn+ssh://svn.mageia.org/svn/packages/cauldron/displaylink User katnatek uploaded file 893316bc1e3ffe3762028cc580e0b4d4e7196277: DisplayLink_Linux-6.1.zip If I need to do something more please tell me Remember that displaylink must be in nonfree
evdi submitted in cauldron. I removed export statements, there are automatically added.
For displaylink, https://github.com/displaylink/displaylink url is not valid.
(In reply to papoteur from comment #65) > evdi submitted in cauldron. > I removed export statements, there are automatically added. Mmm I not rebuild the src.rpm from the last change, I did the same :(
(In reply to papoteur from comment #66) > For displaylink, > https://github.com/displaylink/displaylink url is not valid. Fixed and use a tag related to the version instead of use the master branch
I fixed the URL and the Group. About formatting, please align the values at the same position. Submitted
Who has to be credited in apprenticeship?
(In reply to papoteur from comment #70) > Who has to be credited in apprenticeship? displaylink for Ezequiel evdi for me
CC: chb0 => (none)
The packages are in cauldron
Status: NEW => RESOLVEDResolution: (none) => FIXED