TigerVNC not working in ARM minimal rootfs with KDE Plasma

,

I’m testing Manjaro ARM on my phone running in chroot using the Linux Deploy and VNC to large screen for display. VNC is the only way to access the desktop in my setup. I prepared the rootfs for installation in LD from the provided Manjaro ARM minimal rootfs and installed the DE. So far I’ve been using XFCE accessed by VNC. Worked fine.

But now I decided to try KDE Plasma instead of XFCE. So I set up new chroot in LD and installed plasma, kio-extras and tigervnc packages. But after setting the vncpasswd and running vncserver :1 the vncserver output in terminal stops “somewhere in the middle” compared to the output from the VNC output in the XFCE setup. When I connect using the VNC client, it shows the KDE splash screen for couple of seconds and then the screen turns to black. No panel, no background, no right click response, just the moveable cursor on the black screen. Nothing else. And no other VNC server output in terminal to check what is wrong.

I set up the VNC server and I’m connecting to it in the same way as I was with the XFCE setup. But with XFCE it worked, With KDE Plasma it doesn’t. Any idea why?

This is the whole VNC server output with the KDE Plasma:

-sh-5.1$ vncserver :1
Using desktop session plasma

New 'linux@pocof3:1 (tux)' desktop is linux@pocof3:1

Starting desktop session plasma


Xvnc TigerVNC 1.11.0 - built Nov 24 2020 20:54:48
Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
See https://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12009000, The X.Org Foundation


