Is anyone else having X.org issues lately?
Everything was working fine until a few days ago when I booted up the computer. XDM started and I couldn't log in because it didn't respond to the keyboard. When I run X on a virtual console, the cursor just sits in the middle and nothing happens when I move the mouse. I have to Alt+SysRq+R and switch back to stop X (with ^C). [edit]This only works if X uses tty7+, or else I can't ever switch back.[/edit]
The X.org log provided these helpful messages (one continuous excerpt):
Code: Select all
[ 4310.111] (==) ModulePath set to "/usr/lib64/xorg/modules"
[ 4310.113] (++) |-->Input Device "Mouse0"
[ 4310.114] (++) |-->Input Device "Keyboard0"
[ 4310.115] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 4310.116] (WW) Disabling Mouse0
[ 4310.118] (WW) Disabling Keyboard0
[ 4310.118] (II) Module ABI versions:
[ 4310.118] X.Org ANSI C Emulation: 0.4
[ 4310.118] X.Org Video Driver: 25.2
[ 4310.118] X.Org XInput driver : 24.4
[ 4310.118] X.Org Server Extension : 10.0
[ 4310.120] (EE) dbus-core: error connecting to system bus: org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory)
[ 4310.123] (++) using VT number 7
[ 4310.124] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 4310.127] (II) xfree86: Adding drm device (/dev/dri/card0)Then it tries to connect to DBus. I have no idea why X would ever need to connect to DBus on its own, but apparently it does. I'm not sure on this, but perhaps this has to do with udev support in x11-base/xorg-server which is required to support elogind which is required to support running X without it being setuid root. Does udev use dbus? Everything has gone wrong since dbus came along.
So I checked if DBus was running and indeed it was. There's a socket at /run/dbus/system_dbus_socket and PID 2632 has a file descriptor 4 which points to a socket with identifier 6704, which is listening and in use by dbus-daemon with PID 2632, which indeed was the PID I found earlier. I used `ss -plan | grep dbus` and `ls -l /proc/$PID/fd` to find these details. Furthermore, the permissions along the entire path appears to allow anyone on the system to connect to this socket, for better or worse.
It's very nice that (e)logind can help run X without running it as root, but this whole setup is quite complicated and brittle. Unless, of course, you cave in and buy MS-Systemd, which is free. But then you'd have a thousand other bugs to get rid of.
Sorry to be somewhat cynical here. I'm not sure what to do next with this giant ball of mud. And no, wayland is absolutely NOT an option. I tried and I tried and I tried, but it still has major shortcomings. Copy and paste? Good luck. Shaded windows? Good luck. Your window manager crashes? Must bring everything else down with it.
Here's my emerge --info:
Code: Select all
Portage 3.0.68 (python 3.13.5-final-0, default/linux/amd64/23.0/split-usr/no-multilib/hardened, gcc-15, glibc-2.41-r4, 6.12.36 x86_64)
=================================================================
System uname: Linux-6.12.36-x86_64-with-glibc2.41
KiB Mem: 15568564 total, 6605316 free
KiB Swap: 8388600 total, 8388600 free
Timestamp of repository gentoo: Mon, 07 Jul 2025 09:15:00 +0000
Head commit of repository gentoo: 03f2aabeb0a64b69ac182348a0a5b603d0e95d94
Head commit of repository elementary: ea8f0819505a12db3ae23047bd5c635c7346d228
Head commit of repository gentoo-bootstrap: 0461df6829396e6b78347e6f9f65d7f20913e27f
Timestamp of repository guru: Mon, 07 Jul 2025 09:07:11 +0000
Head commit of repository guru: eb2ccd2924c27501bdb8c19158a9a82ba0875fab
Timestamp of repository kde: Sun, 06 Jul 2025 21:22:13 +0000
Head commit of repository kde: 9ac9e4988dd39da4841a2fc327e119bae035f62e
sh bash 5.2_p37-r3
ld GNU ld (Gentoo 2.44 p1) 2.44.0
app-misc/pax-utils: 1.3.8::gentoo
app-shells/bash: 5.2_p37-r3::gentoo
dev-build/autoconf: 2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake: 1.17-r2::gentoo
dev-build/cmake: 4.0.3::gentoo
dev-build/libtool: 2.5.4::gentoo
dev-build/make: 4.4.1-r100::gentoo
dev-build/meson: 1.7.2::gentoo
dev-java/java-config: 2.3.4::gentoo
dev-lang/perl: 5.40.2::gentoo
dev-lang/python: 3.12.11::gentoo, 3.13.5::gentoo
dev-lang/rust: 1.85.1-r1::gentoo, 1.86.0-r2::gentoo
llvm-core/clang: 19.1.7::gentoo, 20.1.7::gentoo
llvm-core/lld: 19.1.7::gentoo, 20.1.7::gentoo
llvm-core/llvm: 19.1.7::gentoo, 20.1.7::gentoo
sys-apps/baselayout: 2.17::gentoo
sys-apps/openrc: 0.56::gentoo
sys-apps/sandbox: 2.46::gentoo
sys-devel/binutils: 2.44-r1::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc: 14.3.0::gentoo, 15.1.0::gentoo
sys-devel/gcc-config: 2.12.1::gentoo
sys-kernel/linux-headers: 6.12::gentoo (virtual/os-headers)
sys-libs/glibc: 2.41-r4::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage/
priority: -1000
volatile: False
sync-rsync-verify-metamanifest: yes
sync-rsync-verify-max-age: 3
sync-rsync-verify-jobs: 1
sync-rsync-extra-opts:
elementary
location: /var/db/repos/elementary
sync-type: git
sync-uri: https://github.com/pimvullers/elementary.git
masters: gentoo
volatile: False
gentoo-bootstrap
location: /var/db/repos/gentoo-bootstrap
sync-type: git
sync-uri: https://gitlab.com/stikonas/gentoo-bootstrap.git
masters: gentoo
volatile: False
guru
location: /var/db/repos/guru
sync-type: git
sync-uri: https://github.com/gentoo-mirror/guru.git
masters: gentoo
volatile: False
kde
location: /var/db/repos/kde
sync-type: git
sync-uri: https://github.com/gentoo-mirror/kde.git
masters: gentoo
volatile: False
local
location: /var/db/repos/local
masters: gentoo
volatile: False
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE CC-BY-NC-SA-4.0 freedist linux-fw-redistributable vim vim.org OSGi-Specification-2.0"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -fno-tree-vectorize -march=x86-64-v3 -mtune=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.3/ext-active/ /etc/php/cgi-php8.3/ext-active/ /etc/php/cli-php8.3/ext-active/ /etc/php/fpm-php8.3/ext-active/ /etc/php/phpdbg-php8.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -fno-tree-vectorize -march=x86-64-v3 -mtune=native"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--buildpkg-exclude "acct-*/* *-*/*-bin sys-kernel/linux-firmware sys-kernel/*-sources virtual/*""
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -fno-tree-vectorize -march=x86-64-v3 -mtune=native"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live candy config-protect-if-modified distlocks ebuild-locks export-pms-vars fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news noinfo parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox strict strict-keepdir suidctl unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync warn-on-large-env xattr"
FFLAGS="-O2 -fno-tree-vectorize -march=x86-64-v3 -mtune=native"
GENTOO_MIRRORS="ftp://ftp.gwdg.de/pub/linux/gentoo/ rsync://mirror.leaseweb.com/gentoo/ https://ftp.snt.utwente.nl/pub/os/linux/gentoo/"
LANG="nl_NL.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="--jobs=5 --load-average=6"
PKGDIR="/var/cache/binpkgs"
PORTAGE_COMPRESS="gzip"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS="-O -C target-cpu=znver2"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa amd64 avif bluetooth branding brotli bzip2 cairo caps cdda cdr cet crypt cups curl dbus dri dssi dts dvd dvdr egl elogind encode exif fam flac gdbm gif gtk gui handbook hardened heif iconv icu ipv6 java jemalloc joystick jpeg kde ladspa lcms libcaca libnotify libsamplerate libtirpc lm-sensors lv2 lz4 lzma lzo mad magic matroska midi mng modplug mp3 mp4 mpeg mtp ncurses nls offensive ogg openexr opengl openmp opus pam pango pcre pdf perl pic pie pipewire plasma png policykit ppds qml qt6 raw readline sdl seccomp sid sndfile sound speex spell split-usr ssl ssp startup-notification test-rust theora tiff timidity truetype udev udisks unicode upower usb v4l vaapi vhosts vorbis vulkan wavpack webp wmf wxwidgets x264 xattr xcb xcomposite xft xml xpm xscreensaver xtpax xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_14" AMDGPU_TARGETS="gfx900 gfx906" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="*" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 bmi1 bmi2 f16c fma3 pclmul popcnt rdrand sha sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64 pc" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="evdev libinput" KERNEL="linux" L10N="en en-GB en-US nl" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-3" LUA_TARGETS="lua5-3" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-3 php8-2" POSTGRES_TARGETS="postgres17" PYTHON_SINGLE_TARGET="python3_13" PYTHON_TARGETS="python3_13" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby32 ruby33" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS

