Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)


Published on

Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)

  1. 1. Improving cross desktop standardCedric BailCedric Bail<><><><>
  2. 2. Who am I ?• French free software developer in Korea• Enlightenment developer since 2005• Work for Samsung Mobile in Korea• On Enlightenment Foundation Libraries
  3. 3. What is this talk about ?●Give some context about Enlightenment●Sharing experience●Wayland usage●Systemd usage
  4. 4. Why ?●Improve link across community●All about Free software●Sharing experience and knowledge●Lead to a better experience for everyone
  5. 5. Why ?●Better communication across project !●Seriously !●Build better and stronger base for everyoneto use●To get better standard, people need tounderstand each other goal
  6. 6. Enlightenment ?●X Windows manager started in 1997●Enlightenment 0.17 released 21/12/2012●Composite manager●Wayland server●Wrote our own C toolkit, EFL●And our own terminal emulator
  7. 7. 88Enlightenment ?< Screenshot of Enlightenment Window Manager >
  8. 8. Enlightenment ?●Was GNOME windows manager more than10 years ago.●Due to a conflict between Carsten andMiguel, each of them took their own path●Argument was about the integration of thewindows manager with the desktop
  9. 9. Enlightenment ?●The year of Linux Desktop will not happen●The future will be in the embedded world●That was in 2001 and defined whereEnlightenment community worked on.●Goal :– Serve us, developers– Serve the embedded world
  10. 10. Enlightenment ?●In fact, this two goal where the same●Need a buttload of options●Light on CPU and memory usage●Easily themable●Easily adaptable to various screen and input
  11. 11. Performance matters ?●Embedded device dont have– Much memory– Much CPU– Much GPU, if at all– Much battery●In fact, optimizing for battery implyoptimizing for all the other goals !
  12. 12. Memory and battery ?●Used memory need to be always powered●Accessing memory use more energy thanaccessing cache●Embedded memory bandwidth dontincrease●No swap
  13. 13. CPU and battery ?●Obviously, the more you use it...●What does use means with modern CPU :– Have multiple core– With different characteristic– Change their clock●Use as little as possible and make them goback to sleep as soon as possible
  14. 14. GPU and battery ?●Avoid fullscreen rendering●Avoid memcpy (on the GPU to)●No dependencies between frame●Use hardware layer to avoid compositing●If not, software compositor may be lighter
  15. 15. Battery ?●Dont follow Moores Law !●Core i7 is as efficient as a Cortex A8 !●Little hope into a Moores Law for SoC powerconsumption●Battery will always be a limit
  16. 16. Battery ?●EFL/E17 use 10% less battery than Android●With Unity my laptop loose 1 hour ofautonomy according to powertop●Closing my webbrowser give me 1 morehour of autonomy●True on a x86 laptop to !
  17. 17. Beyond desktop !
  18. 18. Beyond desktop !
  19. 19. Beyond desktop●1.5 Billion Android device in 2013●More than the number of desktop in use●Developing country jumping on Android●No free software●Gate to our today life !●As powerful as some laptop !
  20. 20. Specific software ?●An application per device ?●Screen variation ?●Reading distance ?●Input ?●Optimized for mobile ?●Not really specific !
  21. 21. Memory optimization●Share content across application, mmap !●Maybe finally a sensible .desktop●Share glyph and pixels across applications●Need help from the kernel to decide whento really throw those data away●Toolkit should agree on a common cache
  22. 22. Screen variation●DPI is not enough●Distance to screen matter●Personnal sighseeing to●Scale factor for all readable elements perscreen=> Should be a cross desktop standard andhandle by toolkit
  23. 23. Input variation●Not everyone has the same fingers !
  24. 24. Suspending●Throw all cached ressource away●Interact with the system nicely on suspend●On iconify EFL application throttlethemselves (yes, sleep in the main loop)●Drop frame rate when minimized
  25. 25. Wayland●X is impossible to secure by design●Designed more than 20 years ago●Compositing was added later on●A lot was learned●It is a great time to clean stuff●Needed to be competitiv
  26. 26. Wayland●More efficient by design●Should be better than Android●Should be more secure●Some backward compatibility for X apps●Create more work on Composite Manager●We need to all agree on the standard
  27. 27. Wayland
  28. 28. Wayland
  29. 29. Wayland●First always compositing●Handle Wayland client under X●Become a full Wayland compositor
  30. 30. Systemd●Enlightenment_start replacement●More reliable●Handle monitoring of many process●Can monitor :– Evas_Cserve2– Elev8d– Elm_Quicklaunch
  31. 31. Systemd●Could it take care of more ?●Launching/sandboxing application●Converting .desktop●Multi-instance application ?●Toolkit pre-initialization daemon ?●Maybe not a problem necessary to solve
  32. 32. Question ?