Go Back   DisplayLink Forum > DisplayLink Graphics Technology > Linux and Open Source

Reply
 
Thread Tools Search this Thread Display Modes
Old 09-02-2015, 09:37 AM   #31
guerrierk
Junior Member
 
Join Date: Jul 2015
Posts: 21
Default

Quote:
Originally Posted by AtoutSerenite View Post
Has anyone worked out the permission problem on the download? Do you have to post before downloading?
I don't know how the download system work on this forum but you're not the first that talk about this problem... I updated my post to share a link to download the file from my Drive.

Maybe an admin will answer you to some rules / rights you must have to download...

Bye
guerrierk is offline   Reply With Quote
Old 09-02-2015, 02:56 PM   #32
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default automation

guerrierk, you may want to check out my Debian 8.1 install thread again. I'm making great headway on auto-detection and plug and play support.
stuguy909 is offline   Reply With Quote
Old 09-02-2015, 03:17 PM   #33
guerrierk
Junior Member
 
Join Date: Jul 2015
Posts: 21
Default

Quote:
Originally Posted by stuguy909 View Post
guerrierk, you may want to check out my Debian 8.1 install thread again. I'm making great headway on auto-detection and plug and play support.
Hi stuguy909,

I follow your thread but I'm not really agree with your process... I don't consider that automatically starting the script on rc is a solution. If the USB screen is not connected, the module is started but it will not be used...
I still work on a better detection of the plug and start the script at this time.
More over, i don't think that setting systematically provider 1 and 2 to provider 0 is a good idea... It can cause some problem on a computer which have an integrated and a dedicated video card, so the USB screen will be on provider 3 (by exemple)...

I think we can be more efficient and work in this way.

;-)
guerrierk is offline   Reply With Quote
Old 09-04-2015, 03:32 PM   #34
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default Process

What you see is just the beginnings of the project. I need a small library of functions that will allow me to collect data on the status of the driver, status of the USB connection, and status of the display providers. I also need to be able to automatically turn on the driver, set the output sources, and preferably, turn on and position my monitors based on some sort of preset file. This rc.d instruction set isn't final. My aim is to have USB detection handled in the RC.d first that will be the primary condition to control whether the display link driver is even allowed to run, then drive my displaylink libraries after the fact. I am just trying to get the monitor setup automated first, because that is what is important at the moment. I can easily create a thread that runs on a while loop that runs on a lsusb | grep displaylink condition. It seems that debian and CentOS both report my dock as a Displaylink device, so this may actually be a plausible condition to design. Just keep watching If you know how to adjust monitor size and position with CLI commands, this will be a HUGE help.

Edit: emphasis on additional monitor setup using cli or config files.

Last edited by stuguy909; 09-04-2015 at 03:34 PM.
stuguy909 is offline   Reply With Quote
Old 09-04-2015, 06:46 PM   #35
guerrierk
Junior Member
 
Join Date: Jul 2015
Posts: 21
Post a little useful script

Hi stuguy909,

Currently, I made a little script that I launch manually as root after connecting my device.
filename : connect_screen.sh
Code:
#!/bin/sh

if [ $(id -u) != 0 ]; then
  echo "You need to be root to use this script." >&2
  exit 1
fi

REFER_SCREEN="LVDS1"
NEW_SCREEN="DVI-1-0"
POSITION="left"

echo "Loading displaylink service..."
systemctl start displaylink.service
echo "Screen connection..."
sleep 2
xrandr --setprovideroutputsource 1 0
sleep 2
echo "Available screen : "
xrandr | grep connected | grep -v disconnected | cut -d' ' -f1
echo "They can be used with option -r to specify the referer screen"
echo "They can be used with option -n to specify the new screen"
echo "The position (left, right) can be specified with option -p"
echo "..."

while getopts :sr:n:p: OPTION 
do
 case "$OPTION" in
     s)
         exit 1
         ;;
     r) 
         REFER_SCREEN="$OPTARG"
         ;;
     n) 
         NEW_SCREEN="$OPTARG"
         ;;
     p) 
         POSITION="$OPTARG"
         ;;
     :)  
         echo "$OPTARG need an argument"
        exit 5
         ;;
    \?) 
         echo "Incorrect option... "
        exit 3
        ;;
  esac
done

echo "Place the displaylink screen $NEW_SCREEN at $POSITION of the screen $REFER_SCREEN."

sleep 2
xrandr --output $NEW_SCREEN --auto --$POSITION-of $REFER_SCREEN

