blue-systems / plasma-5.5

Plasma 5.2 - 5.5
0 stars 0 forks source link

[vncserver]: kwin_x11 fails to start? #91

Open star-buck opened 9 years ago

star-buck commented 9 years ago

29/03/15 12:30:40 Xvnc version TightVNC-1.3.10 29/03/15 12:30:40 See http://www.tightvnc.com/ for information on TightVNC 29/03/15 12:30:40 Desktop name 'X' (netrunner-Aspire-X1930:2) 29/03/15 12:30:40 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t 29/03/15 12:30:40 Listening for VNC connections on TCP port 5902 Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring xrdb: No such file or directory xrdb: can't open file '/home/netrunner/.Xresources'

star-buck commented 9 years ago

here a screenshot of the remote connection from vncclient: snap 2015-03-29 at 15 47 28 So the vncserver does start, but then kwin_x11 seems to fail due to the error in the logfile in comment above? I know this seems likely not directly plasma-related, but stupidity on my side, so any help to get a vnc session into plasma5 would be appreciated :)

mgraesslin commented 9 years ago

I must say that I have no idea. I never tried to VNC into a Plasma session and even for KDE 4 it's probably years ago.

Are you trying to forward the complete session or connecting to an existing session?

star-buck commented 9 years ago

@mgraesslin : best is to try again then, its simple: http://www.tightvnc.com/vncserver.1.php vnc especially comes handy with a minicomputer like the Pi acting as a standalone unit without extra mouse+keybaord and display attached, so being functional with plasma/kwin would be nice.

mgraesslin commented 9 years ago

so it's starting an X-Server called Xvnc. I'll try to install it, but my guess right now is that it's missing required extensions.

mgraesslin commented 9 years ago

For the reference the backtrace: Program received signal SIGSEGV, Segmentation fault. 0x00007fffee874a50 in xcb_setup_vendor_end () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 (gdb) bt

0 0x00007fffee874a50 in xcb_setup_vendor_end () from /usr/lib/x86_64-linux-gnu/libxcb.so.1

1 0x00007fffee874aa9 in xcb_setup_pixmap_formats_iterator () from /usr/lib/x86_64-linux-gnu/libxcb.so.1

2 0x00007fffee874ae9 in xcb_setup_roots_iterator () from /usr/lib/x86_64-linux-gnu/libxcb.so.1

3 0x00007fffeffbda4d in NETRootInfo::NETRootInfo (this=0x839620, connection=0x61c3c0, supportWindow=4294967295, wmName=0x7ffff78e696f "KWin", properties=..., windowTypes=..., states=..., properties2=..., actions=..., screen=0,

doActivate=true) at /home/martin/src/kf5/frameworks/kwindowsystem/src/netwm.cpp:669

4 0x00007ffff775ae65 in KWin::RootInfo::RootInfo (this=0x839620, w=4294967295, name=0x7ffff78e696f "KWin", properties=..., types=..., states=..., properties2=..., actions=..., scr=0)

at /home/martin/src/kf5/kde/workspace/kwin/netinfo.cpp:140

5 0x00007ffff775ad4d in KWin::RootInfo::create () at /home/martin/src/kf5/kde/workspace/kwin/netinfo.cpp:125

6 0x00007ffff7714ac4 in KWin::Workspace::init (this=0x7192a0) at /home/martin/src/kf5/kde/workspace/kwin/workspace.cpp:244

7 0x00007ffff77144e7 in KWin::Workspace::Workspace (this=0x7192a0, restore=false) at /home/martin/src/kf5/kde/workspace/kwin/workspace.cpp:213

8 0x00007ffff776af59 in KWin::Application::createWorkspace (this=0x7fffffffdcc0) at /home/martin/src/kf5/kde/workspace/kwin/main.cpp:375

9 0x00007ffff7bd6aef in KWin::ApplicationX11::<lambda()>::operator()(void) const (__closure=0x7fffffffc890) at /home/martin/src/kf5/kde/workspace/kwin/main_x11.cpp:173

10 0x00007ffff7bd796d in QtPrivate::FunctorCallQtPrivate::IndexesList<, QtPrivate::List<>, void, KWin::ApplicationX11::performStartup()::<lambda()> >::call(KWin::ApplicationX11::<lambda()>, void *_) (f=..., arg=0x7fffffffca00)

