LINUX.ORG.RU

Спасибо, очень интересно. Жаль, читать не умею.

Автор Drew DeVault считает себя одним из ведущих (foremost) экспертов по Wayland.

Читаю раздел 1.1, пункт про (e)udev. У меня вопрос - а как работает горячее подключение мониторов. Может ли udev его задетектить, и благодаря чему это происходит? xrandr же как-то работает?

Einstok_Fair ★★★ ()
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от Shadow

Вот я читаю раздел 2.1, пункт «Transports». Там написано, что открывается unix-сокет «${XDG_RUNTIME_DIR}/wayland-0». Вопрос - если я расшарю его в lxc-контейнере, то программа запускаемая в контейнере сможет рисовать на основном рабочем столе? Или unix-сокеты из контейнера не могут связь обеспечить?

Einstok_Fair ★★★ ()
Ответ на: комментарий от Im_not_a_robot

We’re also not going to talk about drawing technologies which are useful for Wayland clients, such as Cairo, Pango, GTK+, and so on, and thus neither is this a robust guide for the practical Wayland client implementation. Instead, we focus only on the particulars of Wayland.

This book only covers the protocol and libwayland.

Einstok_Fair ★★★ ()

Мне непонятно, как события (нажатия на кнопки разные, и мышевозение) из ядра попадают в user space. Как потом из wayland-server события идут в программу, это понятно - через сокет.

Einstok_Fair ★★★ ()
Ответ на: комментарий от Einstok_Fair

