Sample Header Ad - 728x90

Unix & Linux Stack Exchange

Q&A for users of Linux, FreeBSD and other Unix-like operating systems

Latest Questions

-2 votes
0 answers
21 views
How do I seamlessly take higher-resolution screenshots than what the display supports on KDE Wayland?
I am trying to take a high-resolution screenshot of an app. I want the screenshot to have more detail than what my display supports but I can't seem to find a seamless and easy way to do that. What I Have Tried: 1. KDE Built-In Scaling: This works well for taking higher resolution screenshots, but i...
I am trying to take a high-resolution screenshot of an app. I want the screenshot to have more detail than what my display supports but I can't seem to find a seamless and easy way to do that. What I Have Tried: 1. KDE Built-In Scaling: This works well for taking higher resolution screenshots, but isn't really seamless as it increases the size of the window and I have to set it back to the default once I have taken the screenshot. 2. Using gamescope: I tried using gamescope to run KDE at a higher resolution and scale it down but couldn't get it to work as it always resulted in a black screen.
yash (1 rep)
Aug 6, 2025, 07:40 AM • Last activity: Aug 6, 2025, 04:24 PM
7 votes
2 answers
4149 views
How to lock screen on lid closing using systemd?
I am running Sway on Fedora 26 and want my laptop to be locked when I close my screen. I changed `HandleLidSwitch` to `lock` in `/etc/systemd/logind.conf` and ran `systemctl restart systemd-logind` after that. However, closing the lid does nothing. The lock program I intend to use is Swaylock and I...
I am running Sway on Fedora 26 and want my laptop to be locked when I close my screen. I changed HandleLidSwitch to lock in /etc/systemd/logind.conf and ran systemctl restart systemd-logind after that. However, closing the lid does nothing. The lock program I intend to use is Swaylock and I can manually call it by runnig the command swaylock in a terminal. How do I make Systemd call swaylock when it tries to close the screen (as instructed to do in logind.conf)?
strNOcat (383 rep)
Oct 7, 2017, 09:22 PM • Last activity: Aug 5, 2025, 05:03 PM
0 votes
1 answers
41 views
Is it possible to record audio on a wayland desktop with ffmpeg?
I've figured out [a way][1] to capture video on wayland (hyprland) with ffmpeg, but that method does not cover audio. Most people on wayland will be using pipewire, pipewire has a compatibility layer for pulseaudio called pipewire-pulse which allows most audio designed for pulseaudio to be played or...
I've figured out a way to capture video on wayland (hyprland) with ffmpeg, but that method does not cover audio. Most people on wayland will be using pipewire, pipewire has a compatibility layer for pulseaudio called pipewire-pulse which allows most audio designed for pulseaudio to be played or recorded through pipewire. But in ffmpeg's case it doesn't seem to work. ffmpeg -device /dev/dri/card1 -vaapi_device /dev/dri/renderD129 -f pulse -ac 2 -i easyeffects_sink.monitor -c:a libopus -framerate 60 -f kmsgrab -i - -c:v h264_vaapi -rc_mode QVBR -q:v 10 -maxrate 327680 -b 81920 -pix_fmt vaapi -vf hwmap=derive_device=vaapi,scale_vaapi=format=nv12:out_range=full out.mp4 The above command fails with Option device not found. Error opening input file easyeffects_sink.monitor. Error opening input files: Option not found But if I remove this part: -f pulse -ac 2 -i easyeffects_sink.monitor -c:a libopus It will work relatively fine. and if I am on x11 instead of wayland, using x11grab instead of kmsgrab ffmpeg -vaapi_device /dev/dri/renderD129 -f pulse -ac 2 -i easyeffects_sink.monitor -c:a libopus -video_size 2560x1600 -framerate 60 -f x11grab -i :1.0 -c:v h264_vaapi -rc_mode QVBR -q:v 10 -maxrate 327680 -b 81920 -pix_fmt vaapi -vf format=nv12,hwupload out.mp4 That command works perfectly fine even if it uses the exact same options that didn't work on kmsgrab. Which leaves me with the question of whether ffmpeg is capable of capturing audio from a wayland environment at all.
Cestarian (2438 rep)
Aug 3, 2025, 10:28 PM • Last activity: Aug 4, 2025, 08:28 AM
503 votes
14 answers
656282 views
How to know whether Wayland or X11 is being used
I just installed the latest Kali Linux on my laptop which was based on Debian 7 (oldstable). I then dist-upgrad-ed the whole thing to Debian 8. I've always wanted Wayland instead of X11, so I installed the necessary packages. Then created a minimal `~./config/weston.ini` configuration. Now, from the...
I just installed the latest Kali Linux on my laptop which was based on Debian 7 (oldstable). I then dist-upgrad-ed the whole thing to Debian 8. I've always wanted Wayland instead of X11, so I installed the necessary packages. Then created a minimal ~./config/weston.ini configuration. Now, from the Gnome login screen: ![Login Screen](https://blogs.gnome.org/mclasen/files/2013/09/login-screen.png) I can boot to Gnome on Wayland or LXDE (among others). The previous with very limited success and the latter (LXDE) almost perfectly, though the panel needs setting up (I have to look up freedesktop). Anyways, in LXDE, the GUI is more responsive than it was on the oldstable and possibly as fast when it was running Windows 7. I was pleased. But I want to know if this is because of all the library/module upgrades from Debian 7 to 8 or from using Wayland (if I really am using Wayland at all). I skimmed through htop and found a /usr/bin/Xorg running and no process named "wayland". So which one am I currently running?
Dehbop (5259 rep)
May 12, 2015, 04:53 AM • Last activity: Aug 1, 2025, 05:49 AM
6 votes
1 answers
825 views
Can ffmpeg record screen on wayland?
Is it possible to record the screen with ffmpeg on wayland using the Hyprland compositor? I've read some posts that imply people managed to do it with kmsgrab, but cannot figure out how to do it myself (I tried the common examples with kmsgrab and it didn't work, possibly because I'm on wayland) Is...
Is it possible to record the screen with ffmpeg on wayland using the Hyprland compositor? I've read some posts that imply people managed to do it with kmsgrab, but cannot figure out how to do it myself (I tried the common examples with kmsgrab and it didn't work, possibly because I'm on wayland) Is there a way to do it? I've tried: ffmpeg -device /dev/dri/card1 -f kmsgrab -i - -vf 'format=nv12,hwupload' -c:v h264_vaapi output.mkv But get the following error: [kmsgrab @ 0x556c9ae1fec0] Using plane 58 to locate framebuffers. [kmsgrab @ 0x556c9ae1fec0] Template framebuffer is 142: 2560x1600 format 34325258 modifier 200000000401b03 flags 2. [kmsgrab @ 0x556c9ae1fec0] No handle set on framebuffer: maybe you need some additional capabilities? [in#0 @ 0x556c9ae1fc00] Error opening input: Invalid argument Error opening input file -. Error opening input files: Invalid argument Recording with vaapi with wf-recorder or wl-screenrec works fine btw, but I would prefer to directly use ffmpeg. I'm also curious if it can be used with nvenc (which would be on card0 for me), but if I try to use it with my nvidia gpu I get: [kmsgrab @ 0x558916595e80] No usable planes found. [in#0 @ 0x558916595bc0] Error opening input: Invalid argument Error opening input file -. Error opening input files: Invalid argument
Cestarian (2438 rep)
Jul 28, 2025, 03:26 PM • Last activity: Jul 29, 2025, 09:19 PM
1 votes
2 answers
4413 views
How do I change default session from plasma x11 to plasma wayland in OpenSUSE tumbleweed?
I run latest OpenSUSE tumbleweed, KDE only. I wish to switch the default session from Plasma X11 to Plasma wayland. What should I do to achieve this? The login manager I use comes from sddm. And I can indeed manually log in from the login manager to a wayland session.
I run latest OpenSUSE tumbleweed, KDE only. I wish to switch the default session from Plasma X11 to Plasma wayland. What should I do to achieve this? The login manager I use comes from sddm. And I can indeed manually log in from the login manager to a wayland session.
Paulske (111 rep)
Oct 13, 2022, 07:23 AM • Last activity: Jul 29, 2025, 03:07 AM
0 votes
0 answers
31 views
How to configure Multi-Seat on Linux with KDE-Wayland?
I am trying to configure dual-seat on my Linux with KDE-Wayland. I have two graphic cards which should make it possible. I configured an /etc/udev/rules.d/72-multiseat.rules ``` # Assign second graphics card to seat1 SUBSYSTEM=="drm", KERNEL=="card1", TAG+="seat", ENV{ID_SEAT}="seat1" # Assign Logit...
I am trying to configure dual-seat on my Linux with KDE-Wayland. I have two graphic cards which should make it possible. I configured an /etc/udev/rules.d/72-multiseat.rules
# Assign second graphics card to seat1
SUBSYSTEM=="drm", KERNEL=="card1", TAG+="seat", ENV{ID_SEAT}="seat1"

# Assign Logitech K120 keyboard to seat1
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c31c", TAG+="seat", ENV{ID_SEAT}="seat1"

# Assign Logitech Logi Bolt Receiver (mouse) to seat1
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c548", TAG+="seat", ENV{ID_SEAT}="seat1"
Then applying the configuration: sudo udevadm control --reload-rules sudo udevadm trigger Unfortunately, after this login into KDE is not possible anymore, for either seat. ----------------- How to configure multi-seat (several users at the same time) on Linux with KDE-wayland?
Adrian Maire (2042 rep)
Jul 27, 2025, 02:36 PM
17 votes
3 answers
7975 views
Fractional scaling in GNOME + Wayland above 200%
I've successfully enabled fractional scaling on my GNOME 3.38 + Wayland in Arch as stated here: https://wiki.archlinux.org/index.php/HiDPI#Wayland However, in gnome control center it now only shows 100% 125% 150% 175% and 200% whereas for my screen the best setup would be 250% (that I can set in Win...
I've successfully enabled fractional scaling on my GNOME 3.38 + Wayland in Arch as stated here: https://wiki.archlinux.org/index.php/HiDPI#Wayland However, in gnome control center it now only shows 100% 125% 150% 175% and 200% whereas for my screen the best setup would be 250% (that I can set in Windows 10 for example). How can enable values above 200% in gnome control center or either set it manually?
lviggiani (3619 rep)
Nov 5, 2020, 03:08 PM • Last activity: Jul 23, 2025, 06:07 PM
1 votes
1 answers
90 views
ThinkPad T14 Gen1 - Trackpoint - Wayland - Stops working during usage
I have a Lenovo ThinkPad T14 gen1 for more than a year now and I run it with Ubuntu 24.04 LTS. Since that I have the problem with the trackpoint, that during usage it stops working randomly. I still can use the touchpad. The only solution is: reboot, standby or run `sudo modprobe -r psmouse && sudo...
I have a Lenovo ThinkPad T14 gen1 for more than a year now and I run it with Ubuntu 24.04 LTS. Since that I have the problem with the trackpoint, that during usage it stops working randomly. I still can use the touchpad. The only solution is: reboot, standby or run sudo modprobe -r psmouse && sudo modprobe psmouse When the trackpoint stopped working and I run sudo evtest /dev/input/event13 I also see that it has no action anymore. Besides I run sudo dmesg | grep -i -e psmouse -e trackpoint -e serio but I did it after the modprobe, because the trackpoint stopped working while I was clicking something and the click hang as well. The output is: [ 0.881089] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 0.881107] serio: i8042 AUX port at 0x60,0x64 irq 12 [ 0.883951] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3 [ 2.047781] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4694] [ 2.084079] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1162..] [ 2.084086] psmouse serio1: synaptics: Trying to set up SMBus access [ 2.087100] psmouse serio1: synaptics: SMbus companion is not ready yet [ 2.155641] psmouse serio1: synaptics: Touchpad model: 1, fw: 10.32, id: 0x1e2a1, caps: 0xf014a3/0x940300/0x12e800/0x500000, board id: 3471, fw id: 2909640 [ 2.155652] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0 [ 2.196323] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input5 [ 2.673734] psmouse serio2: trackpoint: Elan TrackPoint firmware: 0x11, buttons: 3/3 [ 2.880435] input: TPPS/2 Elan TrackPoint as /devices/platform/i8042/serio1/serio2/input/input6 [ 5.177567] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4694] [ 5.207013] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1162..] [ 5.207025] psmouse serio1: synaptics: Trying to set up SMBus access [ 5.587289] serio: RMI4 PS/2 pass-through port at rmi4-00.fn03 [ 5.706040] psmouse serio3: trackpoint: Elan TrackPoint firmware: 0x11, buttons: 3/3 [ 5.744593] input: TPPS/2 Elan TrackPoint as /devices/pci0000:00/0000:00:1f.4/i2c-0/0-002c/rmi4-00/rmi4-00.fn03/serio3/input/input18 [17021.800494] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4694] [17021.833970] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1162..] [17021.833996] psmouse serio1: synaptics: Trying to set up SMBus access [17022.136075] serio: RMI4 PS/2 pass-through port at rmi4-01.fn03 [17022.249496] psmouse serio4: trackpoint: Elan TrackPoint firmware: 0x11, buttons: 3/3 [17022.296166] input: TPPS/2 Elan TrackPoint as /devices/pci0000:00/0000:00:1f.4/i2c-0/0-002c/rmi4-01/rmi4-01.fn03/serio4/input/input22 I mean, I have a workaround, but it is still annoying. Any idea what else I can try? some other log to check? I also read about switching to PS/2 but this will disable the scrolling functionality.
Stephan (119 rep)
Jul 19, 2025, 02:35 PM • Last activity: Jul 20, 2025, 11:53 AM
12 votes
4 answers
20607 views
How can I activate/configure a screensaver in Wayland/GNOME?
I am using Fedora 25 with Wayland and GNOME. How can I configure a screensaver? I assume `xscreensaver` does not work and I could install `gnome-screensaver`, but there is no configuration interface - or have I missed something there…? **Edit**: To clarify, I am not looking for a simple black screen...
I am using Fedora 25 with Wayland and GNOME. How can I configure a screensaver? I assume xscreensaver does not work and I could install gnome-screensaver, but there is no configuration interface - or have I missed something there…? **Edit**: To clarify, I am not looking for a simple black screen or a "fade out" effect, but for a "real" screensaver showing some animation or a slideshow of your photos/images or so… ----- Question cross-posted from [Ask Fedora](https://ask.fedoraproject.org/en/question/106077/how-can-i-activateconfigure-a-screensaver-in-waylandgnome/) .
rugk (3496 rep)
May 30, 2017, 05:02 PM • Last activity: Jul 17, 2025, 07:56 PM
23 votes
2 answers
8654 views
Why is Gnome fractional scaling 1.7518248558044434 instead of 1.75?
If I set 175% scaling in Gnome Settings, the value is saved as `1.7518248558044434` in `~/.config/monitors.xml`: ```xml 0 0 1.7518248558044434 yes DP-3 ``` Why is it so? At first, I thought it could be due to floating point rounding error, but 1.75 is one of those happy numbers whose the exact value...
If I set 175% scaling in Gnome Settings, the value is saved as 1.7518248558044434 in ~/.config/monitors.xml:
0
      0
      1.7518248558044434
      yes
      
        
          DP-3
Why is it so? At first, I thought it could be due to floating point rounding error, but 1.75 is one of those happy numbers whose the exact value can be expressed. Gnome Wayland 43.3
Damn Vegetables (1539 rep)
Mar 20, 2023, 03:31 AM • Last activity: Jul 16, 2025, 05:41 AM
0 votes
0 answers
32 views
waybar custom module argument not found
i just installed hyprland yesterday in ubuntu 24.04 (first time), i want to add a removable drives menu in the waybar, and after searching around i came out with this custom module: ```json "custom/mounted-drives": { "format": " {}", "return-type": "json", "exec": "~/.config/waybar/scripts/mounted_...
i just installed hyprland yesterday in ubuntu 24.04 (first time), i want to add a removable drives menu in the waybar, and after searching around i came out with this custom module:
"custom/mounted-drives": {
    "format": " {}",
    "return-type": "json",
    "exec": "~/.config/waybar/scripts/mounted_removable_drives.sh",
    "interval": 5,
    "on-click": "xdg-open {alt}",
    "on-click-right": "~/.config/waybar/scripts/unmount_drive.sh {alt}"
},
Since I'm new to this I must be doing something wrong... the scripts I'm using are: mounted_removable_drives.sh:
#!/bin/bash

# This script detects mounted removable drives (including rclone mounts)

# Function to check if a mount point is a removable drive
is_removable() {
  local source="$1"
  local target="$2"
  local fstype="$3"
  local options="$4"

  # Exclude common system mounts
  case "$target" in
  / | /boot* | /dev* | /proc* | /sys* | /run* | /snap* | /var/lib/snapd/snap | /tmp* | /home/*/.local/share/flatpak/runtime)
    return 1
    ;;
  esac

  case "$fstype" in
  tmpfs | devtmpfs | proc | sysfs | cgroup2 | overlay | squashfs)
    return 1
    ;;
  fuse.rclone | fuse.sshfs | fuse.gvfsd-fuse)
    # Include FUSE mounts like rclone, sshfs, gvfsd-fuse
    return 0
    ;;
  ext4 | vfat | ntfs | exfat | btrfs | xfs)
    # Consider mounts under /media or /mnt as potentially removable
    if [[ "$target" == /media/* || "$target" == /mnt/* ]]; then
      return 0
    fi
    # Check for common removable drive options (e.g., noauto, users, umask, uid, gid)
    if [[ "$options" =~ "noauto" || "$options" =~ "users" || "$options" =~ "umask" || "$options" =~ "uid" || "$options" =~ "gid" ]]; then
      return 0
    fi
    ;;
  esac

  return 1
}

# Get mount information in JSON format
mount_info=$(findmnt -lo SOURCE,TARGET,FSTYPE,OPTIONS,USED --json)

# Parse JSON and build Waybar output
output="[]"
if [[ -n "$mount_info" ]]; then
  mounted_drives=()
  # Use jq to parse and filter
  while IFS=$'\n' read -r mount_point; do
    if [[ -n "$mount_point" ]]; then
      source=$(echo "$mount_point" | jq -r '.source')
      target=$(echo "$mount_point" | jq -r '.target')
      fstype=$(echo "$mount_point" | jq -r '.fstype')
      options=$(echo "$mount_point" | jq -r '.options')
      used=$(echo "$mount_point" | jq -r '.used')

      if is_removable "$source" "$target" "$fstype" "$options"; then
        # Clean up source for display
        display_source=$(basename "$source")
        if [[ "$fstype" == "fuse.rclone" ]]; then
          display_source="Rclone: ${display_source}"
        elif [[ "$fstype" == "fuse.sshfs" ]]; then
          display_source="SSHFS: ${display_source}"
        elif [[ "$fstype" == "fuse.gvfsd-fuse" ]]; then
          display_source="GVFS: ${display_source}"
        fi

        # Format used space
        formatted_used=""
        if [[ "$used" != "null" && "$used" != "" ]]; then
          formatted_used=" (${used} used)"
        fi

        mounted_drives+=("$(jq -n --arg text "$display_source" --arg tooltip "Source: $source\nTarget: $target\nType: $fstype\nOptions: $options$formatted_used" --arg alt "$target" --arg class "removable-drive" '{text: $text, tooltip: $tooltip, alt: $alt, class: $class}')")
      fi
    fi
  done &1

if [ $? -eq 0 ]; then
    notify-send "Drive Unmounted" "Successfully unmounted $MOUNT_POINT"
else
    notify-send "Unmount Failed" "Failed to unmount $MOUNT_POINT. Check logs for details."
fi
kurokirasama (303 rep)
Jul 14, 2025, 08:39 PM • Last activity: Jul 16, 2025, 01:39 AM
3 votes
0 answers
77 views
Allow Wayland access to Distrobox running as another user
This is certainly a niche use-case, so I ask you to bear with me. My goal is to run a proprietary application within Distrobox. I don't want to expose my local username (reused online) to said application, hence I'm trying to run this as a different local user. ### Starting point ### It's already po...
This is certainly a niche use-case, so I ask you to bear with me. My goal is to run a proprietary application within Distrobox. I don't want to expose my local username (reused online) to said application, hence I'm trying to run this as a different local user. ### Starting point ### It's already possible to run application on host as different user, even if it's not the most secure method in the world, thanks to [this answer by Sam Mason](https://unix.stackexchange.com/a/791365/8305) . To summarize, assuming the secondary, non-session username is other, you need to do the following:
$ sudo chown :other "$XDG_RUNTIME_DIR" "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY"
$ chmod g+rwx "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY"
$ chmod g+x "$XDG_RUNTIME_DIR"
$ machinectl shell \
  --setenv=WAYLAND_DISPLAY="$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" \
  --setenv=XDG_SESSION_TYPE \
  other@
And with just that, you can run any Wayland application within the context of the other user in your current session. ### XWayland works too ### With a few additions to the above method, you can get X applications (such as Steam and myriad other Electron crapware) to run as the other user:
$ xhost +local:
$ machinectl shell \
  --setenv=WAYLAND_DISPLAY="$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" \
  --setenv=XDG_SESSION_TYPE \
  --setenv=DISPLAY \
  other@
**Disclaimer** I don't understand the security implications of xhost (or assigning those permissions to the $WAYLAND_DISPLAY) and if there are safer alternatives, whether better permissions or different method entirely. If you want to use this method, do so at your own risk. The xhost command is a suggestion from [this guide](https://www.siberoloji.com/how-to-use-distrobox-for-containerized-apps-on-arch-linux/#7-running-gui-applications-from-the-container) . ### The problem with Wayland in another user's Distrobox ### As I mentioned above, using this method applications run perfectly fine whether Wayland or XWayland. When it comes to Distrobox, however, only the X applications run fine. Any Wayland application within Distrobox (and running as different user) refuses to start and always crashes with some variant of unable to open display errors. How do I go about debugging this issue? How come passing DISPLAY work perfectly, but fail with WAYLAND_DISPLAY? Any hint would be appreciated. As I mentioned before, this is a niche edge case. I don't expect solutions outright, Just showing me potential path forward would be much appreciated. **PS** As an aside, theoretically there might be a way to accomplish my original goal (not exposing my local username to Distrobox) without going through such rigmarole. When initializing a Distrobox container, it [actually creates an user](https://distrobox.it/usage/distrobox-init/) within it with the same name as the local username and assigns the same UID and GID. If Distrobox would just let the username variable to be set manually, it'd probably do exactly what I want... It's as frustrating as you might imagine. I asked if there's anyway for me to modify it on [GitHub issues](https://github.com/89luca89/distrobox/issues/1783) , but I'm suffering in silence.
Oxwivi (1792 rep)
Jul 6, 2025, 07:03 PM • Last activity: Jul 12, 2025, 11:50 AM
11 votes
1 answers
3837 views
KVM clipboard sharing with client running Wayland
I have Fedora 35 installed as a VM, with `Qemu/KVM` as the hypervisor and `virt-manager` as the graphical front-end, running under Manjaro KDE. Following numerous guides & answers I have managed to get clipboard sharing to work between the host and client using the `spice` display server and `spice-...
I have Fedora 35 installed as a VM, with Qemu/KVM as the hypervisor and virt-manager as the graphical front-end, running under Manjaro KDE. Following numerous guides & answers I have managed to get clipboard sharing to work between the host and client using the spice display server and spice-vdagent on the client. However this only seems to work when the client logins to the X11 session. I have found [a Reddit post](https://www.reddit.com/r/swaywm/comments/pg0rqi/clipboard_sharing_using_spicevdagent_not_working/) which claims spice-vdagent only supports the X11 clipboard, which is uncorroborated but so far agrees with my testing. Here's the systemd journals when I login to X11/Wayland on the VM respectively:
> journalctl -b -u spice-vdagentd*
## timestamps & hostname removed

## X11
spice-vdagentd: opening vdagent virtio channel
spice-vdagentd: Set max clipboard: 104857600
spice-vdagentd: Set max clipboard: 104857600

## Wayland
spice-vdagentd: Error getting owner UID for pid 1063: No such process
spice-vdagentd: UID mismatch: UID=1000 PID=1063 suid=4294967295
So my question is: is it true that spice-vdagent does not yet support Wayland clipboard? If false, what could be going wrong? If true, are there currently any good workarounds (except for the obvious "don't use Wayland")?
cyqsimon (905 rep)
Apr 5, 2022, 02:26 PM • Last activity: Jul 10, 2025, 09:49 PM
0 votes
0 answers
34 views
QT applications segfault under WAYLAND in GNOME
I cannot launch any QT application from gnome-shell because they segfault. e.g. `torbrowser-launcher` ``` Jun 28 12:25:43 arch-xps systemd[1452]: Started Application launched by gnome-shell. Jun 28 12:25:43 arch-xps python[4287]: Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFO...
I cannot launch any QT application from gnome-shell because they segfault. e.g. torbrowser-launcher
Jun 28 12:25:43 arch-xps systemd: Started Application launched by gnome-shell.
Jun 28 12:25:43 arch-xps python: Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Jun 28 12:25:43 arch-xps python: qt.qpa.xcb: could not connect to display
Jun 28 12:25:43 arch-xps python: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
Jun 28 12:25:43 arch-xps python: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
                                       
                                       Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
Jun 28 12:25:43 arch-xps systemd-coredump: Process 4287 (torbrowser-laun) of user 1000 terminated abnormally with signal 6/ABRT, processing...
Jun 28 12:25:43 arch-xps systemd[1] : Created slice Slice /system/systemd-coredump.
Jun 28 12:25:43 arch-xps systemd[1] : Started Process Core Dump (PID 4303/UID 0).
Jun 28 12:25:43 arch-xps systemd-coredump: [🡕] Process 4287 (torbrowser-laun) of user 1000 dumped core.
                                                 
                                                 Stack trace of thread 4287:
                                                 #0  0x00007f33c34a774c n/a (libc.so.6 + 0x9774c)
                                                 #1  0x00007f33c344ddc0 raise (libc.so.6 + 0x3ddc0)
                                                 #2  0x00007f33c343557a abort (libc.so.6 + 0x2557a)
                                                 #3  0x00007f33c22982e0 _ZNK14QMessageLogger5fatalEPKcz (libQt5Core.so.5 + 0x982e0)
                                                 #4  0x00007f33be1368c6 _ZN22QGuiApplicationPrivate25createPlatformIntegrationEv (libQt5Gui.so.5 + 0x1368c6)
                                                 #5  0x00007f33be136f99 _ZN22QGuiApplicationPrivate21createEventDispatcherEv (libQt5Gui.so.5 + 0x136f99)
                                                 #6  0x00007f33c24c9525 _ZN23QCoreApplicationPrivate4initEv (libQt5Core.so.5 + 0x2c9525)
                                                 #7  0x00007f33be13704e _ZN22QGuiApplicationPrivate4initEv (libQt5Gui.so.5 + 0x13704e)
                                                 #8  0x00007f33be954d36 _ZN19QApplicationPrivate4initEv (libQt5Widgets.so.5 + 0x154d36)
                                                 #9  0x00007f33bf2d9133 n/a (QtWidgets.abi3.so + 0x2d9133)
                                                 #10 0x00007f33c2c60af7 n/a (sip.cpython-313-x86_64-linux-gnu.so + 0x1aaf7)
                                                 #11 0x00007f33c3863250 n/a (libpython3.13.so.1.0 + 0x263250)
                                                 #12 0x00007f33c37dbc83 n/a (libpython3.13.so.1.0 + 0x1dbc83)
                                                 #13 0x00007f33c3760e3b _PyObject_MakeTpCall (libpython3.13.so.1.0 + 0x160e3b)
                                                 #14 0x00007f33c37752be _PyEval_EvalFrameDefault (libpython3.13.so.1.0 + 0x1752be)
                                                 #15 0x00007f33c37a8dda n/a (libpython3.13.so.1.0 + 0x1a8dda)
                                                 #16 0x00007f33c3760d9d _PyObject_MakeTpCall (libpython3.13.so.1.0 + 0x160d9d)
                                                 #17 0x00007f33c37752be _PyEval_EvalFrameDefault (libpython3.13.so.1.0 + 0x1752be)
                                                 #18 0x00007f33c384c8b9 PyEval_EvalCode (libpython3.13.so.1.0 + 0x24c8b9)
                                                 #19 0x00007f33c388af5c n/a (libpython3.13.so.1.0 + 0x28af5c)
                                                 #20 0x00007f33c388801b n/a (libpython3.13.so.1.0 + 0x28801b)
                                                 #21 0x00007f33c3885718 n/a (libpython3.13.so.1.0 + 0x285718)
                                                 #22 0x00007f33c38849d2 n/a (libpython3.13.so.1.0 + 0x2849d2)
                                                 #23 0x00007f33c3884343 n/a (libpython3.13.so.1.0 + 0x284343)
                                                 #24 0x00007f33c388248b Py_RunMain (libpython3.13.so.1.0 + 0x28248b)
                                                 #25 0x00007f33c3839dcb Py_BytesMain (libpython3.13.so.1.0 + 0x239dcb)
                                                 #26 0x00007f33c34376b5 n/a (libc.so.6 + 0x276b5)
                                                 #27 0x00007f33c3437769 __libc_start_main (libc.so.6 + 0x27769)
                                                 #28 0x0000564d96d2a045 _start (/usr/bin/python3.13 + 0x1045)
                                                 
                                                 Stack trace of thread 4302:
                                                 #0  0x00007f33c34ade22 n/a (libc.so.6 + 0x9de22)
                                                 #1  0x00007f33c34a1fda n/a (libc.so.6 + 0x91fda)
                                                 #2  0x00007f33c34a2024 n/a (libc.so.6 + 0x92024)
                                                 #3  0x00007f33c351c5a6 ppoll (libc.so.6 + 0x10c5a6)
                                                 #4  0x00007f33c1909e04 n/a (libglib-2.0.so.0 + 0x5fe04)
                                                 #5  0x00007f33c1909ee5 g_main_context_iteration (libglib-2.0.so.0 + 0x5fee5)
                                                 #6  0x00007f33c2521489 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x321489)
                                                 #7  0x00007f33c24c807b _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2c807b)
                                                 #8  0x00007f33c22f531b _ZN7QThread4execEv (libQt5Core.so.5 + 0xf531b)
                                                 #9  0x00007f33bc8f4d2e n/a (libQt5DBus.so.5 + 0x17d2e)
                                                 #10 0x00007f33c22f1859 n/a (libQt5Core.so.5 + 0xf1859)
                                                 #11 0x00007f33c34a57eb n/a (libc.so.6 + 0x957eb)
                                                 #12 0x00007f33c352918c n/a (libc.so.6 + 0x11918c)
                                                 ELF object binary architecture: AMD x86-64
while launching it from terminal, it starts successfully! and I get:
$ torbrowser-launcher 
Tor Browser Launcher
By Micah Lee & Tor Project, licensed under MIT
version 0.3.7
https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/ 
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Launching Tor Browser.
Running /home/mattia/.local/share/torbrowser/tbb/x86_64/tor-browser/start-tor-browser.desktop
Launching './Browser/start-tor-browser --detach'...
same happens with picard, torbrowser or masterpdfeditor instead GPXSee starts fine! It looks like **gnome-shell** ignores customized variable **QT_QPA_PLATFORM** (which I defined in *.bashrc*), so I tried launching torbrowser forcing that variable as empty, and it segfaults, as well:
$ QT_QPA_PLATFORM= torbrowser-launcher 
Tor Browser Launcher
By Micah Lee & Tor Project, licensed under MIT
version 0.3.7
https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/ 
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Aborted (core dumped)
Any help is welcome! **EDIT-1:** system does not have XWayland, or better, I disabled it from gnome-shell[[1] ]; --- Arch Linux, GNOME 48 under Wayland, qt{5,6}-wayland packages installed
mattia.b89 (3398 rep)
Jun 28, 2025, 10:41 AM • Last activity: Jul 6, 2025, 05:39 PM
5 votes
2 answers
4746 views
How to run gui app as another user on wayland
With Xorg, I could just do ``` xhost +si:localuser:foxy ``` to run GUI app as foxy user. But can I do this on Wayland ? I tried following:- ``` chmod o+rw /run/user/1000/wayland-0 ``` but It still gives Permission denied [foxy@titan levi]$ QT_QPA_PLATFORM=wayland XDG_RUNTIME_DIR=/run/user/1000 konso...
With Xorg, I could just do
xhost +si:localuser:foxy
to run GUI app as foxy user. But can I do this on Wayland ? I tried following:-
chmod o+rw /run/user/1000/wayland-0
but It still gives Permission denied [foxy@titan levi]$ QT_QPA_PLATFORM=wayland XDG_RUNTIME_DIR=/run/user/1000 konsole Failed to create wl_display (Permission denied) qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: wayland-org.kde.kwin.qpa, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb. Aborted (core dumped) I'm using kwin_wayland 5.20.2 EDIT: I dont want to use root
voldimot (145 rep)
Nov 8, 2020, 05:43 AM • Last activity: Jul 5, 2025, 11:23 AM
2 votes
1 answers
2404 views
How to change desktop resolution from terminal for KDE5 running on Wayland?
Using KDE5 on Arch Linux with Wayland. I hit apply when changing resolutions to see which one would be suitable, small desktop resolution and then my monitor said it was unsupported. How do I revert/reset it from a terminal?
Using KDE5 on Arch Linux with Wayland. I hit apply when changing resolutions to see which one would be suitable, small desktop resolution and then my monitor said it was unsupported. How do I revert/reset it from a terminal?
Obsidian Jackal (1467 rep)
Jul 22, 2018, 09:54 PM • Last activity: Jul 2, 2025, 10:04 AM
1 votes
1 answers
5624 views
How to start Weston as user in a systemd service
I am using Debian Bullseye. I would like to run Weston as a user from a systemd service. I need default drm backend, thus I assume it needs to be started as root using weston-launch. However, I have tried several configurations and can't get it running. Currently I am trying to use weston-launch, bu...
I am using Debian Bullseye. I would like to run Weston as a user from a systemd service. I need default drm backend, thus I assume it needs to be started as root using weston-launch. However, I have tried several configurations and can't get it running. Currently I am trying to use weston-launch, but get the following error: Date: 2023-02-16 CET [14:32:56.381] weston 9.0.0 https://wayland.freedesktop.org Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/ Build: 9.0.0 [14:32:56.381] Command line: /usr/bin/weston --log=/tmp/weston.log [14:32:56.381] OS: Linux, 5.10.52-gba9ade6851ca-dirty, #1 SMP PREEMPT Thu Feb 16 10:37:31 UTC 2023, aarch64 [14:32:56.381] Using config file '/etc/xdg/weston/weston.ini' [14:32:56.382] Output repaint window is 16 ms maximum. [14:32:56.382] Loading module '/usr/lib/aarch64-linux-gnu/libweston-9/drm-backend.so' [14:32:56.388] initializing drm backend [14:32:56.393] logind: cannot take control over session 8 [14:32:56.394] logind: cannot setup systemd-logind helper (-5), using legacy fallback [14:32:56.397] using /dev/dri/card1 [14:32:56.397] DRM: supports atomic modesetting [14:32:56.397] DRM: does not support GBM modifiers [14:32:56.397] DRM: supports picture aspect ratio [14:32:56.398] Loading module '/usr/lib/aarch64-linux-gnu/libweston-9/g2d-renderer.so' /lib/systemd/system/weston.service: [Unit] Description=Weston Wayland Compositor (on tty7) RequiresMountsFor=/run Conflicts=getty@tty7.service plymouth-quit.service After=systemd-user-sessions.service getty@tty7.service plymouth-quit-wait.service [Service] User=root PermissionsStartOnly=true # Log us in via PAM so we get our XDG & co. environment and # are treated as logged in so we can use the tty: PAMName=login # Grab tty7 UtmpIdentifier=tty7 TTYPath=/dev/tty7 TTYReset=yes TTYVHangup=yes TTYVTDisallocate=yes # stderr to journal so our logging doesn't get thrown into /dev/null StandardOutput=tty StandardInput=tty StandardError=journal EnvironmentFile=-/etc/default/weston # Weston does not successfully change VT, nor does systemd place us on # the VT it just activated for us. Switch manually: ExecStartPre=/bin/chvt 7 ExecStart=/usr/bin/weston-launch --tty /dev/tty7 --user tavla-run -- --log=/var/log/weston.log $OPTARGS IgnoreSIGPIPE=no [Install] WantedBy=multi-user.target /etc/profile.d/weston.sh: if test -z "$XDG_RUNTIME_DIR"; then export XDG_RUNTIME_DIR=/run/user/id -u if ! test -d "${XDG_RUNTIME_DIR}"; then mkdir --parents "${XDG_RUNTIME_DIR}" chmod 0700 "${XDG_RUNTIME_DIR}" fi fi /etc/xdg/weston/weston.ini: [core] #gbm-format=argb8888 idle-time=0 use-g2d=1 xwayland=true #drm-device=card0 repaint-window=16 #enable-overlay-view=1 #[shell] #size=1920x1080 [libinput] touchscreen_calibrator=true #[output] #name=HDMI-A-1 #mode=1920x1080@60 #transform=rotate-90 #[output] #name=HDMI-A-2 #mode=off # WIDTHxHEIGHT Resolution size width and height in pixels # off Disables the output # preferred Uses the preferred mode # current Uses the current crt controller mode #transform=rotate-90 [screen-share] command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize [shell] background-image=/usr/share/images/desktop-base/default background-type=scale-crop
Martin (11 rep)
Feb 16, 2023, 01:37 PM • Last activity: Jul 2, 2025, 04:05 AM
0 votes
0 answers
111 views
Am I running a Wayland compositor?
Following the instructions here, https://docs.waydro.id/usage/install-on-desktops for Ubuntu, I typed: ``` sudo apt install curl ca-certificates -y curl -s https://repo.waydro.id | sudo bash sudo apt install waydroid -y ``` Then I found Waydroid in the menu and opened it. It offered "download" with...
Following the instructions here, https://docs.waydro.id/usage/install-on-desktops for Ubuntu, I typed:
sudo apt install curl ca-certificates -y
curl -s https://repo.waydro.id  | sudo bash
sudo apt install waydroid -y
Then I found Waydroid in the menu and opened it. It offered "download" with default "vanilla". I clicked "download". I got an error message related to the vendor checksum. I clicked "download" again. It finished. Now, no more Waydroid in the menu. I tried the manual start (using 2 terminal windows):
sudo waydroid container start
waydroid session start
The second command always asks:
Wayland socket '/run/user/1000/wayland-0' doesn't exist; are you running a Wayland compositor?
The first command seems inconsistent:
sudo waydroid container start
   ERROR: WayDroid container service is already running
sudo waydroid container restart
   WayDroid container is STOPPED
sudo waydroid container start
   ERROR: WayDroid container service is already running
sudo waydroid container stop
sudo waydroid container start
   ERROR: WayDroid container service is already running
sudo waydroid container stop
sudo waydroid container stop
sudo waydroid container stop
sudo waydroid container stop
sudo waydroid container start
   ERROR: WayDroid container service is already running
I wondered whether I was running multiple instances, which is why I did stop several consecutive times.
Alain Reve (123 rep)
Jun 30, 2025, 04:39 PM • Last activity: Jun 30, 2025, 04:54 PM
0 votes
1 answers
55 views
Writing to the framebuffer while X or Wayland is running?
This is a pretty straightforward question. I am writing a Qt program that looks to render graphics in the terminal. To do that, I utilize Sixel Graphics which has a large overhead. I would rather render directly to the frame buffer, but can that be done while X and Wayland are running? Or do I have...
This is a pretty straightforward question. I am writing a Qt program that looks to render graphics in the terminal. To do that, I utilize Sixel Graphics which has a large overhead. I would rather render directly to the frame buffer, but can that be done while X and Wayland are running? Or do I have to strictly be in a headless environment, meaning no active desktop environment, to be able to access this? Does X or Wayland perhaps have functions allowing me to use it to render graphics through it? Thanks.
Anon (215 rep)
Jun 27, 2025, 09:54 PM • Last activity: Jun 27, 2025, 10:33 PM
Showing page 1 of 20 total questions