at /opt/qt5/include/QtCore/qobjectdefs_impl.h:494

11 0x00007ffff7bd7922 in QtPrivate::FunctorKWin::ApplicationX11::performStartup()::<lambda(), 0>::callQtPrivate::List<, void>(KWin::ApplicationX11::<lambda()> &, void , void _) (f=..., arg=0x7fffffffca00)

at /opt/qt5/include/QtCore/qobjectdefs_impl.h:551

12 0x00007ffff7bd78bf in QtPrivate::QFunctorSlotObjectKWin::ApplicationX11::performStartup()::<lambda(), 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase , QObject , void , bool *) (which=1, this_=0x678e30,

r=0x6694d0, a=0x7fffffffca00, ret=0x0) at /opt/qt5/include/QtCore/qobject_impl.h:192

13 0x00007fffeedfc62b in QtPrivate::QSlotObjectBase::call (this=0x678e30, r=0x6694d0, a=0x7fffffffca00) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124

14 0x00007fffeedf970c in QMetaObject::activate (sender=0x6694d0, signalOffset=3, local_signal_index=1, argv=0x0) at kernel/qobject.cpp:3702

15 0x00007fffeedf9024 in QMetaObject::activate (sender=0x6694d0, m=0x7ffff01ed720 KSelectionOwner::staticMetaObject, local_signal_index=1, argv=0x0) at kernel/qobject.cpp:3582

16 0x00007fffeffd365b in KSelectionOwner::claimedOwnership (this=0x6694d0) at /opt/build/kf5/frameworks/kwindowsystem/src/moc_kselectionowner.cpp:150

17 0x00007fffeffa82d9 in KSelectionOwner::Private::claimSucceeded (this=0x6841f0) at /home/martin/src/kf5/frameworks/kwindowsystem/src/kselectionowner.cpp:206

18 0x00007fffeffa83fa in KSelectionOwner::Private::gotTimestamp (this=0x6841f0) at /home/martin/src/kf5/frameworks/kwindowsystem/src/kselectionowner.cpp:240

19 0x00007fffeffa8a0c in KSelectionOwner::filterEvent (this=0x6694d0, ev_P=0x7fffd8001e80) at /home/martin/src/kf5/frameworks/kwindowsystem/src/kselectionowner.cpp:424

20 0x00007fffeffa9271 in KSelectionOwner::Private::nativeEventFilter (this=0x6841f0, eventType=..., message=0x7fffd8001e80, result=0x7fffffffcd58) at /home/martin/src/kf5/frameworks/kwindowsystem/src/kselectionowner.cpp:117

21 0x00007fffeedb1903 in QAbstractEventDispatcher::filterNativeEvent (this=0x639e80, eventType=..., message=0x7fffd8001e80, result=0x7fffffffcd58) at kernel/qabstracteventdispatcher.cpp:460

22 0x00007fffe0ca46c9 in QXcbConnection::handleXcbEvent (this=0x61ae30, event=0x7fffd8001e80) at qxcbconnection.cpp:854

23 0x00007fffe0ca6698 in QXcbConnection::processXcbEvents (this=0x61ae30) at qxcbconnection.cpp:1297

24 0x00007fffe0ce71d6 in QXcbConnection::qt_static_metacall (_o=0x61ae30, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffd8002cb0) at .moc/moc_qxcbconnection.cpp:185

25 0x00007fffeedf1d0f in QMetaCallEvent::placeMetaCall (this=0x7fffd8002cd0, object=0x61ae30) at kernel/qobject.cpp:485

26 0x00007fffeedf2dd8 in QObject::event (this=0x61ae30, e=0x7fffd8002cd0) at kernel/qobject.cpp:1245

27 0x00007fffe0ca7ab3 in QXcbConnection::event (this=0x61ae30, e=0x7fffd8002cd0) at qxcbconnection.cpp:1910

28 0x00007fffef8fb5ec in QApplicationPrivate::notify_helper (this=0x612fb0, receiver=0x61ae30, e=0x7fffd8002cd0) at kernel/qapplication.cpp:3720

29 0x00007fffef8f8d68 in QApplication::notify (this=0x7fffffffdcc0, receiver=0x61ae30, e=0x7fffd8002cd0) at kernel/qapplication.cpp:3164

