wayland nozzy@debian.or.jp 2013 11 16 2013 11 16 1/31
wayland! weston! wayland weston wayland Kristian Høgsberg 2013 11 16 2/31
wayland! weston! 2013 11 16 3/31
weston ( ) 2013 11 16 4/31
weston (weston.ini ) 2013 11 16 5/31
X X UNIX X 1984 Daniel Stone, The real story behind Wayland and X,linux.conf.au 2013, http://people.freedesktop.org/~daniels/ lca2013-wayland-x11.pdf http://www.youtube.com/watch?v=rictzaqoe44 2013 11 16 6/31
X X wayland phoronix 1 Høgsberg ( every frame is perfect ) X 1 http://www.phoronix.com 2013 11 16 7/31
weston upstream debian sid weston 1 DRM/KMS drm-backend.so 2 fbdev-backend.so 3 X x11-backend.so 4 Wayland wayland-backend.so 5 Headless headless-backend.so 5 Rassberry Pi rpi-backend.so 6 RDP rdp-backend.so 2013 11 16 8/31
1 apt-get install weston 2 XDG RUNNTIME DIR systemd :systemd-logind systemd export XDG RUNNTIME DIR=/tmp OK 3 weston-launch /etc/group weston-launch # usermod -a -G weston-launch <your-login-id>......! 2013 11 16 9/31
X X $ weston!! 2013 11 16 10/31
DRM/KMS linux DRM/KMS DRM Direct Rendering Manager (DMA Memory Mapped I/O 3D GPU DRM GPU 2013 11 16 11/31
DRM/KMS KMS Kernel-based Mode Setting 2013 11 16 12/31
DRM/KMS weston DRM/KMS weston 1 gdm3 Ctrl-Alt-F1 $ su # service gdm3 stop 2 KMS/DRM $ lsmod egrep (i915 radeon nouveau)...(i915/radeon/nouveau OK)... 3 weston $ weston-launch 2013 11 16 13/31
DRM/KMS Intel SONY VAIO DRM/KMS VGA weston VGA 2013 11 16 14/31
Linux 2D weston 106 Debian KVM X weston debian sid weston-1.3.0 fbdev-backend.so weston-1.3.1 2013 11 16 15/31
wayland weston wayland-backend.so weston weston 1 weston 2 wayland-terminal weston $ weston -Swayland-1 --width=640 --height=400 (width/height ) Xnest 2013 11 16 16/31
wayland 2013 11 16 17/31
debian wayland debian wayland/weston weston X XWayland debian sid X weston : X wayland xwayland.so X -wayland debian X X 10 debian-x d.o 2 2 http://lists.debian.org/debian-x/2013/10/msg00205.html 2013 11 16 18/31
debian wayland debian sid gtk debian wayland weston $ aptitude install gtk-3-examples $ env GDK_BACKEND=wayland gtk3-demo gtk weston/wayland... 2013 11 16 19/31
weston wayland! 2013 11 16 20/31
weston wayland X (pixmap)/ (EGL/mesa) weston xkbcommon 2013 11 16 21/31
weston wayland weston-launch suid root weston-launch weston root root socket weston (sendmsg/recvmsg 2013 11 16 22/31
weston wayland 2013 11 16 23/31
weston DRM/KMS $(MESA_SRC)/include/pci_ids/pci_id_driver_map.h driver_map mesa 3D i915 radion/nouveau 2013 11 16 24/31
weston DRM/KMS mesa GPU GPU...) $(MESA_SRC)/include/pci_ids/pci_id_driver_map.h static const struct { 61 int vendor_id; 62 const char *driver; 63 const int *chip_ids; 64 int num_chips_ids; 65 } driver_map[] = { 66 { 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) }, 67 { 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) }, 68 #ifndef DRIVER_MAP_GALLIUM_ONLY 69 { 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) }, 70 { 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) }, 71 #endif 72 { 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) }, 73 { 0x1002, "r600", r600_chip_ids, ARRAY_SIZE(r600_chip_ids) }, 74 { 0x1002, "radeonsi", radeonsi_chip_ids, ARRAY_SIZE(radeonsi_chip_ids) 75 { 0x10de, "nouveau", NULL, -1 }, 76 { 0x15ad, "vmwgfx", vmwgfx_chip_ids, ARRAY_SIZE(vmwgfx_chip_ids) }, 77 { 0x0000, NULL, NULL, 0 }, 78 }; 2013 11 16 25/31
weston DRM/KMS use-pixman weston-launch GPU 3D /lib/modules/ uname -r /kernel/drivers/gpu/drm/ DRM/KMS mesa GPU weston SEGV ( 2D...) 2013 11 16 26/31
linux... DRM/KMS,FB,V4L2 http://elinux.org/images/2/22/kms_fb_and_v4l2_ How_to_Select_a_Graphics_and_Video_API.pdf 2013 11 16 27/31
pixman pixman 2D 2D http://www.pixman.org/ 2013 11 16 28/31
mesa mesa OpenGL gallium3d llvmpipe gallium3d state tracker GPU llvmpipe CPU LLVM http://www.mesa3d.com gallium3d Gallium3D Mesa s New Driver Model http://www.slideshare.net/olvaffe/ gallium3d-mesas-new-driver-model 2013 11 16 29/31
phoronix http: // www. phoronix. com weston/wayland! 2013 11 16 30/31
weston/wayland Hack 2013 11 16 31/31