Toward General Purpose 3D User Interfaces: Extending Windowing Systems to Three Dimensions
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
OS Linux Desktop Effects
OS Linux Desktop Effects Tomáš Dlouhý Y04A1L Presentation Content • Basics • Composite Managers • Compiz Fusion • Basic Effects • Advanced Effects • Small scratch Y04A1L Presentation Basics I • Linux Kernel • X Server • Window Manager • Composite Manager Y04A1L Presentation Basics II • How does compositing works? Y04A1L Presentation Composite Managers I • Compiz • Compiz Quinnstorm known as Beryl • Kwin from KDE4 platform • Compiz Fusion (in next chapter) Y04A1L Presentation Composite Managers II • Compiz – Released by Novell in january 2006 – Include effects as Cube, rain, wobbly... – Supports newest NVIDIA / ATI cards only – Most stable – Supports KDE and GNOME Y04A1L Presentation Composite Managers III • Beryl – Fork of compiz – Extended effects from Compiz – Adding: Show, Animations, Emerald (window borders),... – Works with all graphics cards which supports 3d acceleration (requires driver with support 3d) – Supports KDE and GNOME Y04A1L Presentation Composite Managers IV • Kwin 4 – Relativly newest, many effects still under development – Few effects as: mouse position highlight, show all desktop, animations,... – Many effects dont require 3d acceleration (using X Server DRI) Y04A1L Presentation Compiz Fusion • After reunion Compiz and Beryl (renamed to Compiz Extras) • First release in summer 2007 • Adding all advatages from both projects • Come with more effects as Expo, Paint,... • CompizConfig Settings Manager Y04A1L Presentation Basic effects I • Cube – Most popular effect – Can have more then 4 desktops – Change background -
How-To Gnome-Look Guide
HHOOWW--TTOO Written by David D Lowe GGNNOOMMEE--LLOOOOKK GGUUIIDDEE hen I first joined the harddisk, say, ~/Pictures/Wallpapers. right-clicking on your desktop Ubuntu community, I and selecting the appropriate You may have noticed that gnome- button (you know which one!). Wwas extremely look.org separates wallpapers into impressed with the amount of different categories, according to the customization Ubuntu had to size of the wallpaper in pixels. For Don't let acronyms intimidate offer. People posted impressive the best quality, you want this to you; you don't have to know screenshots, and mentioned the match your screen resolution. If you what the letters stand for to themes they were using. They don't know what your screen know what it is. Basically, GTK is soon led me to gnome-look.org, resolution is, click System > the system GNOME uses to the number one place for GNOME Preferences > Screen Resolution. display things like buttons and visual customization. The However, Ubuntu stretches controls. GNOME is Ubuntu's screenshots there looked just as wallpapers quite nicely if you picked default desktop environment. I impressive, but I was very the wrong size, so you needn't fret will only be dealing with GNOME confused as to what the headings about it. on the sidebar meant, and I had customization here--sorry no idea how to use the files I SVG is a special image format that Kubuntu and Xubuntu folks! downloaded. Hopefully, this guide doesn't use pixels; it uses shapes Gnome-look.org distinguishes will help you learn what I found called vectors, which means you can between two versions of GTK: out the slow way. -
The Glib/GTK+ Development Platform
The GLib/GTK+ Development Platform A Getting Started Guide Version 0.8 Sébastien Wilmet March 29, 2019 Contents 1 Introduction 3 1.1 License . 3 1.2 Financial Support . 3 1.3 Todo List for this Book and a Quick 2019 Update . 4 1.4 What is GLib and GTK+? . 4 1.5 The GNOME Desktop . 5 1.6 Prerequisites . 6 1.7 Why and When Using the C Language? . 7 1.7.1 Separate the Backend from the Frontend . 7 1.7.2 Other Aspects to Keep in Mind . 8 1.8 Learning Path . 9 1.9 The Development Environment . 10 1.10 Acknowledgments . 10 I GLib, the Core Library 11 2 GLib, the Core Library 12 2.1 Basics . 13 2.1.1 Type Definitions . 13 2.1.2 Frequently Used Macros . 13 2.1.3 Debugging Macros . 14 2.1.4 Memory . 16 2.1.5 String Handling . 18 2.2 Data Structures . 20 2.2.1 Lists . 20 2.2.2 Trees . 24 2.2.3 Hash Tables . 29 2.3 The Main Event Loop . 31 2.4 Other Features . 33 II Object-Oriented Programming in C 35 3 Semi-Object-Oriented Programming in C 37 3.1 Header Example . 37 3.1.1 Project Namespace . 37 3.1.2 Class Namespace . 39 3.1.3 Lowercase, Uppercase or CamelCase? . 39 3.1.4 Include Guard . 39 3.1.5 C++ Support . 39 1 3.1.6 #include . 39 3.1.7 Type Definition . 40 3.1.8 Object Constructor . 40 3.1.9 Object Destructor . -
A Successor to the X Window System
Y: A Successor to the X Window System Mark Thomas <[email protected]> Project Supervisor: D. R¨uckert <[email protected]> Second Marker: E. Lupu <[email protected]> June 18, 2003 ii Abstract UNIX desktop environments are a mess. The proliferation of incompatible and inconsistent user interface toolkits is now the primary factor in the failure of enterprises to adopt UNIX as a desktop solution. This report documents the creation of a comprehensive, elegant framework for a complete windowing system, including a standardised graphical user interface toolkit. ‘Y’ addresses many of the problems associated with current systems, whilst keeping and improving on their best features. An initial implementation, which supports simple applications like a terminal emulator, a clock and a calculator, is provided. iii iv Acknowledgements Thanks to Daniel R¨uckert for supervising the project and for his help and advice regarding it. Thanks to David McBride for his assistance with setting up my project machine and providing me with an ATI Radeon for it. Thanks to Philip Willoughby for his knowledge of the POSIX standard and help with the GNU Autotools and some of the more obscure libc functions. Thanks to Andrew Suffield for his help with the GNU Autotools and Arch. Thanks to Nick Maynard and Karl O’Keeffe for discussions on window system and GUI design. Thanks to Tim Southerwood for discussions about possible features of Y. Thanks to Duncan White for discussions about the virtues of X. All company and product names are trademarks and/or registered trademarks of their respective owners. -
Beyond Eye Candy
COVER STORY Xgl and Compiz An OpenGL-accelerated desktop with Xgl and Compiz BEYOND EYE CANDY www.sxc.hu A member of Suse’s X11 team delivers an insider’s look at Xgl. agement must work hand in hand, we can expect to see more compositing BY MATTHIAS HOPF window managers in the future with the ability to merge both processes. ac fans were ecstatic when The Render extension adds new basic Another important X server compo- Apple introduced the Quartz primitives for displaying images and nent that desperately needs reworking is MExtreme [1] graphics interface, polygons, along with a new glyph sys- the hardware acceleration architecture, which accelerated desktop effects using tem for enhanced font displays. This which is responsible for efficient hard- 3D hardware. Microsoft’s Windows Vista particularly reflects the fact that the leg- ware representation of graphic com- with its Aero technology looks to close acy graphics commands, called core re- mands. The previous XAA architecture is this gap with the Mac. In the world of quests, no longer meet the demands built around core requests, and is there- Linux, Xgl [2] now provides a compara- placed on modern toolkits such as Qt fore difficult to extend. The architecture ble and even more advanced technology and GTK. All primitives can now be outlived its usefulness and needs replac- that supports similar effects. linked to data in the framebuffer using ing. The most promising alternatives are Xgl is an X Server by David Revemann Porter-Duff operators [3], thus support- EXA and OpenGL. that uses OpenGL to implement graphics ing the rendering of semitransparent sur- EXA is straightforward and easy to im- output. -
Development and Analysis of a Window Manager Concept for Consolidated 3D Rendering on an Embedded Platform
Institute of Parallel and Distributed Systems University of Stuttgart Universitätsstraße 38 D–70569 Stuttgart Master’s Thesis Nr. 0202-0001 Development and Analysis of a Window Manager Concept for Consolidated 3D Rendering on an Embedded Platform Han Zhao Course of Study: INFOTECH Examiner: Prof. Dr. Kurt Rothermel Supervisor: Dipl.-Inf. Simon Gansel, Dipl.-Inf. Stephan Schnitzer Commenced: 19. Jan. 2015 Completed: 21. July 2015 CR-Classification: I.3.2, C.3, D.4.9 Abstract Nowadays with the information technology rapidly developing, an increasing number of 2D and 3D graphics are used in automotive displaying systems, to provide vehicle information, driving assistance, etc. With the demand of 3D models interacting with each other, an implementation should have a 3D compositing capability. However, traditional 2D compositing implementations are not capable of 3D models compositing tasks. In order to composite 3D graphics on embedded platform, the 3D compositing implementation is necessary. Therefore, a concept of window manager is developed aiming to composite 3D graphics with an optimized efficiency for embedded platform. Specially for automotive platforms, a virtualization is made to unify multiple Electronic Control Units (ECUs) into one single ECU platform. On this platform, a server and multiple clients are implemented with dedicated Virtual Machines (VMs). The server is in charge of rendering tasks requested from clients. Based on this, a 3D compositing concept is implemented. It handles efficiently the multiple 3D applications situation using a method of off-screen rendering. A server-side virtualization is also implemented by replacing certain client-side commands during commands forwarding. With this virtualization implementation, multiple applications run simultaneously with accessing single 3D GPU only. -
Full Circle Magazine #160 Contents ^ Full Circle Magazine Is Neither Affiliated With,1 Nor Endorsed By, Canonical Ltd
Full Circle THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY ISSUE #160 - August 2020 RREEVVIIEEWW OOFF GGAALLLLIIUUMMOOSS 33..11 LIGHTWEIGHT DISTRO FOR CHROMEOS DEVICES full circle magazine #160 contents ^ Full Circle Magazine is neither affiliated with,1 nor endorsed by, Canonical Ltd. HowTo Full Circle THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY Python p.18 Linux News p.04 Podcast Production p.23 Command & Conquer p.16 Linux Loopback p.39 Everyday Ubuntu p.40 Rawtherapee p.25 Ubuntu Devices p.XX The Daily Waddle p.42 My Opinion p.XX Krita For Old Photos p.34 My Story p.46 Letters p.XX Review p.50 Inkscape p.29 Q&A p.54 Review p.XX Ubuntu Games p.57 Graphics The articles contained in this magazine are released under the Creative Commons Attribution-Share Alike 3.0 Unported license. This means you can adapt, copy, distribute and transmit the articles but only under the following conditions: you must attribute the work to the original author in some way (at least a name, email or URL) and to this magazine by name ('Full Circle Magazine') and the URL www.fullcirclemagazine.org (but not attribute the article(s) in any way that suggests that they endorse you or your use of the work). If you alter, transform, or build upon this work, you must distribute the resulting work under the same, similar or a compatible license. Full Circle magazine is entirely independent of Canonical, the sponsor of the Ubuntu projects, and the views and opinions in the magazine should in no way be assumed to have Canonical endorsement. -
Linux, Yocto and Fpgas
Embedded Open Source Experts Linux, Yocto and FPGAs Integrating Linux and Yocto builds into different SoCs From a Linux software perspective: ➤ Increased demand for Linux on FPGAs ➤ Many things to mange, both technical and practical ➤ FPGAs with integrated CPU cores – very similar many other SoCs Here are some experiences and observations... © Codiax 2019 ● Page 2 Why use Linux? ➤ De-facto standard ➤ Huge HW support ➤ FOSS ➤ Flexible ➤ Adaptable ➤ Stable ➤ Scalable ➤ Royalty free ➤ Vendor independent ➤ Large community ➤ Long lifetime Why not Linux? ➤ Too big ➤ Real-time requirements ➤ Certification ➤ Boot time ➤ Licensing ➤ Too open? Desktop Shells: Desktop Display server: Display BrailleDisplay Touch-Screen Mouse & Keyboard Wayland Compositor Wayland + development tools = a lot code!of source Linux system example weston, clayton,mutter,KWin evdev libinput GNOME Shell D radeon nouveau lima etna_viv freedreno tegra-re lima nouveau radeon freedreno etna_viv e libwayland-server libwayland-server s Cinnamon k t o kms p Linux kernel, Linux kernel, Plasma 2 w i (Kernel Mode Setting) Mode (Kernel d g Cairo-Dock e t s drm (Direct Rendering Manager) Rendering (Direct drm cache coherent L2-Caches L2-Caches cache coherent CPU &GPU Enlight. DR19 System libraries: System oflibraries): form (in the Toolkits Interface User µClibc Pango glibc glibc main memory possibly adaptations to Wayland/Mir libwayland / COGL libwayland Cairo Cairo (Xr) GTK+ Clutter 2D Application 2D GModule GThread GThread GLib GObject Glib GIO ATK devicedrivers other& modules System -
MX-19.2 Users Manual
MX-19.2 Users Manual v. 20200801 manual AT mxlinux DOT org Ctrl-F = Search this Manual Ctrl+Home = Return to top Table of Contents 1 Introduction...................................................................................................................................4 1.1 About MX Linux................................................................................................................4 1.2 About this Manual..............................................................................................................4 1.3 System requirements..........................................................................................................5 1.4 Support and EOL................................................................................................................6 1.5 Bugs, issues and requests...................................................................................................6 1.6 Migration............................................................................................................................7 1.7 Our positions......................................................................................................................8 1.8 Notes for Translators.............................................................................................................8 2 Installation...................................................................................................................................10 2.1 Introduction......................................................................................................................10 -
Building a 3D Graphic User Interface in Linux
Freescale Semiconductor Document Number: AN4045 Application Note Rev. 0, 01/2010 Building a 3D Graphic User Interface in Linux Building Appealing, Eye-Catching, High-End 3D UIs with i.MX31 by Multimedia Application Division Freescale Semiconductor, Inc. Austin, TX To compete in the market, apart from aesthetics, mobile Contents 1. X Window System . 2 devices are expected to provide simplicity, functionality, and 1.1. UI Issues . 2 elegance. Customers prefer attractive mobile devices and 2. Overview of GUI Options for Linux . 3 expect new models to be even more attractive. For embedded 2.1. Graphics Toolkit . 3 devices, a graphic user interface is essential as it enhances 2.2. Open Graphics Library® . 4 3. Clutter Toolkit - Solution for GUIs . 5 the ease of use. Customers expect the following qualities 3.1. Features . 5 when they use a Graphical User Interface (GUI): 3.2. Clutter Overview . 6 3.3. Creating the Scenegraph . 7 • Quick and responsive feedback for user actions that 3.4. Behaviors . 8 clarifies what the device is doing. 3.5. Animation by Frames . 9 • Natural animations. 3.6. Event Handling . 10 4. Conclusion . 10 • Provide cues, whenever appropriate, instead of 5. Revision History . 11 lengthy textual descriptions. • Quick in resolving distractions when the system is loading or processing. • Elegant and beautiful UI design. This application note provides an overview and a guide for creating a complex 3D User Interface (UI) in Linux® for the embedded devices. © Freescale Semiconductor, Inc., 2010. All rights reserved. X Window System 1 X Window System The X Window system (commonly X11 or X) is a computer software system and network protocol that implements X display protocol and provides windowing on bitmap displays. -
Compiz Fusion
COMPIZ FUSION Salah Satu Window Manager di Linux By DEVINA DONA (devux) devin.53w-design.com [email protected] APA ITU COMPIZ FUSION ? Compiz Fusion adalah koleksi dari beberapa plugin-plugin dan sistem konfigurasi window manager Compiz untuk Sistem X Window, dimana penggunaan perangkat keras grafik untuk menampilkan efek – efek yang mengesankan, kecepatan yang mengagumkan dan tidak ada yang menyaingi. Compiz Fusion berasal dari hasil gabungan antara komunitas plugin Compiz yang lama kumpulan dari “Compiz Extras” dengan projek Beryl yang berdiri sendiri sebagai inti window manager. Rilis Compiz Fusion yang pertama yaitu Compiz Fusion 0.5.2 pada tanggal 13 Agustus 2007. Tujuan dari projek adalah hampir semua fitur-fitur Beryl dan Compiz plugin ada, dan terus melanjutkan plugin Compiz. Sampai saat ini, projek Beryl tidak dilanjutkan dan Compiz akan menambahkan sebagian dari perubahan inti yang dibuat oleh Beryl kepada inti Compiz. Nama telah diubah ke Compiz Fusion (Compiz Penyatuan) berasal dari CompComm. Compiz Fusion sebenarnya sangatlah sederhana untuk di install pada sistem operasi open source lainnya asalkan mendukung akan perangkat keras yang diperlukan. Pelopor pertama yang menggunakan Compiz Fusion adalah linux Mandriva 2008. Diikuti linux Ubuntu 7.10 dengan menggunakan Compiz Fusion sebagai standar window managernya dengan perangkat keras yang mendukung. Compiz Fusion itu sendiri seperti halnya Compiz, yaitu projek software open- source, yang artinya siapa saja dapat menggunakan dan mendistribusikan dengan bebas seperti halnya Linux. Ini sebagai catatan penting bahwa Compiz dan Compiz Fusion adalah tidak sama. Seperti yang disampaikan oleh komunitas Compiz Fusion bahwa ini pengembangan dari Compiz. Ini adalah kerjasama yang berbeda antara pengembang dari Compiz dengan pengembang Compiz Fusion, akan tetapi walaupun kenyataannya projek Compiz Fusion terdapat pengembang dari Compiz. -
Implementation Support Introduction Elements of Windowing Systems
Implementation support Introduction chapter 8 • programming tools How does HCI affect of the programmer? – levels of services for programmers • windowing systems Advances in coding have elevated programming – core support for separate and simultaneous user- hardware specific system activity → interaction-technique specific • programming the application and control of dialogue Layers of development tools • interaction toolkits – windowing systems (operating systems) – bring programming closer to level of user perception – interaction toolkits • user interface management systems – user interface management systems – controls relationship between presentation and functionality 1 2 Elements of windowing systems roles of a windowing system Device independence programming the abstract terminal device drivers image models for output and (partially) input Resource sharing achieving simultaneity of user tasks window system supports independent processes isolation of individual applications 3 4 Architectures of windowing The client-server architecture systems Need not be three possible software architectures on same machine – all assume device driver is separate – differ in how multiple application management is implemented 1. each application manages all processes – everyone worries about synchronization – reduces portability of applications 2. management role within kernel of operating system – applications tied to operating system 3. management role as separate application maximum portability 5 6 Programming the application Programming the application