echo "Install complete. You can adjust your configuration in the settings panel."
To display available screen, you can use it with -s option
Code:
# ./connect_screen.sh -s
Loading displaylink service...
Screen connection...
Available screen : 
LVDS1
DVI-1-0
They can be used with option -r to specify the referer screen
They can be used with option -n to specify the new screen
The position (left, right) can be specified with option -p
...
The screen LVDS1 is generally the main screen... In my case, the DVI-1-0 is my HP Elite Display.

So, to place the screen DVI-1-0 on the right of LVSD1, you have to use the script like :
Code:
# ./connect_screen.sh -n DVI-1-0 -p right -r LVDS1 
Loading displaylink service...
Screen connection...
Available screen : 
LVDS1
DVI-1-0
They can be used with option -r to specify the referer screen
They can be used with option -n to specify the new screen
The position (left, right) can be specified with option -p
...
Place the displaylink screen DVI-1-0 at right of the screen LVDS1.
Install complete. You can adjust your configuration in the settings panel.
Option's order is not important...

I will add it into my installer and copy it to /sbin to be used by root.

You should found some helpful command into this script. I hope that this can help you ;-)

To the automation, I think that UDEV could do what we need but I have not found the correct rule yet...

Last edited by guerrierk; 09-04-2015 at 07:20 PM. Reason: bugfix for first use
guerrierk is offline   Reply With Quote
Old 09-08-2015, 05:19 AM   #36
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default

That code example does help, thank you. I have been on holiday this weekend, I will resume coding tomorrow. You saved me a bit of time from having to read up on the xrandr man pages. I would like to borrow some of your switch statement code for beefing up the usability of the displaylink script I'm working on, if you don't mind? A status of what I have achieved and hope to accomplish:

Code:
1) script package launches default behaviors when Displaylink USB device is plugged in -TODO

2) Displaylink service automatically starts and stops -DONE

3) Print connection status of providers and provider count - DONE

4) Print provider unique names - TODO | additionaly, what did you use to pull the monitor names individually?  I can print the monitors, but they are in lines of text.

5) Automatically activate all connected providers if script is running - DONE

6) Manually position monitors with a modified version of your code examples - TODO

7) Automatically position monitors based on a preset config file - TODO

8) Script package to be universally compatible on Debian 8.1 for everyone's machine, not just ours. -TODO | I'd say, minus the USB detection, this is pretty much near complete
stuguy909 is offline   Reply With Quote
Old 09-08-2015, 05:35 AM   #37
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default

One more thought. I would like to borrow your installer scripting services when I have my displaylink init.d package working. I am using init.d so the software loads on RC5. Like I stated earlier, I want to make the USB detection the parent condition for all other services or threads. I would like to add a code segment to your install script when I have the auto detection working. The idea is adding a bit of code that lists your connected monitors after the driver is started. I would like for a text prompt to load up all of your monitors and ask you to enter which provider is the reference, and which are the positioned monitors. This would then create a permanent config file that would be loaded every time the script package is started. I think this is a good idea because random internet people will have something that just works and they won't have to do a lot of tweaking. If we make the scripts detailed enough, then other distros can borrow the ideas / code base for their project.
stuguy909 is offline   Reply With Quote
Old 10-22-2015, 07:48 AM   #38
marek
Junior Member
 
Join Date: Oct 2015
Posts: 4
Default

Hi all,

I have installed the drivers but after enabling extra screen in Gnome Screens management, it crashes X server and I need to log in again. Using Debian 8.2.

Output of dmesg can be found on pastebin: http://pastebin.com/ugVgQ5Vk
The DisplayLink logs can be found under that url: https://drive.google.com/file/d/0B3_...ew?usp=sharing

Any thoughs why this is happening?

Thanks,
Marek

Last edited by marek; 10-22-2015 at 12:12 PM.
marek is offline   Reply With Quote
Old 10-22-2015, 02:54 PM   #39
guerrierk
Junior Member
 
Join Date: Jul 2015
Posts: 21
Default

Hi Marek,

I don't found anything that could explain why your X crashes un your dmesg... The DL logs may help but I can't read them. Some people of DL team will certainly talk about it.

Could you post your Xserver's error log please ?

Thx
guerrierk is offline   Reply With Quote
Old 10-22-2015, 07:32 PM   #40
marek
Junior Member
 
Join Date: Oct 2015
Posts: 4
Default

Hi Guerrierk,

Thanks for the reply. I pasted my Xorg logs here http://pastebin.com/y56ekUR9

Thanks,
Marek
marek is offline   Reply With Quote
Reply

Tags
debian

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:47 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.