Lightning Talks
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
A Cross-Platform Evaluation of Graphics Shader Compiler
Edinburgh Research Explorer A Cross-platform Evaluation of Graphics Shader Compiler Optimization Citation for published version: Crawford, L & O'Boyle, M 2018, A Cross-platform Evaluation of Graphics Shader Compiler Optimization. in Proceedings of The International Symposium on Performance Analysis of Systems and Software 2018. Institute of Electrical and Electronics Engineers (IEEE), Belfast, UK, pp. 219-228, 2018 IEEE International Symposium on Performance Analysis of Systems and Software, Belfast, United Kingdom, 2/04/18. https://doi.org/10.1109/ISPASS.2018.00035 Digital Object Identifier (DOI): 10.1109/ISPASS.2018.00035 Link: Link to publication record in Edinburgh Research Explorer Document Version: Peer reviewed version Published In: Proceedings of The International Symposium on Performance Analysis of Systems and Software 2018 General rights Copyright for the publications made accessible via the Edinburgh Research Explorer is retained by the author(s) and / or other copyright owners and it is a condition of accessing these publications that users recognise and abide by the legal requirements associated with these rights. Take down policy The University of Edinburgh has made every reasonable effort to ensure that Edinburgh Research Explorer content complies with UK legislation. If you believe that the public display of this file breaches copyright please contact [email protected] providing details, and we will remove access to the work immediately and investigate your claim. Download date: 07. Oct. 2021 A Cross-platform Evaluation of Graphics Shader Compiler Optimization Lewis Crawford, Michael O’Boyle School of Informatics, University of Edinburgh, UK Abstract—For real-time graphics applications such as games and virtual reality, performance is crucial to provide a smooth user experience. -
Libreoffice 10Th Anniversary Digital Sovereignty & Open
LibreOffice 10th Anniversary Digital Sovereignty & Open Document Standards Italo Vignoli 10 Years / 20 Years July 19, 2000: Sun announces OpenOffice.org Sept 28, 2010: OpenOffice.org community announces LibreOffice Timeline 35 years since Marco Börries releases the first version of StarWriter in 1985 2009: Oracle acquires Sun OpenOffice vs LibreOffice SEPTEMBER 28, 2010 OpenOffice.org Community announces The Document Foundation The community of volunteers developing and promoting OpenOffice.org sets up an independent Foundation to drive the further growth of the project The brand "LibreOffice" has been chosen for the software going forward Gamalielsson, J. and Lundell, B. (2011) Open Source communities for long-term maintenance of digital assets: what is offered for ODF & OOXML?, in Hammouda, I. and Lundell, B. (Eds.) Proceedings of SOS 2011: Towards Sustainable Open Source, Tampere University of Technology, Tampere, ISBN 978-952-15-2718-0, ISSN 1797-836X. LibreOffice 3.3 at FOSDEM 2011 Roadmap to the Future … • Time based, six-monthly release train … • Synchronised with the Linux distributions cadence • i.e. a normal Free Software project • Rapid fire, (monthly) bug-fix release on stable branch The Document Foundation The Document Foundation Founding Principles COPYLEFT LICENSE NO CONTRIBUTOR AGREEMENT MERITOCRACY COMMUNITY GOVERNANCE VENDOR INDEPENDENCE LibreOffice Main Asset Incredible Easy Hacks Huge Mentoring Effort 100 200 300 400 500 600 0 Sep 10 Oct 10 Nov 10 CumulativeNumber of LibreOffice New Code Committers New Hackers New Dec -
Vulkan Loader Deep Dive Mark Young and Lenny Komow Welcome! Who We Are
Vulkan Loader Deep Dive Mark Young and Lenny Komow Welcome! Who We Are.. • LunarG: – Software engineering firm focusing on Graphics and Shader technologies – Valve provides financing to support Vulkan Ecosystem: • Vulkan desktop loader • Validation layers • Tools (Trace/Replay, VIA) • Mark Young: – Current Vulkan desktop loader owner – OpenGL User-Mode drivers 9.5 years (ATI/AMD) – DirectX Kernel-Mode drivers 5 years (Qualcomm) • Lenny Komow – Desktop Loader support (working towards co-owner) – 2D/3D ECAD rendering 1.5 years (Cadence Design) Ask Yourself, “What Do I Want to Learn?” “You’ve got to be very careful if you don’t know where you are going, because you might not get there.” -Yogi Berra What This Is Not... • An introduction to Vulkan • A Vulkan tutorial on writing: – Applications Don’t abandon ship yet! – Layers – Drivers • An overview of using Validation Layers Look for that and more on the Khronos Vulkan Resources page We Will Be Covering... - A detailed look at the Vulkan Loader and its interfaces to: - Applications - Drivers - Layers - Debug settings - Possible optimizations Vulkan App Developer View Loader Position (High-Level) Really Loader(s) Plural • Intent is only one loader to rule them all, but reality is – Two different loaders: • Desktop Loader – Same source used for Linux/Windows • Android Loader – Nougat+ devices • Still, one loader interface design (in GitHub and LunarG Vulkan SDK) Loader Interface Doc • Available in Vulkan-LoaderAndValidationLayers Github ./loader/LoaderAndLayerInterface.md • Valid for all Vulkan -
Collabora 2017 16X9
GStreamer in the world of Android Camera 3 Olivier Crête Open First Who am I ? ● GStreamer at Collabora since 2007 ● Started with VVoIP: Telepathy & Farstream ● Helps our customers use GStreamer – Many hardware integration projects 2 What is Camera 3? ● New Camera API style ● Introduced by Android 5.0 in 2004 ● Exposes modern SoC cameras 3 Modern SoCs? ● Used in all phones ● Multiple hardware blocks ● Configurable hardware pipeline ● Signal level transfer 4 Features ● Multiple streams from same sensor – Different characteristics for each ● Request based – Pull instead of push 5 What is a Request? ● Request to capture one frame ● Per request parameters ● Enables – HDR – Burst captures – Traditional video: timed requests 6 Existing APIs ● Linux: Media Controller – Requires per-hardware userspace code ● Android has HAL for this – Generic Linux has nothing – Intel has icamerasrc ● Android Java/NDK Camera2 API 7 Our design ● New base class – Not GstBaseSrc ● We tried, it was a huge pain ● Multiple source pads – Request pads – Stream APIs on pads 8 Pad API ● Per stream properties using GObject Properties ● Two types based on Caps frame rate 9 Caps frame rate = 0 / 1 ● Manual request using action signal or Ginterface ● Start/Stop method to start bursts – Possibly infinite bursts 10 Caps Frame rate > 0 ● Automatic timed requests based on framerate ● Stop on not-linked – Restart on reconfigure 11 Limitations ● Media Controller not dynamic – Only allow caps change in the READY→ PAUSED transition – Maybe only if more than one stream (pad) ● Some “” stream properties apply globally ¯\_( )_/¯ ツ 12 Android HAL limitations ● Requires single threaded access ● Recommendation: – One thread to interact – Queues frames for each pad – Streaming threads pick up from there ● Specific to Android HAL 13 Implementation status ● Only horribly prototype ● Code has no value – Based on GstBaseSrc – Tested with a single Android HAL ● Will not publish ● Code by Nicolas, Vincent P and Wonchul 14 Thank you!. -
COPYRIGHT NOTE: This Source Code, and All of Its Derivations, Is Subject to the "ITU-T General Public License"
COPYRIGHT NOTE: This source code, and all of its derivations, is subject to the "ITU-T General Public License". Please have it read in the distribution disk, or in the ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". This code has (C) Copyright by AT&T Corp. ** Copyright (C) 2010 David Schleef <[email protected]> Copyright (C) 2010 Sebastian Dröge <[email protected]> Copyright (C) <2011> Intel Corporation Copyright (C) <2011> Collabora Ltd. Copyright (C) <2011> Thibault Saunier <[email protected]> © Panasonic System Networks Co., Ltd. 2012 © Panasonic System Networks Co., Ltd. 2013 (c) 2003 Ronald Bultje <[email protected]> (c) 2003 Ronald Bultje <[email protected]> (c) 2005 Michal Benes <[email protected]> (c) 2003 Ronald Bultje <[email protected]> (c) 2005 Michal Benes <[email protected]> (c) 2008 Sebastian Dröge <[email protected]> (c) 2011 Mark Nauwelaerts <[email protected]> (C) 2003 Ronald Bultje <[email protected]> (C) 2006 Tim-Philipp Müller <tim centricular net> (c) 2003 Ronald Bultje <[email protected]> (c) 2006 Tim-Philipp Müller <tim centricular net> (c) 2008 Sebastian Dröge <[email protected]> (c) 2011 Debarshi Ray <[email protected]> (c) 2003 Ronald Bultje <[email protected]> (c) 2011 Debarshi Ray <[email protected]> (c) 2004 Arwed v. Merkatz <[email protected]> (c) 2004 Ronald Bultje <[email protected]> (c) 2005 Arwed v. Merkatz <[email protected]> (c) 2005 Ronald S. Bultje <[email protected]> (c) 2005 Ronald S. -
Resuing Libreoffice in Your Application
Reusing Libreoffice in your application GUADEC 2014 2014-07-26 1 GUADEC 2014 - Reusing LibreOffice in your application Overview Short bio LibreOfficeKit Document Liberation Features Libreoffice & Gnome How to get involved 2 GUADEC 2014 - Reusing LibreOffice in your application Bio math student at Karlsruhe Institute for Technology LibreOffice developer member of the ESC working on calc, chart2, testing framework maintainer for cppunit co-maintainer for orcus, ixion, mdds work part time for Collabora on LibreOffice 3 GUADEC 2014 - Reusing LibreOffice in your application LibreOfficeKit 4 GUADEC 2014 - Reusing LibreOffice in your application I'm not doing the work currently moved forward by Andrzej Hunt as GSoC desing to large degree by Michael Meeks 5 GUADEC 2014 - Reusing LibreOffice in your application Design known also as liblibreoffice has been renamed recently tiny static library exposes Libreoffice functionality at run-time simple interface C, C++ and Java bindings 6 GUADEC 2014 - Reusing LibreOffice in your application What is already implemented? stable import export unstable tiled rendering improved API handling 7 GUADEC 2014 - Reusing LibreOffice in your application Example 8 GUADEC 2014 - Reusing LibreOffice in your application Ideas Have a simple API that exposes the most common functions for what would you use the API? which features would you need? Allow fast rendering of documents for any application tiled rendering Gnome Documents? avoid UNO and/or unoconv no setUp/tearDown for repeated usage 9 GUADEC 2014 - Reusing LibreOffice -
Let's Make GNOME a Collaborative Desktop
Let’s make GNOME a collaborative desktop Let’s make GNOME a collaborative desktop Guillaume Desmottes ([email protected]) Collabora Ltd. (www.collabora.co.uk) 7 July 2009 Let’s make GNOME a collaborative desktop About Me Plan About Me Collaboration in Sugar Telepathy Introduction D-Bus API Implementation Tubes Collaboration in GNOME Tube integration Deeper Telepathy integration Get more from XMPP Conclusion Let’s make GNOME a collaborative desktop About Me About Me Let’s make GNOME a collaborative desktop Collaboration in Sugar Plan About Me Collaboration in Sugar Telepathy Introduction D-Bus API Implementation Tubes Collaboration in GNOME Tube integration Deeper Telepathy integration Get more from XMPP Conclusion Let’s make GNOME a collaborative desktop Collaboration in Sugar Sugar I OLPC User interface 1 I Sugarlabs I Education Plateform I Collaboration Oriented 1http://www.sugarlabs.org/ Let’s make GNOME a collaborative desktop Collaboration in Sugar Sugar Activity I Sugar Application I Shareable I Invite friends Let’s make GNOME a collaborative desktop Collaboration in Sugar Mesh View I Friends I Shared Activities Let’s make GNOME a collaborative desktop Collaboration in Sugar Journal I Previous activities I Participants I Share entry (File Transfer) Let’s make GNOME a collaborative desktop Collaboration in Sugar Write Together Let’s make GNOME a collaborative desktop Collaboration in Sugar Read Together Let’s make GNOME a collaborative desktop Collaboration in Sugar Browse the Web Together Let’s make GNOME a collaborative -
Multimedia 1 Contents
Multimedia 1 Contents 2 Requirements ................................ 2 3 Hardware-accelerated media rendering ............... 2 4 Multimedia Framework ....................... 2 5 Progressive download and buffered playback ............ 3 6 Distributed playback support .................... 3 7 Camera display on boot ....................... 3 8 Video playback on boot ....................... 3 9 Camera widget ............................ 3 10 Transcoding .............................. 4 11 DVD playback ............................ 4 12 Traffic control ............................. 4 13 Solutions .................................. 5 14 Multimedia Framework ....................... 5 15 Hardware-accelerated Media Rendering .............. 5 16 Buffering playback in GStreamer and clutter-gst ......... 6 17 Distributed playback ......................... 7 18 Camera and Video display on boot ................. 7 19 Camera widget and clutter-gst ................... 8 20 Transcoding .............................. 9 21 DVD playback ............................ 9 22 Traffic control ............................. 9 23 This document covers the various requirements for multimedia handling in the 24 Apertis platform. 25 The FreeScale I.MX/6 platform provides several IP blocks offering low-power 26 and hardware-accelerated features: 27 • GPU : For display and 3D transformation/processing 28 • VPU : For decoding and encoding video streams 29 The Apertis platform will provide robust and novel end-user features by getting 30 the most out of those hardware components. -
Resurrecting Personas of Libreoffice
Collabora Productivity Resurrecting Personas for LibreOffice By Muhammet Kara Consultant Software Engineer at Collabora Productivity @muhamm3tkara Collabora Productivity www.collaboraoffice.co m Muhammet Kara Work ● Working on the core & UI ● Since Dec 2018 ● Was @Pardus project before Community ● LibreOffice certified developer ● Long-time GNOME contributor ● Member of The Document Foundation & the GNOME Foundation Collabora Productivity www.collaboraoffice.co m Mozilla Themes, aka Personas Tools > Options > Personalization > Load Firefox theme ● Allows applying Mozilla Firefox themes on LibreOffice ● Can select a pre-installed theme ● Can search online for new ones ● Changes background of main menus, and toolbars ● Relies heavily on Mozilla add-ons API & web content Collabora Productivity www.collaboraoffice.co m Past Some of the issues ● Performance & reliability issues ● Error-prone ● Unrelated/incomplete categories ● Getting broken & fixed every now and then ● Simply not working / is practically dead Collabora Productivity www.collaboraoffice.co m Performance & Reliability Issues ● ~40 seconds to search for a keyword ● Fetching whole html pages ● Relying on the design & content of the html (easily broken) ● Multiple & repetitive string searches ● Overwriting existing data every time ● Using unreliable lib for download Collabora Productivity www.collaboraoffice.co m Categories ● 15 on Mozilla & only 6 on LibreOffice ● There is no LibreOffice category ● Not even actual categories! Collabora Productivity www.collaboraoffice.co m Fetch/Download -
Collabora Online & Owncloud
LIBOCON19 Collabora Online & ownCloud Collabora Productivity Michael Meeks <[email protected]> General Manager at Collabora Productivity @michael_meeks, mmeeks #libreoffice-dev irc.freenode.net “Stand at the crossroads and look; ask for the ancient paths, ask where the good way is, and walk in it, and you will find rest for your souls...” - Jeremiah 6:16 Collabora Productivity What is Collabora Online ? Documents + Spreadsheets + Slides • Viewing and Collaborative editing Excellent interoperability with Microsoft formats • DOCX, DOC, RTF, XLSX, XLS, PPTX, PPT Many other Import filters / Viewin !or • PDF, Visio, P"#lisher $$$ Power!"l %&SIW' ren(erin On-premise Integration with ownClo"($ *r+hitecture , a #et on CP- threa(s . networ/ 0 collabora online . com Collabora Productivity Overview Collabora Shared mission / raison d’etre: ● >100 staff, Cambridge & Montreal ● Make Open Source rock: simple goal of the shareholders ● Parent company – 14 years old ● We re-invest your support into FLOSS software Collabora Productivity – Office Productivity Leaders in the LibreOffice Community ● ~30 staff – 6 years old (last week) ● ~300 developers/year, ~1000 contributors ● 50% C’bra, 50% me ● Collabora Online (DE) – 20+ million docker images collabora online . com ownCloud-2019-09 .. 3 Collabora Productivity Collabora Parent: eg. Monado / OpenXR – play later ... Monado Fun & Games for hackers on Linux ● Founders & driving force behind ● Get involved FLOSS VR / XR ● https://gitlab.freedesktop.org/monado ● When the world goes this way ● https://monado.freedesktop.org/ ● Vital to have an open-source run- time, stack, drivers & community. collabora online . com Nextcloud-2019-09 .. 4 Collabora Productivity Collabora Productivity: examples One of the top three Italian banks 20,000 seats deployed in all their branch offices. -
Libreoffice and Collabora
Exploiting Concurrency How I stopped worrying and started threading Michael Meeks [email protected] mmeeks / irc.freenode.net Collabora Productivity “Stand at the crossroads and look; ask for the ancient paths, ask where the good way is, and walk in it, and you will find rest for your souls...” - Jeremiah 6:16 @CollaboraOfficeFOSDEM 2017 | Michael Meekswww.CollaboraOffice.com 1 / 15 The exciting (insurmountable?) opportunity ● Processor clocks are stymied at 3-4Ghz ● Various clever tricks improve IPC still ● But the real IPC wins: ● Those other cores – 16 threads: the new normal ● If we use a single thread: we waste 90+% FOSDEM 2017 | Michael Meeks 2 / 15 So where are we at ? LibreOffice Threading Status ● We use lots of threads ● Start impress: 6 threads. – VCL / main – thread – custom allocator thread: rtl_cache – factory thread → accept on argument pipe. – update-check thread → in a sleep. – gio thread → ? pulseaudio thread → ? ● Windows: worse → GDI + real-time timer threads ● Approximately 1+epsilon – zero concurrency FOSDEM 2017 | Michael Meeks 4 / 15 Its not all bad ... ● We have some threads that make sense ● eg. writing configuration thread (short lived) ● Thread-pool for larger tasks ● Large high-fidelity image scaling: – we parallelize nicely: easy to partition task. ● Zipping → ODF & DOCX – Deflation → expensive → implemented this. – Turns out the big problem: images → solved. ● XML parsing / tokenize / sheet loading. ● Drawing Layer / 3D / Software rendering fallback FOSDEM 2017 | Michael Meeks 5 / 15 Why thread ? ● Benefits: ● Focus limited CPU resources; Limited !? – Branch predictor complexity – L1 data cache size – memory bandwidth – Instruction decode logic & micro-op caches ● Splitting your work into a series of passes: – Each going in a thread → maximizes resource use ● eg. -
COLLABORA JOINS GENIVI ALLIANCE UK Open Source
COLLABORA JOINS GENIVI ALLIANCE UK open source software consultancy adds weight to industry group that enables quicker route to market for in-vehicle entertainment Cambridge, United Kingdom, October 12, 2011 -- UK-based multimedia and open source turnkey solutions company Collabora has today announced it has become an Associate Member of the GENIVI Alliance. The GENIVI Alliance gathers companies from the entire In-Vehicle Infotainment (IVI) industry, including: software, consumer electronics and communication, and major vehicle manufacturers including BMW, Hyundai Motor Group, PSA Peugeot-Citroen, Jaguar Land Rover, General Motors and Renault. Collabora will contribute to make GENIVI an open source platform with best of breed multimedia support and ease of deployment. "GENIVI is a critical organisation in enabling a quick route to market for new and innovative in-vehicle entertainment solutions," said Rob McQueen, Collabora co- founder and CTO. "We are regarded as one of the foremost open source consultancies and as the company behind leading multimedia technologies like the GStreamer multimedia framework, the Telepathy and Farstream real-time communications stack and with the Rygel DLNA implementation, we are convinced we can help propel GENIVI forward as a cutting edge platform." The GENIVI platform is built on top of the Linux kernel, GStreamer, D-bus, Webkit and other open source technologies in which Collabora is a major contributor. Collabora engineers have been contributing to the Linux community for more than six years, becoming one of the most widely-respected and effective open source consulting companies. The company is seen as a pioneer for its work in system infrastructure on open source platforms in fields such as multimedia, web technologies and Inter process communications (IPC).