Графика эта, чёрная магия(((( под неё будто отдельный склад ума надо иметь, которым я походу не обладаю(((, посему Xовое Rect’шлёпство выглядит ещё более менее, а вот буферность вейланда зло во плоти

sparks ★★ ()
Ответ на: комментарий от Laz

Больше поллинга смущает, что доступ к этому /dev/input есть у всех приложений и выходит что через какой-либо баг в браузере можно поснифать что я ввожу в других приложениях, или даже не я, а другой пользователь на той же машине. Эталонное решето

cobold ★★ ()
Ответ на: комментарий от Einstok_Fair

Вопрос - если я расшарю его в lxc-контейнере, то программа запускаемая в контейнере сможет рисовать на основном рабочем столе? Или unix-сокеты из контейнера не могут связь обеспечить?

Вполне.

Но с двумя условиями: во-первых, придётся обойтись без network namespaces (расшарить с контейнером хостовую сеть), т. к. Unix-сокеты входят в это понятие.

И во-вторых, клиенту может потребоваться доступ к видеокарте через DRM/KMS — его придётся обеспечить отдельно, прокинув /dev/dri. Если нет, то первого должно хватить.

intelfx ★★★★★ ()
Ответ на: комментарий от Einstok_Fair

А если бы это был пайп как у XOrg-сервера

С чего ты взял что там пайп?

$ ls -la /tmp/.X11-unix
итого 0
drwxrwxrwt  2 root    root    120 мая  2 00:33 .
drwxrwxrwt 26 root    root    660 мая  6 04:15 ..
srwxr-xr-x  1 intelfx intelfx   0 мая  2 00:33 X0
srwxr-xr-x  1 intelfx intelfx   0 мая  2 00:33 X1
srwxr-xr-x  1 gdm     gdm       0 мая  2 00:33 X1024
srwxr-xr-x  1 gdm     gdm       0 мая  2 00:33 X1025
intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

Демо:

# ls -la /var/lib/machines/arch
итого 16K
drwxr-xr-x 1 root root  140 мая  6 04:12 .
drwx------ 1 root root   60 мая  6 04:14 ..
lrwxrwxrwx 1 root root    7 ноя 13 19:23 bin -> usr/bin
drwxr-xr-x 1 root root    0 ноя 13 19:23 boot
drwxr-xr-x 1 root root    0 фев 23 18:11 dev
drwxr-xr-x 1 root root 1,5K мая  6 04:09 etc
drwxr-xr-x 1 root root    8 мая  6 03:51 home
lrwxrwxrwx 1 root root    7 ноя 13 19:23 lib -> usr/lib
lrwxrwxrwx 1 root root    7 ноя 13 19:23 lib64 -> usr/lib
drwxr-xr-x 1 root root    0 ноя 13 19:23 mnt
drwxr-xr-x 1 root root    0 ноя 13 19:23 opt
dr-xr-xr-x 1 root root    0 фев 23 18:11 proc
drwxr-x--- 1 root root   40 мар 12 15:56 root
drwxr-xr-x 1 root root    0 фев 23 18:11 run
lrwxrwxrwx 1 root root    7 ноя 13 19:23 sbin -> usr/bin
drwxr-xr-x 1 root root   14 фев 23 18:11 srv
dr-xr-xr-x 1 root root    0 фев 23 18:11 sys
drwxrwxrwt 1 root root    0 фев 23 18:11 tmp
drwxr-xr-x 1 root root   70 мая  6 04:09 usr
drwxr-xr-x 1 root root  116 мая  6 04:09 var
-rw-r--r-- 1 root root    0 мая  6 04:12 wayland-0

# cat /etc/systemd/nspawn/arch.nspawn
[Exec]
PrivateUsers=false

[Files]
Bind=/var/cache/pacman/pkg
Bind=/run/user/1000/wayland-0:/wayland-0

[Network]
Private=false
VirtualEthernet=false

# machinectl start arch

# systemd-run -M arch -E WAYLAND_DISPLAY=/wayland-0 --pipe /usr/bin/weston-info
Running as unit: run-u3.service
interface: 'wl_drm', version: 2, name: 1
interface: 'wl_compositor', version: 4, name: 2
interface: 'wl_shm', version: 1, name: 3
        formats: XRGB8888 ARGB8888
interface: 'zxdg_output_manager_v1', version: 3, name: 6
        xdg_output_v1
                output: 39
                name: 'DP-1'
                description: 'LG Electronics 27"'
                logical_x: 0, logical_y: 0
                logical_width: 3840, logical_height: 2160
interface: 'wl_data_device_manager', version: 3, name: 7
interface: 'gtk_primary_selection_device_manager', version: 1, name: 8
interface: 'wl_subcompositor', version: 1, name: 9
interface: 'xdg_wm_base', version: 3, name: 10
interface: 'zxdg_shell_v6', version: 1, name: 11
interface: 'wl_shell', version: 1, name: 12
interface: 'gtk_shell1', version: 3, name: 13
interface: 'wp_viewporter', version: 1, name: 14
interface: 'zwp_pointer_gestures_v1', version: 1, name: 15
interface: 'zwp_tablet_manager_v2', version: 1, name: 16
interface: 'wl_seat', version: 5, name: 17
        name: seat0
        capabilities: pointer keyboard
        keyboard repeat rate: 33
        keyboard repeat delay: 500
interface: 'zwp_relative_pointer_manager_v1', version: 1, name: 18
interface: 'zwp_pointer_constraints_v1', version: 1, name: 19
interface: 'zxdg_exporter_v1', version: 1, name: 20
interface: 'zxdg_importer_v1', version: 1, name: 21
interface: 'zwp_linux_dmabuf_v1', version: 3, name: 22
        formats:
        'RG16'(0x36314752), modifier: 0x0100000000000002
        'RG16'(0x36314752), modifier: 0x0100000000000001
        'RG16'(0x36314752), modifier: 0x0000000000000000
        'AR30'(0x30335241), modifier: 0x0100000000000002
        'AR30'(0x30335241), modifier: 0x0100000000000001
        'AR30'(0x30335241), modifier: 0x0000000000000000
        'XR24'(0x34325258), modifier: 0x0100000000000004
        'XR24'(0x34325258), modifier: 0x0100000000000002
        'XR24'(0x34325258), modifier: 0x0100000000000001
        'XR24'(0x34325258), modifier: 0x0000000000000000
        'AR24'(0x34325241), modifier: 0x0100000000000004
        'AR24'(0x34325241), modifier: 0x0100000000000002
        'AR24'(0x34325241), modifier: 0x0100000000000001
        'AR24'(0x34325241), modifier: 0x0000000000000000
interface: 'zwp_keyboard_shortcuts_inhibit_manager_v1', version: 1, name: 23
interface: 'zwp_text_input_manager_v3', version: 1, name: 24
interface: 'gtk_text_input_manager', version: 1, name: 25
interface: 'wl_eglstream_controller', version: 1, name: 27
interface: 'wl_output', version: 2, name: 39
        x: 0, y: 0, scale: 2,
        physical_width: 600 mm, physical_height: 340 mm,
        make: 'GSM', model: 'LG HDR 4K',
        subpixel_orientation: unknown, output_transform: normal,
        mode:
                width: 3840 px, height: 2160 px, refresh: 59.997 Hz,
                flags: current preferred
intelfx ★★★★★ ()
Ответ на: комментарий от Novator

«Книгу»-то почитай. Она за час целиком осваивается.

Судя по наличию такой книги, X11 тогда не диверсия, а масштабное нападение на СПО.

Siborgium ()
Последнее исправление: Siborgium (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

Шутка

Спасибо, очень интересно. Жаль, читать не умею.

Да здесь пол сайта таких …
Одни не знают, что такое квадратное уравнение, другие решить его не могут.
У третьих если спросить сколько будет "1 + 2 " говорят - «Гдэ-то сэм, восэм».

Владимир

anonymous ()
Ответ на: комментарий от sparks

Проблемы с Rect’ами в X были описаны еще в 1990. Другие проблемы X описаны здесь. Чем вам не угодила буферность, я решительно не понимаю (особенно учитывая, что отрисовка буферов сводится к тем же прямоугольникам).

Siborgium ()