Sun Nov 14 23:41:02 2021
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on all interface(s), port 5901
 vncext:      created VNC server for screen 0
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86BrightnessAuto
> Warning:          Could not resolve keysym XF86DisplayOff
> Warning:          Could not resolve keysym XF86Info
> Warning:          Could not resolve keysym XF86AspectRatio
> Warning:          Could not resolve keysym XF86DVD
> Warning:          Could not resolve keysym XF86Audio
> Warning:          Could not resolve keysym XF86ChannelUp
> Warning:          Could not resolve keysym XF86ChannelDown
> Warning:          Could not resolve keysym XF86Break
> Warning:          Could not resolve keysym XF86VideoPhone
> Warning:          Could not resolve keysym XF86ZoomReset
> Warning:          Could not resolve keysym XF86Editor
> Warning:          Could not resolve keysym XF86GraphicsEditor
> Warning:          Could not resolve keysym XF86Presentation
> Warning:          Could not resolve keysym XF86Database
> Warning:          Could not resolve keysym XF86Voicemail
> Warning:          Could not resolve keysym XF86Addressbook
> Warning:          Could not resolve keysym XF86DisplayToggle
> Warning:          Could not resolve keysym XF86SpellCheck
> Warning:          Could not resolve keysym XF86ContextMenu
> Warning:          Could not resolve keysym XF86MediaRepeat
> Warning:          Could not resolve keysym XF8610ChannelsUp
> Warning:          Could not resolve keysym XF8610ChannelsDown
> Warning:          Could not resolve keysym XF86Images
> Warning:          Could not resolve keysym XF86NotificationCenter
> Warning:          Could not resolve keysym XF86PickupPhone
> Warning:          Could not resolve keysym XF86HangupPhone
> Warning:          Could not resolve keysym XF86Fn
> Warning:          Could not resolve keysym XF86Fn_Esc
> Warning:          Could not resolve keysym XF86FnRightShift
> Warning:          Could not resolve keysym XF86Numeric0
> Warning:          Could not resolve keysym XF86Numeric1
> Warning:          Could not resolve keysym XF86Numeric2
> Warning:          Could not resolve keysym XF86Numeric3
> Warning:          Could not resolve keysym XF86Numeric4
> Warning:          Could not resolve keysym XF86Numeric5
> Warning:          Could not resolve keysym XF86Numeric6
> Warning:          Could not resolve keysym XF86Numeric7
> Warning:          Could not resolve keysym XF86Numeric8
> Warning:          Could not resolve keysym XF86Numeric9
> Warning:          Could not resolve keysym XF86NumericStar
> Warning:          Could not resolve keysym XF86NumericPound
> Warning:          Could not resolve keysym XF86NumericA
> Warning:          Could not resolve keysym XF86NumericB
> Warning:          Could not resolve keysym XF86NumericC
> Warning:          Could not resolve keysym XF86NumericD
> Warning:          Could not resolve keysym XF86CameraFocus
> Warning:          Could not resolve keysym XF86WPSButton
> Warning:          Could not resolve keysym XF86CameraZoomIn
> Warning:          Could not resolve keysym XF86CameraZoomOut
> Warning:          Could not resolve keysym XF86CameraUp
> Warning:          Could not resolve keysym XF86CameraDown
> Warning:          Could not resolve keysym XF86CameraLeft
> Warning:          Could not resolve keysym XF86CameraRight
> Warning:          Could not resolve keysym XF86AttendantOn
> Warning:          Could not resolve keysym XF86AttendantOff
> Warning:          Could not resolve keysym XF86AttendantToggle
> Warning:          Could not resolve keysym XF86LightsToggle
> Warning:          Could not resolve keysym XF86ALSToggle
> Warning:          Could not resolve keysym XF86Buttonconfig
> Warning:          Could not resolve keysym XF86Taskmanager
> Warning:          Could not resolve keysym XF86Journal
> Warning:          Could not resolve keysym XF86ControlPanel
> Warning:          Could not resolve keysym XF86AppSelect
> Warning:          Could not resolve keysym XF86Screensaver
> Warning:          Could not resolve keysym XF86VoiceCommand
> Warning:          Could not resolve keysym XF86Assistant
> Warning:          Could not resolve keysym XF86BrightnessMin
> Warning:          Could not resolve keysym XF86BrightnessMax
> Warning:          Could not resolve keysym XF86KbdInputAssistPrev
> Warning:          Could not resolve keysym XF86KbdInputAssistNext
> Warning:          Could not resolve keysym XF86KbdInputAssistPrevgroup
> Warning:          Could not resolve keysym XF86KbdInputAssistNextgroup
> Warning:          Could not resolve keysym XF86KbdInputAssistAccept
> Warning:          Could not resolve keysym XF86KbdInputAssistCancel
> Warning:          Could not resolve keysym XF86RightUp
> Warning:          Could not resolve keysym XF86RightDown
> Warning:          Could not resolve keysym XF86LeftUp
> Warning:          Could not resolve keysym XF86LeftDown
> Warning:          Could not resolve keysym XF86RootMenu
> Warning:          Could not resolve keysym XF86MediaTopMenu
> Warning:          Could not resolve keysym XF86Numeric11
> Warning:          Could not resolve keysym XF86Numeric12
> Warning:          Could not resolve keysym XF86AudioDesc
> Warning:          Could not resolve keysym XF863DMode
> Warning:          Could not resolve keysym XF86NextFavorite
> Warning:          Could not resolve keysym XF86StopRecord
> Warning:          Could not resolve keysym XF86PauseRecord
> Warning:          Could not resolve keysym XF86VOD
> Warning:          Could not resolve keysym XF86Unmute
> Warning:          Could not resolve keysym XF86FastReverse
> Warning:          Could not resolve keysym XF86SlowReverse
> Warning:          Could not resolve keysym XF86Data
> Warning:          Could not resolve keysym XF86OnScreenKeyboard
> Warning:          Could not resolve keysym XF86PrivacyScreenToggle
> Warning:          Could not resolve keysym XF86SelectiveScreenshot
> Warning:          Could not resolve keysym XF86Macro1
> Warning:          Could not resolve keysym XF86Macro2
> Warning:          Could not resolve keysym XF86Macro3
> Warning:          Could not resolve keysym XF86Macro4
> Warning:          Could not resolve keysym XF86Macro5
> Warning:          Could not resolve keysym XF86Macro6
> Warning:          Could not resolve keysym XF86Macro7
> Warning:          Could not resolve keysym XF86Macro8
> Warning:          Could not resolve keysym XF86Macro9
> Warning:          Could not resolve keysym XF86Macro10
> Warning:          Could not resolve keysym XF86Macro11
> Warning:          Could not resolve keysym XF86Macro12
> Warning:          Could not resolve keysym XF86Macro13
> Warning:          Could not resolve keysym XF86Macro14
> Warning:          Could not resolve keysym XF86Macro15
> Warning:          Could not resolve keysym XF86Macro16
> Warning:          Could not resolve keysym XF86Macro17
> Warning:          Could not resolve keysym XF86Macro18
> Warning:          Could not resolve keysym XF86Macro19
> Warning:          Could not resolve keysym XF86Macro20
> Warning:          Could not resolve keysym XF86Macro21
> Warning:          Could not resolve keysym XF86Macro22
> Warning:          Could not resolve keysym XF86Macro23
> Warning:          Could not resolve keysym XF86Macro24
> Warning:          Could not resolve keysym XF86Macro25
> Warning:          Could not resolve keysym XF86Macro26
> Warning:          Could not resolve keysym XF86Macro27
> Warning:          Could not resolve keysym XF86Macro28
> Warning:          Could not resolve keysym XF86Macro29
> Warning:          Could not resolve keysym XF86Macro30
> Warning:          Could not resolve keysym XF86MacroRecordStart
> Warning:          Could not resolve keysym XF86MacroRecordStop
> Warning:          Could not resolve keysym XF86MacroPresetCycle
> Warning:          Could not resolve keysym XF86MacroPreset1
> Warning:          Could not resolve keysym XF86MacroPreset2
> Warning:          Could not resolve keysym XF86MacroPreset3
> Warning:          Could not resolve keysym XF86KbdLcdMenu1
> Warning:          Could not resolve keysym XF86KbdLcdMenu2
> Warning:          Could not resolve keysym XF86KbdLcdMenu3
> Warning:          Could not resolve keysym XF86KbdLcdMenu4
> Warning:          Could not resolve keysym XF86KbdLcdMenu5
Errors from xkbcomp are not fatal to the X server
xinit: XFree86_VT property unexpectedly has 0 items instead of 1
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
dbus-update-activation-environment: error: unable to connect to D-Bus: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-tux'

And here I’m adding just the fragment from the VNC output with the working XFCE setup just for comparison (it continues further after this fragment):

> Warning:          Could not resolve keysym XF86KbdLcdMenu1
> Warning:          Could not resolve keysym XF86KbdLcdMenu2
> Warning:          Could not resolve keysym XF86KbdLcdMenu3
> Warning:          Could not resolve keysym XF86KbdLcdMenu4
> Warning:          Could not resolve keysym XF86KbdLcdMenu5
Errors from xkbcomp are not fatal to the X server
xinit: XFree86_VT property unexpectedly has 0 items instead of 1
Running X session wrapper
Loading profile from /etc/profile
Loading xinit script /etc/X11/xinit/xinitrc.d/40-libcanberra-gtk-module.sh
Loading xinit script /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
dbus-update-activation-environment: error: unable to connect to D-Bus: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead
X session wrapper complete, running session startxfce4
/usr/bin/startxfce4: X server already running on display :1
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
dbus-update-activation-environment: error: unable to connect to D-Bus: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead

(process:29017): Gtk-WARNING **: 23:44:27.769: Locale not supported by C library.
        Using the fallback 'C' locale.
_IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root

I would be glad for any idea on how to make VNC server working for KDE Plasma too.

I don’t use KDE so my contribution will be limited.

The messages provide indicates that something is not initialized as expected.

My thought is this is not entirely VNC related - maybe .xinitrc is lacking the initialization.

Hi,

Nice to read your post.

vnc doesn’t work anymore on arm device with kde since months with the Odroid N2, I posted some feedback on the Manjaro arm forum, I solved this issue with an other DE.

What is strange, I build my arm images with the same softwares for the Odroid C2, Odroid C4 and Odroid N2, vnc and samba doesn’t work on the Odroid N2. The 3 devices are running with Kde.
Samba is set with the same parameter, like the vnc server krfb.

The solution for a working samba and vnc on the Odroid N2 ? Build an image with an other DE

You’re feedback concern TigerVNC.
Did you try to install KRFB ? it’s a kde soft, I’m really please with this one for the desktop sharing.
on x86 and arm devices.
Did you try to run samba on your kde device?

I stay tune, for sure to solve this issue.

August bug report

September bug report

October bug report

I bookmarked your post !

Thank you for trying to help. But I think this is not the problem, because the “Failed to connect to bus…” message appears in both VNC ouuputs, not in the not working KDE setup only, but in the working setup with XFCE too.

