Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General lazycast software ease of use improvements #96

Open
shodanx2 opened this issue Sep 27, 2021 · 3 comments
Open

General lazycast software ease of use improvements #96

shodanx2 opened this issue Sep 27, 2021 · 3 comments

Comments

@shodanx2
Copy link

Hello,

I am posting this here as an issue since github seeming lacks any other form public commenting functions.
After several months of looking into a way to connect more than one monitor to my PC and failing miserably.

(I tried usb to display port adapter, all but one port on my video cards are blown, moonlight, steamlink, nvidia gamestreatm, I tried spacedesk etc.. nothing else really worked)

I was intimidated to try lazycast, first because I don't want my extra screen to be wifi and just flood my local wifi spectrum with data. I really wanted wired. And yes, the description talks about MICE but it said it still needed wifi. And the instructions looked like a mess and I figured this would just mess up my raspberry pi distribution and not work like the rest.

In particular that long list of packages needed to switch to NetworkManager (including openvpn ?) was worrying. I figure this would end up disturbing other things, other software that expect Raspberry Pi's default config.

Anyway, I was wrong this software works better than everything else I tried by a long shot.

Performance is just a little bit below moonlight/steamlink in terms of image quality but that is only because of a periodic compression artifact.

Latency is amazing, it is in fact indistinguishable from a locally connected display. This software is perfectly usable as it is !

So here are the few things that do need work in my opinion.
They are minor.

  1. There should be a script that you just paste into a file and from a fresh updated new RPiOS install, does all the switches necessary for lazycast in one go. This is basically already there. There could be one for WiDi and one for MICE where each attempt to do the minimum amount of changes to make this work.

  2. Screen blanking doesn't work right. Out of the box, the screen will blank on RPi inactivity you have to disable it in (Raspberry Pi Icon) >> Preferences >> Raspberry Pi Configuration >> Display >> screen blanking >> disable then reboot. But this causes the opposite problem, the screen will never blank. Even if you leave your computer and windows makes the main monitor sleep. The RPi/lazycast screen will not (actually might or might not) blank, will not suspend the screen.

  3. RPi cursor intermitently appears on top of lazycast
    I have no mouse or anything on the RPi. Only thing I can do is log in with VNC (lazycast tech makes VNC obsolete, there should be a new VNC that uses this tech already !) and move the mouse to the right hand corner and see it less. Sometime it does disappear.

  4. Periodic compression artifact.
    About every second, the whole screen goes subtly more blurry and quickly comes back to good. I suspect this is some keyframe reset but the keyframe is lower res than the "built up" image, so there's a dip in image quality. I suspect this is to prevent image drift from the compression ? This is not an issue with steamlink/moonlight and it is the only point in which lazycast is not as good as that other software. Still perfectly usable just a bit ugly. Without this, it would be very difficult to tell apart a lazycast/ethernet connection from a display port connected monitor !

  5. Windows sucks (this is all window's fault, lazycast can't do anything to fix this from the RPi side but this needs fixing to make this whole setup as good as a wired monitor)
    So to connect the display, for every single display (will have 4 of them) every single time you have to
    Right click on desktop select "Display settings"
    Scroll down and click on "Connect a wireless display"
    Wait for the display to appear.
    Click that display
    Wait
    Open task manager (ctrl+shift+esc)
    Go to processes and scroll down to Windows Shell Experience Host
    Right click that and end process (to make the "Connected to" toolbar at the top disappear, that thing is useless AND very annoying to deal with browser tabs !)

If the connection is lost, you have to do this again for every display, you have to do this on every reboot
Also if the computer goes in suspend, the connection will be lost and windows will not automatically reconnect the displays !

@shodanx2
Copy link
Author

Since I have to make four of these, I made this little script out of the instructions. The very last line does nothing because even if you "sudo echo" the bash shell that does the writing isn't privileged enough to do this

Also, I need to add the option to either disable screen blanking, or make the screen blanking delay infinite (possibly this would allow Windows MICE source to blank and actually suspend the display when the PC goes to monitor sleep ?)

pi@LeftScreen:~ $ cat lazycastinstall.sh

#!/bin/bash
wget http://ftp.us.debian.org/debian/pool/main/w/wpa/wpasupplicant_2.4-1+deb9u6_armhf.deb
sudo apt -y --allow-downgrades install ./wpasupplicant_2.4-1+deb9u6_armhf.deb
sudo apt -y install network-manager network-manager-gnome openvpn openvpn-systemd-resolved network-manager-openvpn network-manager-openvpn-gnome
sudo apt -y purge dhcpcd5
sudo systemctl disable systemd-resolved
sudo apt -y install libx11-dev libasound2-dev libavformat-dev libavcodec-dev
cd /opt/vc/src/hello_pi/libs/ilclient/
make
cd /opt/vc/src/hello_pi/hello_video
make
cd ~/
git clone https://github.com/homeworkc/lazycast
cd ~/lazycast
make
# for MICE
sudo apt -y install avahi-utils
cd ~
mv lazycast /opt/
echo "@lxterminal -l --working-directory=/opt/lazycast/ -e ./mice.py" >> "/etc/xdg/lxsession/LXDE-pi/autostart"

Although I suspect instead of /etc/xdg/lxsession/LXDE-pi/autostart there might be an equivalent file in ~/ that is writable without privileged access.

Also also, there might a better place than this to start lazycast ? Shouldn't it be started by initd or systemd (whatever systemd, I'm old, get off my lawn)

@ghost
Copy link

ghost commented Oct 28, 2021

Thanks for the script, which pi and version of raspbian are you using?
I'm using a pi zero w, downgrading wpa_supplicant on buster is giving me issues, I can't connect to any networks.

@shodanx2
Copy link
Author

I used 2021-05-07-raspios-buster-armhf.zip on a RPi 4

Post your specific error messages in a separate issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant