Closed robotard closed 3 years ago
If you wish I have a testing patch, untested since I don't have any HW to test right now and will only work with a 5.9 kernel.
Patch against latest release:
That’s great. Will test when back home. Guessing it was just a one liner allowing 5.9.x to pass? Or is there more to it?
Sent from my iPhone
On 13 Oct 2020, at 12:06, abucodonosor notifications@github.com wrote:
If you wish I have a testing patch, untested since I don't have any HW to test right now and will only work with a 5.9 kernel.
Patch against latest release:
https://crazy.dev.frugalware.org/evdi-kernel-5.9-test.patch
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
I see there’s quite a bit more to it 😉
Just a heads up, I’m on AMD Ryzen 7 (Radeon + Nvidia).
Sent from my iPhone
On 13 Oct 2020, at 12:06, abucodonosor notifications@github.com wrote:
If you wish I have a testing patch, untested since I don't have any HW to test right now and will only work with a 5.9 kernel.
Patch against latest release:
https://crazy.dev.frugalware.org/evdi-kernel-5.9-test.patch
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
@robotard
It is a bit more than a one-liner:).
The Intel workaround is now somewhat strange but it should, in theory, work like this.
Oooof, n00b to patching (can read them, but not applied before)... Where's likely to be the path to my DisplayLink?
Ubuntu... Latest DL from website...
Seeing this:
File to patch: "
On Tue, 13 Oct 2020 at 14:49, abucodonosor notifications@github.com wrote:
@robotard https://github.com/robotard
It is a bit more than a one-liner:).
The Intel workaround is now somewhat strange but it should, in theory, work like this.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DisplayLink/evdi/issues/225#issuecomment-707751718, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABB6C4MOMBYUJOKDUHHSGBTSKRLGLANCNFSM4SOANJSA .
@robotard
Try with patch -Np1
instead of patch
@abucodonosor You are delivering great patches, as always :+1:, thanks :) Are you interested in creating PR? :)
I've just checked it with evdi master and v1.7.0 tag - compiles fine.
Note: For usage with DisplayLinkManager 5.3.1 please apply it on top of tag v1.7.0 (in v1.8.0 there was API change).
Something like this should work:
# get sources
git clone https://github.com/DisplayLink/evdi.git
cd evdi
git checkout v1.7.0
# patch
curl https://crazy.dev.frugalware.org/evdi-kernel-5.9-test.patch | patch -Np1
# install
make
sudo make install
# reboot
@displaylink-dkurek
I can do an PR.
What is the rule now regarding #ifdef's for kernels?
#if KERNEL_VERSION(X, X, X) <= LINUX_VERSION_CODE
throw in new code
#else ....
IOW, newest changes first in form of <= ?
Yes, exactly. Please use only KERNEL_VERSION(X, Y, Z) <= LINUX_VERSION_CODE
format, newest top.
Thanks!
Works for the 1.7.0 tag too, thanks @abucodonosor & @displaylink-dkurek!
https://github.com/DisplayLink/evdi/pull/228
Master was 1 ahead of 1.7.0 tag which worked for me too, any reason why tag was one behind, @displaylink-dkurek?
Unfortunately no bueno for me
@robotard Try with
patch -Np1
instead ofpatch
@abucodonosor You are delivering great patches, as always , thanks :) Are you interested in creating PR? :)
I've just checked it with evdi master and v1.7.0 tag - compiles fine.
Note: For usage with DisplayLinkManager 5.3.1 please apply it on top of tag v1.7.0 (in v1.8.0 there was API change).
Something like this should work:
# get sources git clone https://github.com/DisplayLink/evdi.git cd evdi git checkout v1.7.0 # patch curl https://crazy.dev.frugalware.org/evdi-kernel-5.9-test.patch | patch -Np1 # install make sudo make install # reboot
Thanks again for another swift response :)
Unfortunately no bueno for me here... I dis mention that I'm a Groovy Gorilla (20.10) too right? Here's my kernel info:
uname -a Linux robstas-um433iq 5.9.0-050900-generic #202010112230 SMP Sun Oct 11 22:34:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
I've attached the DLSupportTool output for your perusal too, and am more than happy to do any testing you need for both this fix, and anything that I may be able to help with in the future... Am usually close to latest Ubuntu/Kernel versions too :) DLSupportTool_Output_2020-10-15T07:16:25.723360.zip
Working on 5.9 with 1.7.0, love you @abucodonosor
git clone https://github.com/DisplayLink/evdi
cd evdi
git checkout -f master
git remote add abucodonosor https://github.com/abucodonosor/evdi.git
git fetch --all
git cherry-pick abucodonosor/issue-225 --no-commit
make
Or
git clone https://github.com/sickcodes/evdi
git checkout -f master
cd evdi
make
@sickcodes Tag v1.7.0 is made on devel branch, and then devel is merged to master. So master has one extra 'merge' commit on it. This is made this way so tagged version is the same commit as we are shipping with DisplayLinkManager.
Working on 5.9 with 1.7.0, love you @abucodonosor
git clone https://github.com/DisplayLink/evdi cd evdi git remote add abucodonosor https://github.com/abucodonosor/evdi.git git fetch --all git cherry-pick abucodonosor/issue-225 --no-commit make
Or
git clone https://github.com/sickcodes/evdi cd evdi make
I tried both of these methods and it gives me error 2.
cat: /etc/redhat-release: No such file or directory
CFLAGS="-Werror -Wextra -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-error=missing-field-initializers" make -C module
make -C /lib/modules/5.8.11-1-MANJARO/build M=$PWD
make[2]: Entering directory '/usr/lib/modules/5.8.11-1-MANJARO/build'
make[2]: *** No targets specified and no makefile found. Stop.
make[2]: Leaving directory '/usr/lib/modules/5.8.11-1-MANJARO/build'
make[1]: *** [Makefile:71: module] Error 2
make: *** [Makefile:13: all] Error 2
I also tried the code block in the comments of https://aur.archlinux.org/packages/displaylink but even the first line sudo pacman -R evdi-git #used -Rns
does not seem to work, saying that evdi-git
is not found.
@PathosEthosLogos
there is something wrong with your kernel source. You are also compiling against 5.8.11, while that should work just fine with the patch, it should work the same without. The patch only adjusts some API changes for the 5.9 kernel.
I also tried the code block in the comments of https://aur.archlinux.org/packages/displaylink but even the first line
sudo pacman -R evdi-git #used -Rns
does not seem to work, saying thatevdi-git
is not found.
If you haven't installed evdi-git you don't need to uninstall it.
Yeah I tried installing evdi-git
as well, but that didn't work.
I think I'll just install 5.9 kernel. Hopefully other things won't break and hopefully this will work.
@PathosEthosLogos, do you understand the commands you are trying to execute? Because if not, please stay away from any AUR package, because you are exposing yourself to a big security risk.
@sickcodes' code block does this:
sudo pacman -R evdi-git
remove a previously installed evdi-git. If you don't have it don't execute this line. As an Archlinux user, you should learn how to operate pacman
. This line is also not necessary. You are just about to build a new evdi-git
package which can replace the old installed one.yay --getpkgbuild evdi-git
Get the build recipe.sed -i -e s/DisplayLink/sickcodes/g PKGBUILD
replace the source repository from DisplayLinkt to @sickcodes' one. Big security risk if you can't trust @sickcodes and did not check the current contents of @sickcodes' master branch. (Note for the intermediate user: Better apply the patch from #228, which you checked yourself.)makepkg -s
build the recipe. Basically the Archlinux version of your failed make
tries above. It will make sure you have dkms installed. Also make sure to install the correct linux-headers
for your kernel (Listed as optional requirements with pacman -Qi dkms
).Note: I do not say, you can't trust @sickcodes, but he is a random person on the internet as anyone else here is.
@bnavigator
Well, you are right but one can compare the fork and the original online even, right now no difference.
@sickcodes
I think you forgot to push something out in your fork? :)
@bnavigator
Well, you are right but one can compare the fork and the original online even, right now no difference.
Yes, of course. https://github.com/DisplayLink/evdi/compare/master...sickcodes:master is the same as just examining https://github.com/DisplayLink/evdi/pull/228/files. But if you just replace the repo in the PKGBUILD and don't look at anything, this is dangerous.
@sickcodes
I think you forgot to push something out in your fork? :)
? It's all there, otherwise no PR would have been possible.
I forgot to insert the malware 🤪
Haha yeah, I knew all except sed
.
But it seems like updating to 5.9 kernel didn't fix it. Same 'Error 2' with some additions.
cat: /etc/redhat-release: No such file or directory
CFLAGS="-Werror -Wextra -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-error=missing-field-initializers" make -C module
make -C /lib/modules/5.9.0-1-MANJARO/build M=$PWD
make[2]: Entering directory '/usr/lib/modules/5.9.0-1-MANJARO/build'
AR ~/evdi/module/built-in.a
CC [M] ~/evdi/module/evdi_drv.o
/home/pathos/evdi/module/evdi_drv.c:94:3: error: 'struct drm_driver' has no member named 'gem_free_object'; did you mean 'gem_open_object'?
94 | .gem_free_object = evdi_gem_free_object,
| ^~~~~~~~~~~~~~~
| gem_open_object
/home/pathos/evdi/module/evdi_drv.c:94:21: error: initialization of 'void (*)(struct drm_device *)' from incompatible pointer type 'void (*)(struct drm_gem_object *)' [-Werror=incompatible-pointer-types]
94 | .gem_free_object = evdi_gem_free_object,
| ^~~~~~~~~~~~~~~~~~~~
/home/pathos/evdi/module/evdi_drv.c:94:21: note: (near initialization for 'driver.lastclose')
/home/pathos/evdi/module/evdi_drv.c: In function 'evdi_platform_probe':
/home/pathos/evdi/module/evdi_drv.c:175:20: error: 'struct dev_archdata' has no member named 'iommu'
175 | pdev->dev.archdata.iommu = INTEL_IOMMU_DUMMY_DOMAIN;
| ^
cc1: all warnings being treated as errors
make[3]: *** [scripts/Makefile.build:283: /home/pathos/evdi/module/evdi_drv.o] Error 1
make[2]: Leaving directory '/usr/lib/modules/5.9.0-1-MANJARO/build'
make[1]: *** [Makefile:71: module] Error 2
make: *** [Makefile:13: all] Error 2
You haven't cherry-picked @abucodonosor's changes yet you're building the DisplayLink/master
I forgot to insert the malware
No, you forgot devel is the default branch. so one need to clone your fork and checkout master :)
@sickcodes
git clone https://github.com/sickcodes/evdi
will clone devel branch, your patch pulled from me doesn't exist in devel so make will fail on a 5.9 kernel:)
@PathosEthosLogos
That error is now different you are missing my patch :)
Yeah you're right, need to checkout master first. The AUR PKGBUILD from @bnavigator checks out master so I am missing that in my above comment.
I was supposed to commit to devel tag 1.7.0?
I was supposed to commit to devel tag 1.7.0?
No, master is correct. There is no 1.7.0 branch.
The AUR PKGBUILD from @bnavigator checks out master so I am missing that in my above comment.
Its not mine. Check https://aur.archlinux.org/packages/evdi-git/ for a list of maintainers. I am preparing a evdi-1.7 package with your patch applied though.
Ah oops -- now cherry picked, but then:
cat: /etc/redhat-release: No such file or directory
make -C module install
make[1]: Entering directory '~/evdi/module'
make -C /lib/modules/5.9.0-1-MANJARO/build M=$PWD INSTALL_MOD_PATH= INSTALL_MOD_DIR=/kernel/drivers/gpu/drm/evdi modules_install
make[2]: Entering directory '/usr/lib/modules/5.9.0-1-MANJARO/build'
INSTALL ~/evdi/module/evdi.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
DEPMOD 5.9.0-1-MANJARO
Now SSL error... why?
@PathosEthosLogos building on Arch/Manjaro without a PKGBUILD requires you to prepare everything yourself. Adjust evdi-git yourself according to the instructions or wait on the evdi-1.7 package.
@PathosEthosLogos
probably because Manjaro wants to sign the modules by default if they don't enforce that you can ignore the SSL warnings/errors.
However, I don't have any idea what Arch/Manjaro is doing but I guess @bnavigator and @sickcodes can help :)
The AUR PKGBUILD from @bnavigator checks out master so I am missing that in my above comment.
Its not mine. Check https://aur.archlinux.org/packages/evdi-git/ for a list of maintainers. I am preparing a evdi-1.7 package with your patch applied though.
Good idea! It's @abucodonosor patch btw, I'm just the cherry-picking backporter 😆
@bnavigator Great! You gonna change it as the requirement on DisplayLink too?
@bnavigator Great! You gonna change it as the requirement on DisplayLink too?
You mean to explicitly require the evdi-1.7
package? I would rather not. evdi-git
or evdi
could get updated and provide the patch too.
hey guys,
Thanks for the hard work. On my Arch linux box with latest kernel in the package, I still can't restart lightdm when displaylink is started.
when I connect displaylink, I can switch to the screen, whitout problem, but when restarting lightdm, no more screen, and huge crash in the journalctl. I tried connecting usb before boot, same problem. I tried switching back to the laptop screen before restarting lightdm, same problem, lightdm wont start anymore. My kernel version is: 5.8.14-arch1-1 and evdi 1.7
Do you have such problem ?
On my Arch linux box with latest kernel in the package,
My kernel version is: 5.8.14-arch1-1 and evdi 1.7
I thought we are talking about kernel 5.9 now? ~Did you restart yet?~
Edit: Ah, Arch stable is still on 5.8.14, only Manjaro created all this fuzz about the new kernel.
Now, I know that my above post was opened as Kernel and DL versions, but I'm a Groovy Gorilla Ubuntu guy, so a lot of the commands don't apply too well for me...
Is there a version agnostic patch available, so after testing on 5.9 I can then still boot back into 5.8.14 and use my extra screen?
Have given my DL Logger output above...
Also, did we not begin here with a patch file rather than a switch of repository for EVDI?
Now I've not been playing around with DisplayLink for a while, but I remember that @AdnanHodzic brought together a bunch of patches (https://github.com/AdnanHodzic/) prior to when the current DisplayLink build did not play nicely with Ubuntu... It worked very well, and was back then superceded by a new official DisplayLink Build...
There were issues when patching relating to Kernel versions breaking bits and pieces, so can't see why we couldn't put together a universal patch, and then after testing, get that pushed into the actual EVDI repo (avoiding other repos)?
I've raised this thread across there discussing the original patch as the item of work, as they have a great team together... https://github.com/AdnanHodzic/displaylink-debian/issues/474
@robotard
I have no idea what do you mean with a 'universal patch'. The patch and the PR https://github.com/DisplayLink/evdi/pull/227 is against official evdi code.
If you mean 'distribution' packages/packaging with the patch/PR this is up2 whoever maintains the package.
Is there a version agnostic patch available, so after testing on 5.9 I can then still boot back into 5.8.14 and use my extra screen?
The evdi kernel module has to be compiled for every kernel version. But you can also compile the module for 5.8, because #227 and #228 use preprocessor macros like #if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE
.
@robotard
(untested) instructions for Ubuntu:
get and unzip the DisplayLink package and extract the inner archive
$ unzip 'DisplayLink USB Graphics Software for Ubuntu 5.3.1.zip'
$ chmod +x displaylink-driver-5.3.1.34.run
$ ./displaylink-driver-5.3.1.34.run --noexec --keep
get evdi 1.7 and patch it with #228 or clone directly
$ wget https://github.com/DisplayLink/evdi/archive/v1.7.0.tar.gz
$ tar xf v1.7.0.tar.gz
$ pushd evdi-1.7.0
$ wget https://github.com/DisplayLink/evdi/pull/228.patch
$ patch -p1 < 228.patch
$ popd
or
$ git clone https://github.com/DisplayLink/evdi.git evdi-1.7.0
$ pushd evdi-1.7.0
$ git fetch origin pull/228/head
$ git checkout -b pr228 FETCH_HEAD
$ popd
replace evdi
$ rm displaylink-driver-5.3.1.34/evdi.tar.gz
$ pushd evdi-1.7.0
$ tar cf evdi.tar.gz *
$ cp evdi.tar.gz ../displaylink-driver-5.3.1.34/
$ popd
install displaylink
$ cd displaylink-driver-5.3.1.34
$ sudo ./displaylink-installer.sh install
Thanks for further instructions. These seem more rounded than in the earlier post that I had replied to.
Will let you know the outcome...
Sent from my iPhone
On 17 Oct 2020, at 11:34, Ben Greiner notifications@github.com wrote:
@robotard
(untested) instructions for Ubuntu:
get and unzip the DisplayLink package and extract the inner archive
$ unzip 'DisplayLink USB Graphics Software for Ubuntu 5.3.1.zip' $ chmod +x displaylink-driver-5.3.1.34.run $ ./displaylink-driver-5.3.1.34.run --noexec --keep get evdi 1.7 and patch it with #228 or clone directly
$ wget https://github.com/DisplayLink/evdi/archive/v1.7.0.tar.gz $ tar xf v1.7.0.tar.gz $ pushd evdi-1.7.0 $ wget https://github.com/DisplayLink/evdi/pull/228.patch $ patch -p1 < 228.patch $ popd or
$ git clone https://github.com/DisplayLink/evdi.git evdi-1.7.0 $ pushd evdi-1.7.0 $ git fetch origin pull/228/head $ git checkout -b pr228 FETCH_HEAD $ popd replace evdi
$ rm displaylink-driver-5.3.1.34/evdi.tar.gz $ pushd evdi-1.7.0 $ tar cf evdi.tar.gz * $ cp evdi.tar.gz ../displaylink-driver-5.3.1.34/ $ popd install displaylink
$ cd displaylink-driver-5.3.1.34 $ sudo ./displaylink-installer.sh install — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
Woahhhh did not know you could download PR's as patches, that's awesome
I did not... That's wicked sick!
Thanks bro!
On Sat, 17 Oct 2020 at 17:40, sickcodes notifications@github.com wrote:
$ wget https://github.com/DisplayLink/evdi/pull/228.patch
Woahhhh did not know you could download PR's as patches, that's awesome
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DisplayLink/evdi/issues/225#issuecomment-711042628, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABB6C4M6DOPPLXC6GO5OTEDSLHCIDANCNFSM4SOANJSA .
Is there a way to get around the "Xorg is running" reboot loop?
On Sun, 18 Oct 2020 at 04:11, Rob Hendricks robstahendricks@gmail.com wrote:
I did not... That's wicked sick!
Thanks bro!
On Sat, 17 Oct 2020 at 17:40, sickcodes notifications@github.com wrote:
$ wget https://github.com/DisplayLink/evdi/pull/228.patch
Woahhhh did not know you could download PR's as patches, that's awesome
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DisplayLink/evdi/issues/225#issuecomment-711042628, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABB6C4M6DOPPLXC6GO5OTEDSLHCIDANCNFSM4SOANJSA .
Ok, booted without GDM and installed... Still no joy... Here are my DLSupport logs...
On Sun, 18 Oct 2020 at 04:26, Rob Hendricks robstahendricks@gmail.com wrote:
Is there a way to get around the "Xorg is running" reboot loop?
On Sun, 18 Oct 2020 at 04:11, Rob Hendricks robstahendricks@gmail.com wrote:
I did not... That's wicked sick!
Thanks bro!
On Sat, 17 Oct 2020 at 17:40, sickcodes notifications@github.com wrote:
$ wget https://github.com/DisplayLink/evdi/pull/228.patch
Woahhhh did not know you could download PR's as patches, that's awesome
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DisplayLink/evdi/issues/225#issuecomment-711042628, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABB6C4M6DOPPLXC6GO5OTEDSLHCIDANCNFSM4SOANJSA .
Ah, just noticed this: patch -pl < 228.patch patch: **** strip count l is not a number
On Sun, 18 Oct 2020 at 05:26, Rob Hendricks robstahendricks@gmail.com wrote:
Ok, booted without GDM and installed... Still no joy... Here are my DLSupport logs...
On Sun, 18 Oct 2020 at 04:26, Rob Hendricks robstahendricks@gmail.com wrote:
Is there a way to get around the "Xorg is running" reboot loop?
On Sun, 18 Oct 2020 at 04:11, Rob Hendricks robstahendricks@gmail.com wrote:
I did not... That's wicked sick!
Thanks bro!
On Sat, 17 Oct 2020 at 17:40, sickcodes notifications@github.com wrote:
$ wget https://github.com/DisplayLink/evdi/pull/228.patch
Woahhhh did not know you could download PR's as patches, that's awesome
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DisplayLink/evdi/issues/225#issuecomment-711042628, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABB6C4M6DOPPLXC6GO5OTEDSLHCIDANCNFSM4SOANJSA .
ignore... used i instead of 1...
Doesn't appear to want to play ball... See above logs
Initially please make sure the problem hasn't been already addressed:
Some information for baseline would help a lot:
Please provide good title for the issue and description. If you can give us logs they will be welcome but please don't paste long listings as they will make it hard to read the thread, instead you can use other services for sharing raw text like pastebin or gist. Also anything that may help to understand the problem will be appreciated (configuration files, screenshots, photos, video capturing the problem).
Thanks!