30 0x00007ffff7769ddf in KWin::Application::notify (this=0x7fffffffdcc0, o=0x61ae30, e=0x7fffd8002cd0) at /home/martin/src/kf5/kde/workspace/kwin/main.cpp:241

31 0x00007fffeedb63bc in QCoreApplication::notifyInternal (this=0x7fffffffdcc0, receiver=0x61ae30, event=0x7fffd8002cd0) at kernel/qcoreapplication.cpp:935

32 0x00007fffeedba01d in QCoreApplication::sendEvent (receiver=0x61ae30, event=0x7fffd8002cd0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228

33 0x00007fffeedb76f5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6032b0) at kernel/qcoreapplication.cpp:1552

34 0x00007fffeee2baff in QEventDispatcherUNIX::processEvents (this=0x639e80, flags=...) at kernel/qeventdispatcher_unix.cpp:579

35 0x00007fffe0d2a30e in QUnixEventDispatcherQPA::processEvents (this=0x639e80, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62

36 0x00007fffeedb3060 in QEventLoop::processEvents (this=0x7fffffffdbe0, flags=...) at kernel/qeventloop.cpp:128

37 0x00007fffeedb3339 in QEventLoop::exec (this=0x7fffffffdbe0, flags=...) at kernel/qeventloop.cpp:204

This looks very similar to https://bugs.kde.org/show_bug.cgi?id=343844 which is related to not having randr and that's also what I see on that fake X:

DISPLAY=:1 xrandr RandR extension missing

Now RandR is a required extension for KWin and apparently also for Qt - we get "incorrect" information from Qt which is causing the crash. To get this working we would need fixes in multiple areas.

Personally I consider X without RandR extension outside the specification of what KWin requires (and probably also for most other software of the workspace). My suggested action would be to change KWin to not crash but terminate. I can also work on making it work without XrandR but I fear this would end in weeks of running into strange issues.

star-buck commented 9 years ago

would terminate Kwin make vnc work?

mgraesslin commented 9 years ago

Missing randr extension is not the only problem, also fixes, composite and damage are missing. At least fixes is an extension kwin uses unconditionally and render is at least used unconditionally as a fallback for missing composite extension in the outline. This is not new, that has already been the case in 4.x - KWin won't work on that X server, KWin didn't work on that X server.

mgraesslin commented 9 years ago

would terminate Kwin make vnc work?

no, because any qtquick application would just crash, due to missing glx:

DISPLAY=:1 glxinfo name of display: :1 Error: couldn't find RGB GLX visual or fbconfig

star-buck commented 9 years ago

so whats the preferred method then for accessing plasma5/kwin remotely from another kde or non-kde machine/OS?

mgraesslin commented 9 years ago

What I just want to try is whether krfb is working.

mgraesslin commented 9 years ago

the combination of krfb (server) and krdc (client) still works over the rdp backend.

star-buck commented 9 years ago

so how do i access a plasma-session from a non-kde system, e.g. Windows/Mac?

mgraesslin commented 9 years ago

you need to start krfb on the plasma-session. I'm not familiar with the software and do not know whether it can be started automatically.

On Windows it's just the remote windows viewer (no idea how it's called, but it should be available as rdp comes from Windows). For OSX I do not know how whether there is a rdp viewer pre-installed.

mgraesslin commented 9 years ago

Relevant upstream report for the actual crash condition: https://bugreports.qt.io/browse/QTBUG-31389

star-buck commented 9 years ago

Here is my findings: Installed krfb+xrdp and while i couldnt find any way to make krfb use rdp, it turns out that accessing plasma-session now just works fine via tightvnc client. Thing is since krfb is kde4-legacy, is this only because of something else legacy running in background?

mgraesslin commented 9 years ago

krfb supports AFAIK both VNC and RDP. So seems like the VNC support works better than tightvnc sersver - good.

I don't get your question qbout kde4-legacy.

star-buck commented 9 years ago

wouldnt krfb need a proper qt/kf5-port? seems odd that krfb-kde4 vnc is working with new kwin5 while vncserver isnt...

mgraesslin commented 9 years ago

wouldnt krfb need a proper qt/kf5-port?

would nice to be, but technically there is no need. It works also with Qt 4 ;-)

seems odd that krfb-kde4 vnc is working with new kwin5 while vncserver isnt...

Not at all. tightvnc ships with a for modern applications broken X server as a proxy. Krfb probably doesn't.