Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 934918 - x11-wm/xpra-6.0.1 - cannot start server
Summary: x11-wm/xpra-6.0.1 - cannot start server
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Paul Zander
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-25 10:06 UTC by kavol
Modified: 2024-06-30 22:23 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info x11-wm/xpra (emerge-info-xpra,8.03 KB, text/plain)
2024-06-27 12:21 UTC, kavol
Details

Note You need to log in before you can comment on or make changes to this bug.
Description kavol 2024-06-25 10:06:58 UTC
xpra had always worked out of the box for me, simple `xpra start :100` fired up the server

Because of the python upgrade being blocked by xpra (among others) I wanted to try to use the newer version, but the command now fails for me.

Downgrading to x11-wm/xpra-4.4.6-r2 makes it working again.


kavol@w541 ~ $ xpra start :100
Warning: XDG_RUNTIME_DIR is not defined
 and '/run/user/1000' does not exist
 using '/tmp'
kavol@w541 ~ $ Entering daemon mode; any further errors will be reported to:
  '/tmp/xpra/100/server.log.new'
vfb failed to start, exiting



Reproducible: Always




kavol@w541 ~ $ cat /tmp/xpra/100/server.log
2024-06-25 12:05:50,872 Error: cannot enable SSH socket upgrades
2024-06-25 12:05:50,872  `paramiko` module not found
Socket path '/tmp/.X11-unix/X100' not found
2024-06-25 12:05:50,893 no uinput module (not usually needed)

X.Org X Server 1.21.1.13
X Protocol Version 11, Revision 0
Current Operating System: Linux w541 6.6.30-gentoo #1 SMP PREEMPT_DYNAMIC Sun May  5 23:49:42 CEST 2024 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.6.30-gentoo root=PARTUUID=051240df-01 rw
 
Current version of pixman: 0.43.4
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/xpra/100/Xorg.log", Time: Tue Jun 25 12:05:50 2024
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) 
Fatal server error:
(EE) no screens found(EE) 
(EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/tmp/xpra/100/Xorg.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
2024-06-25 12:05:50,907 
2024-06-25 12:05:50,907 Xvfb command has terminated! xpra cannot continue
2024-06-25 12:05:50,907  if the display is already running, try a different one,
2024-06-25 12:05:50,908  or use the --use-display flag
2024-06-25 12:05:50,908  full command: /usr/bin/Xorg -noreset -novtswitch -nolisten tcp  +extension GLX +extension RANDR +extension RENDER  -auth $XAUTHORITY -logfile ${XPRA_SESSION_DIR}/Xorg.log  -configdir "${XPRA_SESSION_DIR}/xorg.conf.d/$PID"  -config  "${XORG_CONFIG_PREFIX}/etc/xpra/xorg.conf"
2024-06-25 12:05:50,908 

kavol@w541 ~ $ cat /tmp/xpra/100/Xorg.log 
[ 50908.391] 
X.Org X Server 1.21.1.13
X Protocol Version 11, Revision 0
[ 50908.391] Current Operating System: Linux w541 6.6.30-gentoo #1 SMP PREEMPT_DYNAMIC Sun May  5 23:49:42 CEST 2024 x86_64
[ 50908.391] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.6.30-gentoo root=PARTUUID=051240df-01 rw
[ 50908.391]  
[ 50908.391] Current version of pixman: 0.43.4
[ 50908.391]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[ 50908.391] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 50908.392] (++) Log file: "/tmp/xpra/100/Xorg.log", Time: Tue Jun 25 12:05:50 2024
[ 50908.392] (++) Using config file: "/etc/xpra/xorg.conf"
[ 50908.392] (EE) Unable to locate/open config directory: "/tmp/xpra/100/xorg.conf.d/25981"
[ 50908.392] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 50908.392] (==) ServerLayout "dummy_layout"
[ 50908.392] (**) |-->Screen "dummy_screen" (0)
[ 50908.392] (**) |   |-->Monitor "dummy_monitor"
[ 50908.392] (**) |   |-->Device "dummy_videocard"
[ 50908.392] (**) Option "DontVTSwitch" "true"
[ 50908.392] (**) Option "AllowMouseOpenFail" "true"
[ 50908.392] (**) Option "AutoAddDevices" "false"
[ 50908.392] (**) Option "AutoEnableDevices" "false"
[ 50908.392] (**) Allowing byte-swapped clients
[ 50908.392] (**) Not automatically adding devices
[ 50908.392] (**) Not automatically enabling devices
[ 50908.392] (==) Automatically adding GPU devices
[ 50908.392] (==) Automatically binding GPU devices
[ 50908.392] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 50908.392] (WW) The directory "/usr/share/fonts/misc" does not exist.
[ 50908.392]    Entry deleted from font path.
[ 50908.392] (WW) The directory "/usr/share/fonts/TTF" does not exist.
[ 50908.392]    Entry deleted from font path.
[ 50908.392] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 50908.392]    Entry deleted from font path.
[ 50908.392] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 50908.392]    Entry deleted from font path.
[ 50908.392] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[ 50908.392]    Entry deleted from font path.
[ 50908.392] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[ 50908.392]    Entry deleted from font path.
[ 50908.392] (==) FontPath set to:

[ 50908.392] (==) ModulePath set to "/usr/lib64/xorg/modules"
[ 50908.392] (==) |-->Input Device "<default pointer>"
[ 50908.392] (==) |-->Input Device "<default keyboard>"
[ 50908.392] (==) The core pointer device wasn't specified explicitly in the layout.
        Using the default mouse configuration.
[ 50908.392] (==) The core keyboard device wasn't specified explicitly in the layout.
        Using the default keyboard configuration.
[ 50908.392] (II) Module ABI versions:
[ 50908.392]    X.Org ANSI C Emulation: 0.4
[ 50908.392]    X.Org Video Driver: 25.2
[ 50908.392]    X.Org XInput driver : 24.4
[ 50908.392]    X.Org Server Extension : 10.0
[ 50908.393] (EE) systemd-logind: failed to get session: PID 25983 does not belong to any known session
[ 50908.393] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 50908.393] (II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card0
[ 50908.395] (--) PCI:*(0@0:2:0) 8086:0416:17aa:221e rev 6, Mem @ 0xb1400000/4194304, 0xa0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/131072
[ 50908.395] (--) PCI: (1@0:0:0) 10de:0ff6:17aa:221e rev 161, Mem @ 0xb0000000/16777216, 0x80000000/268435456, 0x90000000/33554432, I/O @ 0x00004000/128, BIOS @ 0x????????/524288
[ 50908.396] (II) LoadModule: "glx"
[ 50908.397] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[ 50908.398] (II) Module glx: vendor="X.Org Foundation"
[ 50908.398]    compiled for 1.21.1.13, module version = 1.0.0
[ 50908.398]    ABI class: X.Org Server Extension, version 10.0
[ 50908.398] (II) LoadModule: "dummy"
[ 50908.398] (WW) Warning, couldn't open module dummy
[ 50908.398] (EE) Failed to load module "dummy" (module does not exist, 0)
[ 50908.398] (II) LoadModule: "mouse"
[ 50908.398] (WW) Warning, couldn't open module mouse
[ 50908.398] (EE) Failed to load module "mouse" (module does not exist, 0)
[ 50908.398] (II) LoadModule: "kbd"
[ 50908.398] (WW) Warning, couldn't open module kbd
[ 50908.398] (EE) Failed to load module "kbd" (module does not exist, 0)
[ 50908.398] (EE) No drivers available.
[ 50908.398] (EE) 
Fatal server error:
[ 50908.398] (EE) no screens found(EE) 
[ 50908.398] (EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
[ 50908.398] (EE) Please also check the log file at "/tmp/xpra/100/Xorg.log" for additional information.
[ 50908.398] (EE) 
[ 50908.398] (EE) Server terminated with error (1). Closing log file.
Comment 1 Paul Zander 2024-06-25 12:39:12 UTC
Are you sure nothing is running on DISPLAY :100? Check via xpra list

Can you attach your /etc/xpra/xorg.conf ?
Comment 2 kavol 2024-06-26 13:39:14 UTC
(In reply to Paul Zander from comment #1)
> Are you sure nothing is running on DISPLAY :100? Check via xpra list
> 
> Can you attach your /etc/xpra/xorg.conf ?

kavol@w541 ~ $ xpra start :100
Warning: XDG_RUNTIME_DIR is not defined
 and '/run/user/1000' does not exist
 using '/tmp'
kavol@w541 ~ $ Entering daemon mode; any further errors will be reported to:
  '/tmp/xpra/100/server.log'
vfb failed to start, exiting

kavol@w541 ~ $ xpra list
Warning: XDG_RUNTIME_DIR is not defined
 and '/run/user/1000' does not exist
 using '/tmp'
No xpra sessions found
kavol@w541 ~ $ cat /etc/xpra/xorg.conf
# This xorg configuration file is meant to be used by xpra
# to start a dummy X11 server.
# For details, please see:
# https://github.com/Xpra-org/xpra/blob/master/docs/Usage/Xdummy.md

Section "ServerFlags"
  Option "DontVTSwitch" "true"
  Option "AllowMouseOpenFail" "true"
  Option "PciForceNone" "true"
  Option "AllowEmptyInput" "true"
  Option "AutoEnableDevices" "false"
  Option "AutoAddDevices" "false"
EndSection

Section "Device"
  Identifier "dummy_videocard"
  Driver "dummy"
  DacSpeed 30000
  Option "ConstantDPI" "true"
  #VideoRam 2048000
  #VideoRam 1024000
  VideoRam 768000
  #VideoRam 512000
  #VideoRam 384000
  #VideoRam 256000
  #VideoRam 192000
EndSection

Section "Monitor"
  Identifier "dummy_monitor"
  HorizSync   1.0 - 300000.0
  VertRefresh 1.0 - 300.0
EndSection

Section "Screen"
  Identifier "dummy_screen"
  Device "dummy_videocard"
  Monitor "dummy_monitor"
  DefaultDepth 24
  SubSection "Display"
    Viewport 0 0
    Depth 8
    #requires more ram:
    #Modes "16000x15000" "15000x15000" "16384x8192"  ..
    Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200"
    #Virtual 16384 16384
    Virtual 11520 6318
  EndSubSection
  SubSection "Display"
    Viewport 0 0
    Depth 16
    #requires more ram:
    #Modes "16000x15000" "15000x15000" "16384x8192"  ..
    Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200"
    #Virtual 16384 16384
    Virtual 11520 6318
  EndSubSection
  SubSection "Display"
    Viewport 0 0
    Depth 24
    #requires more ram:
    #Modes "16000x15000" "15000x15000" "16384x8192"  ..
    Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200"
    #Virtual 16384 16384
    Virtual 11520 6318
  EndSubSection
  SubSection "Display"
    Viewport 0 0
    Depth 30
    #requires more ram:
    #Modes "16000x15000" "15000x15000" "16384x8192"  ..
    Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200"
    #Virtual 16384 16384
    Virtual 11520 6318
  EndSubSection
EndSection

Section "ServerLayout"
  Identifier   "dummy_layout"
  Screen       "dummy_screen"
EndSection
Comment 3 Paul Zander 2024-06-26 21:47:53 UTC
xorg.conf looks fine. "Warning: XDG_RUNTIME_DIR is not defined and '/run/user/1000' does not exist" not so much.

Can you _attach_, not paste the output of `emerge --info x11-wm/xpra` as well? And tell me if there is anything special about your setup?
Comment 4 kavol 2024-06-27 12:21:25 UTC
Created attachment 896504 [details]
emerge --info x11-wm/xpra
Comment 5 kavol 2024-06-27 12:26:09 UTC
(In reply to Paul Zander from comment #3)
> And tell me if there is anything special about your setup?

don't know ... just that I'm trying to avoid systemd and other unnecessary stuff as much as possible (seeing "(EE) systemd-logind: failed" in the log ...)
Comment 6 James Le Cuirot gentoo-dev 2024-06-27 21:31:06 UTC
Not having XDG_RUNTIME_DIR pointing at a valid directory is going to give you problems in general. It's a strong indicator that you're doing something unusual. If you're not using systemd, then this is handled by elogind. I can see this is enabled in your USE flags, probably by your profile. However, pam is missing from your USE flags, and this is what automatically activates elogind when you log in. pam is enabled by default in Linux profiles and disabling it is not a great idea. Seriously, you're saving all of 2MB here.
Comment 7 kavol 2024-06-28 01:19:57 UTC
(In reply to James Le Cuirot from comment #6)
> Not having XDG_RUNTIME_DIR pointing at a valid directory is going to give
> you problems in general.

well, if that is so, I'd expect that *something* (that really requires it) is going to take care of it ... or am I, as an "stupid" user, expected to put such things manually into .bashrc or wherever?

> It's a strong indicator that you're doing something unusual.

see above - is it unusual just not to set these things manually?

> If you're not using systemd, then this is handled by elogind. I can
> see this is enabled in your USE flags, probably by your profile. However,
> pam is missing from your USE flags, and this is what automatically activates
> elogind when you log in. pam is enabled by default in Linux profiles and
> disabling it is not a great idea. Seriously, you're saving all of 2MB here.

pam: it is not just about saving 2 MB - it is about saving the hassle to do extra steps to set up automatic login (without password) for the local user (by "local" I mean the one who has the access to the hardware) and not messing with ssh policies set in sshd config (disallowing password for both ordinary user and root while allowing keys for both)

- well, yes, it is doable ... but with -pam, it just works out of the box - *seriously*

why would I need an extra configuration layer (that is potentially prone to attacks, btw) for things that are just okay as they are, without that?
Comment 8 James Le Cuirot gentoo-dev 2024-06-28 08:44:27 UTC
Sorry if my tone was a bit off. Please understand that we get a lot of reports from users who are not up front about having disabled key system components for no reason other than they couldn't spare 1MB on their 1TB drive or they believe anything vaguely systemd-related is evil. This ends up wasting everyone's time.

We allow PAM to be disabled primarily for extremely minimal use cases, which this clearly isn't, so I was a little wary. However, your explanation for disabling PAM is quite reasonable, so I respect that. I would say that even with vulnerabilities considered, having PAM is normally much more secure than not having PAM, but most of what is does is password-related, so I can see that it probably doesn't add much in your case. For what it's worth, pam_autologin is pretty easy to set up, but that's up to you.

Regarding this package's requirements, it doesn't strictly require PAM. I have successfully used it under WSL, where there is no PAM-based login. In that case, I did set up XDG_RUNTIME_DIR manually through .bashrc, although Xpra's /tmp fall back should theoretically work too. I was just trying to rule things out here and avoid you having wider problems later, as lots of software uses XDG_RUNTIME_DIR.

On closer inspection, I think the problem is related to Xdummy. We used to disable that feature unconditionally, but we no longer do, perhaps because it is now mandatory. There is no dependency on x11-drivers/xf86-video-dummy though. Try installing that.
Comment 9 James Le Cuirot gentoo-dev 2024-06-28 08:51:12 UTC
Also to be clear, I no longer use Xpra and didn't make that change, which is why I haven't spotted the problem myself. I have now dropped myself as a maintainer.
Comment 10 kavol 2024-06-28 09:44:50 UTC
(In reply to James Le Cuirot from comment #8)
> Sorry if my tone was a bit off.

NP, I'm veteran of the times when opensource enthusiasts focused on the point of the message and not the tone, so I myself am not diplomatic enough most of the time ...

> We allow PAM to be disabled primarily for extremely minimal use cases, which
> this clearly isn't, so I was a little wary. However, your explanation for
> disabling PAM is quite reasonable, so I respect that. I would say that even
> with vulnerabilities considered, having PAM is normally much more secure
> than not having PAM, but most of what is does is password-related, so I can
> see that it probably doesn't add much in your case. For what it's worth,
> pam_autologin is pretty easy to set up, but that's up to you.

well, that's it, I don't care about passwords, because physical access is secured by physical lock on the front door and if someone overcomes it, I have a bigger problem than whether he is able to log into my computer

and for remote access, I don't allow passwords at all

and I am getting a bit tired by some developers - "hey, we've created this nice piece of software that solves something, let's make it hard dependency for everyone to be able to solve the thing, regardless of whether there even exists the problem to be solved in the first place" (and yes, this contributes to "anything vaguely systemd-related is evil" because systemd is prominent example of this approach and such things usually waste *my* time - with gross example being journald which slowed down boot to that extent that some machines weren't able to boot as things timed out (Fedora bug 967521))

> On closer inspection, I think the problem is related to Xdummy. We used to
> disable that feature unconditionally, but we no longer do, perhaps because
> it is now mandatory. There is no dependency on x11-drivers/xf86-video-dummy
> though. Try installing that.

thanks, it looks like it solves the problem - now the corresponding process is running:

kavol    31431     1  0 10:57 ?        00:00:01 /usr/bin/Xorg-for-Xpra-100 -noreset -novtswitch -nolisten tcp +extension GLX +extension RANDR +extension RENDER -auth /home/kavol/.Xauthority -logfile /tmp/xpra/100/Xorg.log -configdir /tmp/xpra/100/xorg.conf.d/31429 -config /etc/xpra/xorg.conf -depth 24 :100

and I can run X applications on DISPLAY :100

however ... now my Fedora client which is version 5.0.6 is unable to connect and trying on localhost, I get

kavol@w541 ~ $ xpra attach ssh:localhost:100
Warning: XDG_RUNTIME_DIR is not defined
 and '/run/user/1000' does not exist
 using '/tmp'
failed to initialize Gtk, no display?

while DISPLAY is set, I can run other apps without problem from the same terminal

but thats different problem ...

so, can someone please add the dependency at least?
Comment 11 Paul Zander 2024-06-28 20:43:13 UTC
Not sure if that is related to XDG_RUNTIME_DIR being undefined. Can you try to rebuild with USE=-gtk3? The client should work without iirc.
Comment 12 Larry the Git Cow gentoo-dev 2024-06-30 22:23:43 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06ac0e5918c9ef2e319d6e562bd807241eae791b

commit 06ac0e5918c9ef2e319d6e562bd807241eae791b
Author:     James Le Cuirot <chewi@gentoo.org>
AuthorDate: 2024-06-30 22:23:11 +0000
Commit:     James Le Cuirot <chewi@gentoo.org>
CommitDate: 2024-06-30 22:23:11 +0000

    x11-wm/xpra: Add missing x11-drivers/xf86-video-dummy dependency
    
    This used to be optional and we were disabling it, but now it's mandatory. Not
    entirely sure this needs to be among the test dependencies but seems likely.
    
    Bug: https://bugs.gentoo.org/934918
    Signed-off-by: James Le Cuirot <chewi@gentoo.org>

 x11-wm/xpra/{xpra-6.0.1.ebuild => xpra-6.0.1-r1.ebuild} | 1 +
 x11-wm/xpra/xpra-6.9999.ebuild                          | 1 +
 x11-wm/xpra/xpra-9999.ebuild                            | 1 +
 3 files changed, 3 insertions(+)