The only difference I can found in both VNC outputs is the part mentioning the running X session wrapper which appears in the XFCE working case, but is missing from the not working KDE case. But I cannot tell if this is the cause of the problem.

Thank you for your surprising reply! You are telling me, that VNC is working for you in the case of Odroid C2 and Odroid C4, but not in the case of Odroid N2? All three running KDE? Ugh, that’s really strange! I would not expect anything like that…

Thank you for pointing me at the KRFB workaround. But unfortunately this is not a solution for me. According to the information I found on the KRFB, it is used for sharing the already existing desktop session. In my case there is no existing session. I run the Manjaro ARM in chroot on Android phone and does not have the X server running on this device. So I need the solution providing me the virtual desktop which is what VNC does. But KRFB doesn’t as far I can tell.

So it seems that the only solution for me is to forget the KDE and to try the LXQt. That’s really a shame. I already found your latest LXQt testing report and did not uderstand why you were mentioning that VNC and samba works. Now I uderstand already.

BTW: I did not tried samba yet as it doesn’t make sense for me until I get the DE via VNC working.

Thank you so much for your important information!

1 Like

So, I can confirm, that VNC server works with LXQt for me. I realized, that VNC server output contains the messages on running the X session wrapper. These are the same (besides the “startxfce4” obviously) as in the other working case with XFCE DE, see below:

Running X session wrapper
Loading profile from /etc/profile
Loading xinit script /etc/X11/xinit/xinitrc.d/40-libcanberra-gtk-module.sh
Loading xinit script /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
...
X session wrapper complete, running session startxfce4

But these messages are missing in the not working case with the KDE. So, could this be the cause of the problem? Strange thing is that all the files in /etc/X11 directory and the /etc/profile file exist in all mentioned cases (XFCE, KDE and LXQt) and seems to be the same. So the question is why the X session wrapper seems not to be executed by the VNC server in the KDE case even though all needed files seems to be in place?

Thanks for your reply and your contribution to solve this issue.

Exactly.

Yes.

Yes.

Hmm, so I symliked the /etc/X11/tigervnc/Xsession file to /etc/X11/Xsession. Now the X session wrapper seems to be executed:

Running X session wrapper
Loading profile from /etc/profile
Loading xinit script /etc/X11/xinit/xinitrc.d/40-libcanberra-gtk-module.sh
Loading xinit script /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
...
X session wrapper complete, running session /usr/bin/startplasma-x11

But this does not have any effect on the result unfortunately. KDE splash screen appears for couple of seconds, then the screen turns into pure black, no background, no panel, no right click action. Just the moveable cursor on the black screen. Exactly the same as in the previous attempts with KDE.

So X session wrapper does not seems to be the cause.

Have a look here, about Xrender, don’t forget lo read the Strit and 0n0w1c answers

So VNC does not work with KDE/Plasma because they removed the XRender from Plasma and let the OpenGL only? But I believe the TigerVNC should work with OpenGL. But I may be wrong.

BTW: Your problem might be caused by the libgl: According to this thread [SOLVED]VNC Black Screen KDE Plasma / Newbie Corner / Arch Linux Forums TigerVNC had problem with nvidia-libgl. Maybe the similar do apply for Odroid now. If I check the Manjaro ARM available packages with pacman -Ss libgl, libgl for Odroid C2 is available (maybe works for C4 too), but for N2 is not.

1 Like

Maybe changing the window manager could be solution too: https://serverfault.com/questions/890151/arch-server-running-vnc-no-longer-displaying-anything

Unfortunately I cannot test it as I do not know how to enable the other WM after installing (e.g. Install Display Managers - Manjaro) as I cannot use systemctl command in my chroot environment.

It does not seem to be an issue related to VNC only. I installed the x2goserver and the result is exactly the same, i.e. KDE splash screen for couple of seconds and then just the black screen with cursor and nothing else.

I have read many times that it behaves like this when there is other X session login active and the solution is pretty simple, just to log out from that session. But I am not logged in any other X session.

Finaly solved!

The solution is right here: XFCE not playing nice with tigervnc.

BTW: For running KDE/Plasma using the x2goserver just use the following command in the x2goclient’s session setings: dbus-launch /usr/bin/startplasma-x11. That’s it.

thanks for your feedback, I’ll try it this week-end on the Odroid n2.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.