wayvnc icon indicating copy to clipboard operation
wayvnc copied to clipboard

Doesn't work correctly under Labwc on older models of Raspberry Pi

Open lurch opened this issue 1 year ago • 3 comments

Useful information:

Please, try to gather as much of useful information as possible and follow these instructions:

  • Version:
    • Run this command: wayvnc -V
wayvnc: 0.9-dev
neatvnc: 0.9-dev
aml: 0.3.0
  • Describe how to reproduce the problem

Write the latest version of Raspberry Pi OS Bookworm (either 32-bit or 64-bit) from https://www.raspberrypi.com/software/operating-systems/ onto a microSD card. For 32-bit, you can reproduce this bug on a Pi 1B, a Pi 2B, a Pi 3B or a Pi 3B+. For 64-bit, you can only reproduce this bug on a Pi 3B or a Pi 3B+. Connect an HDMI monitor, USB mouse and USB keyboard to the Pi. Boot up the OS by connecting power to the Pi and run through the initial first-boot wizard. Once the OS has fully loaded, open a Terminal window, run sudo raspi-config, navigate to "Advanced Options" -> "Wayland" and select "Labwc", then select "Finish" and reboot as prompted. Once the OS has loaded again, run sudo raspi-config in a Terminal again, navigate to "Interface Options" -> "VNC" and choose "Yes" to enable it, select "Finish".

The Pi has now been configured to use the Labwc compositor, and running WayVNC. See https://www.raspberrypi.com/documentation/computers/remote-access.html#ip-address for various ways of determining the Pi's IP address. Attempt to connect to the WayVNC server on the Pi from another computer (I'm using TigerVNC Viewer v1.13.1 on a Linux laptop), and after authenticating the client appears to have connected to the Pi, but TigerVNC just displays a solid grey window! If you wiggle the laptop's mouse-cursor about inside this grey window, then the mouse-cursor also moves on the HDMI monitor attached to the Pi.

If you repeat the above test with the same microSD card on either a Raspberry Pi 4B or a Raspberry Pi 5, then TigerVNC displays the Pi's desktop totally fine, so this appears to be isolated to Pis older than a Pi 4.

lurch avatar Jul 25 '24 14:07 lurch

Does it work with Wayfire or do those older devices require software rendering?

any1 avatar Jul 25 '24 14:07 any1

I'm now going on holiday for a week, so pinging @spl237 and @cillian64 in case they'd like to reply to this whilst I'm away :slightly_smiling_face:

lurch avatar Jul 26 '24 06:07 lurch

I'm sure I have a raspberry pi 3 somewhere, but I'm not sure into which box I packed it.

Anyhow, mouse movement tells us that the wayvnc is attached to the compositor and the grey screen tells us that it has not been able to capture a single frame.

Running with the environment variable WL_DEBUG=1 would be useful to see get a trace of the communication with the compositor. It might also be interesting to run without the -g/--gpu flag to see if it has anything to do with dmabufs.

any1 avatar Jul 26 '24 10:07 any1

I'm observing this behavior on a 3B with a DSI touch screen updated to the most recent bookworm packages.

$ wayvnc -V
wayvnc: 0.9-dev
neatvnc: 0.9-dev
aml: 0.3.0

The resolution of the gray screen and the resolution of the monitor are also out of sync, so when I mouse below (or to the right of) a certain point, the cursor wraps to the very top (left).

@any1 I'm willing to get a trace, etc, if you give me a little more detail on how to do so.

jswolf19 avatar Sep 27 '24 02:09 jswolf19

@jswolf19 What is the output from the command sudo groups vnc?

It the vnc user is not in the video group, please try adding it: sudo usermod vnc -aG video.

any1 avatar Sep 27 '24 09:09 any1

Adding the vnc user to the video group, then rebooting the Raspberry Pi (Raspberry Pi 3 Model B Plus Rev 1.3) fixed this problem for me. Thanks @any1.

behackett avatar Sep 29 '24 04:09 behackett

@any1 Adding vnc to group video followed by a restart worked for me as well. Without the reboot, the resolution was able to sync, and the initial login screen was displayed, but after logging in, the video was still grayed out.

jswolf19 avatar Sep 30 '24 01:09 jswolf19

Sorry for forgetting to follow-up here. We've been discussing this problem over email, and fixing the group-permissions also fixes the problem as described in the initial report. :+1:

lurch avatar Oct 02 '24 09:10 lurch

@lurch Is it ok to assume that the raspberry pi package providing wayvnc also takes care of providing permissions (or is planned to)? Is there an issue or PR somewhere for that that could be linked here, or a version number to look for?

jswolf19 avatar Oct 02 '24 11:10 jswolf19

@lurch Is it ok to assume that the raspberry pi package providing wayvnc also takes care of providing permissions (or is planned to)? Is there an issue or PR somewhere for that that could be linked here, or a version number to look for?

This change is made in the wayvnc package version 0.9.0~dev-1+rpt1 which should be available after an apt update. (apt policy wayvnc is a simple way to check what's installed and what the latest available is)

cillian64 avatar Oct 02 '24 11:10 cillian64

I had had wayvnc package version 0.9.0~dev-1+rpt1 installed before but the video group wasn't added. However, I reinitialized my SD card with Pi Imager and performed an update and the vnc user was successfully added to the video group.

jswolf19 avatar Oct 03 '24 08:10 jswolf19

Bear in mind that vnc was added to the video group in 0.9.0~dev-1+rpt1, it wasn't in 0.9.0~dev-1.

I've just upgraded wayvnc to 0.9.0~dev-1+rpt1 on my Pi and it has added the vnc user to the video group. Did you reboot after upgrading wayvnc the first time?

cillian64 avatar Oct 03 '24 09:10 cillian64

I think I did reboot, but I honestly don't remember. I also probably did some other stuff that might've contributed to the issue.

jswolf19 avatar Oct 03 '24 11:10 jswolf19