11-14-2016, 04:10 PM | #11 |
Senior Member
Join Date: Feb 2010
Posts: 386
|
Hmm. Try with something simpler first, e.g. the "example" program that you also built.
This won't show any pixels, but will possibly print more to the console, especially if you enable debug printout (you need to define DEBUG for the build). What's closing the app? Is it crashing? If yes, then running it in gdb might give some extra clues. Cheers, Michal |
11-15-2016, 09:12 AM | #12 |
Junior Member
Join Date: Oct 2016
Posts: 20
|
Hi Michal,
i've built the evdipp package with debug symbols. The output of the terminal window is at follows: Code:
(gdb) run Starting program: /bin/monitorsim edid.dat --enable-debug [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [libevdi] ioctl: drop_master error=-1 [libevdi] ioctl: drop_master error=-1 [libevdi] ioctl: drop_master error=-1 MESA-LOADER: failed to retrieve device information Program received signal SIGILL, Illegal instruction. 0x73424de8 in ?? () from /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0 (gdb) Code:
(gdb) run Starting program: /bin/example EDIDv1_1280x900 --enable-debug [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Reading the EDID file EDIDv1_1280x900 failed. [Inferior 1 (process 1822) exited with code 01] (gdb) I hope that helps. Best regards Michael |
11-16-2016, 07:14 AM | #13 |
Senior Member
Join Date: Feb 2010
Posts: 386
|
What happens if you use a full path to edid file. The message indicates that the program had problems with opening/reading the file that you gave as an argument?
Cheers, Michal |
11-22-2016, 10:40 AM | #14 |
Junior Member
Join Date: Oct 2016
Posts: 20
|
Hi Michal,
i'm back from vacation. Here is the output from 'example' command of the terminal window is at follows: Code:
(gdb) run Starting program: /bin/example /home/pi/EDIDv1_1280x900 --enable-debug [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Reading the EDID file /home/pi/EDIDv1_1280x900 failed. [Inferior 1 (process 962) exited with code 01] Code:
Reading symbols from /bin/monitorsim...done. (gdb) run Starting program: /bin/monitorsim /home/pi/EDIDv1_1280x900 --enable-debug [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Reading the EDID file /home/pi/EDIDv1_1280x900 failed. [Inferior 1 (process 1018) exited with code 01] Best regards Michael |
11-22-2016, 11:49 AM | #15 |
Senior Member
Join Date: Feb 2010
Posts: 386
|
I don't think the file "EDIDv1_1280x900" exists, given that you probably are using EDIDs from Google autotest. You probably meant 1280x800, 1440x900 or 1600x900.
Cheers, Michal |
11-24-2016, 12:13 PM | #16 |
Junior Member
Join Date: Oct 2016
Posts: 20
|
Hi Michal,
Here is the output from 'example' command of the terminal window is at follows: Code:
Starting program: /bin/example /home/pi/EDIDv1_1440x900 --enable-debug [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [libevdi] ioctl: drop_master error=-1 [libevdi] ioctl: drop_master error=-1 Attempting to use device /dev/dri/card1... [libevdi] ioctl: drop_master error=-1 Press Enter or Ctrl+C to quit... And the output from 'monitorsim' command of the terminal window is at follows: Code:
(gdb) run Starting program: /bin/monitorsim /home/pi/EDIDv1_1440x900 --enable-debug [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [libevdi] ioctl: drop_master error=-1 [libevdi] ioctl: drop_master error=-1 [libevdi] ioctl: drop_master error=-1 MESA-LOADER: failed to retrieve device information Program received signal SIGILL, Illegal instruction. 0x73424de8 in ?? () from /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0 Best regards Michael |
11-24-2016, 04:52 PM | #17 |
Senior Member
Join Date: Feb 2010
Posts: 386
|
Looks like `example` managed to talk to evdi and connected to it. You didn't define DEBUG so the output is minimal.
Not sure why you're getting SIGILL for the Qt app, but it looks like you should perhaps update your pi (https://github.com/raspberrypi/linux/issues/766). Anyway. With the `example` running, play with `xrandr` to list available outputs and connectors, and see if reverse prime works. So, in short, keep `example` in the background, and test the following:
...and see how far you get. Regards, Michal |
11-25-2016, 02:35 PM | #18 |
Junior Member
Join Date: Oct 2016
Posts: 20
|
Hi Michal,
Here is the output from 'xrandr' command of the terminal window is at follows: Code:
xrandr Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 2048 x 2048 HDMI-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 359mm x 287mm 1280x1024 60.02*+ 1280x960 60.00 1024x768 60.00 800x600 60.32 640x480 60.00 720x400 70.08 Code:
Providers: number : 1 Provider 0: id: 0x43 cap: 0x2, Sink Output crtcs: 3 outputs: 1 associated providers: 0 name:modesetting pi@raspberrypi:~ $ sudo modprobe evdi pi@raspberrypi:~ $ xrandr --listproviders Providers: number : 1 Provider 0: id: 0x43 cap: 0x2, Sink Output crtcs: 3 outputs: 1 associated providers: 0 name:modesetting pi@raspberrypi:~ $ xrandr --setprovideroutputsource 1 0 Could not find provider with index 1 Code:
xrandr --setprovideroutputsource 1 0 X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 35 () Value in failed request: 0x43 Serial number of failed request: 16 Current serial number in output stream: 17 For this test I used a 17 inch monitor and the HP s140u USB monitor. For a special debug I put up a new image, because I have updated the mesa and libdrm manually. Best regards Michael Last edited by Mahdi2016; 02-09-2017 at 07:09 AM. |
12-05-2016, 12:26 PM | #19 |
Junior Member
Join Date: Oct 2016
Posts: 20
|
Hi Michal,
I have built a new image, only with existing packages. I builded evdi module and evdipp without any problems. The system is an up-to-date Raspian Jessi. After testing the following commands, there was always the error message: *No usable EVDI found* (The evdi module under lsmod is active.) Here is the output from 'example' command of the terminal window is at follows: Code:
#as root: Starting program: /bin/example /home/pi/EDIDv1_1440x900 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [libevdi] ioctl: drop_master error=-1 Attempting to use device /dev/dri/card1... [libevdi] ioctl: drop_master error=-1 Press Enter or Ctrl+C to quit... #as user: Starting program: /bin/example /home/pi/EDIDv1_1440x900 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". No usable EVDI found [Inferior 1 (process 3898) exited with code 02] And the output from 'monitorsim' command of the terminal window is at follows: Code:
#as root: Starting program: /bin/monitorsim /home/pi/EDIDv1_1440x900 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [libevdi] ioctl: drop_master error=-1 [libevdi] ioctl: drop_master error=-1 [libevdi] ioctl: drop_master error=-1 [libevdi] ioctl: drop_master error=-1 No protocol specified QXcbConnection: Could not connect to display :0 Program received signal SIGABRT, Aborted. 0x75f89f70 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. #as user: Starting program: /bin/monitorsim /home/pi/EDIDv1_1440x900 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". No usable EVDI found [Inferior 1 (process 3864) exited with code 02] I hope this information will help you. Best regards Michael |
12-05-2016, 03:03 PM | #20 |
Senior Member
Join Date: Feb 2010
Posts: 386
|
Not being able to use evdi if not running as root is normal. (see note in https://displaylink.github.io/evdi/q...rt/#evdi-nodes)
Not seeing any extra output from "example" is also normal - but while the application is running, it should already be possible to check `xrandr` if you see DVI-*-* connector. Also, what `xrandr --listproviders` shows. From what monitorsim run as root logs, I think you are running in ssh session, with no DISPLAY set. Run `export DISPLAY=:0` and try again... Edit: on another look, it complains about not being able to connect to :0, so it might be something else... Cheers, Michal |
|
|