<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Samuel Iglesias Gonsálvez&apos;s blog</title>
		<description>Posts</description>
		<link>https://blogs.igalia.com/siglesias</link>
		<atom:link href="https://blogs.igalia.com/siglesias/feed.xml" rel="self" type="application/rss+xml" />
		
			<item>
				<title>XDC 2023: Behind the curtains</title>
				
					<description>&lt;p&gt;Time flies! Back in October, &lt;a href=&quot;https://www.igalia.com&quot;&gt;Igalia&lt;/a&gt; organized &lt;a href=&quot;https://xdc2023.x.org&quot;&gt;X.Org Developers Conference 2023&lt;/a&gt; in A Coruña, Spain.&lt;/p&gt;

&lt;p&gt;In case you don’t know it, X.Org Developers Conference, despite the X.Org in the name, is a conference for all developers working in the open-source graphics stack: anything related to DRM/KMS, Mesa, X11 and Wayland compositors, etc.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/orzan-corunha-low.jpg&quot; alt=&quot;A Coruña&apos;s Orzán beach&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This year, I participated in the organization of XDC in A Coruña, Spain (&lt;a href=&quot;https://blogs.igalia.com/siglesias/2018/10/03/xdc-2018-experience/&quot;&gt;again!&lt;/a&gt;) by taking care of different aspects: from logistics in the venue (&lt;a href=&quot;https://www.palexco.com&quot;&gt;Palexco&lt;/a&gt;) to running it in person. It was a very tiring but fulfilling experience.&lt;/p&gt;

&lt;h2 id=&quot;sponsors&quot;&gt;Sponsors&lt;/h2&gt;

&lt;p&gt;First of all, I would like to thank all the sponsors for their support, as without them, this conference wouldn’t happen:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xdc2023_sponsors.png&quot; alt=&quot;XDC 2023 sponsors&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;They didn’t only give economic support to the conference: &lt;a href=&quot;https://www.igalia.com&quot;&gt;Igalia&lt;/a&gt; sponsored the welcome event and lunches; &lt;a href=&quot;https://www.x.org&quot;&gt;X.Org Foundation&lt;/a&gt; sponsored coffee breaks; &lt;a href=&quot;https://www.visitcoruna.com/&quot;&gt;Tourism Office of A Coruña&lt;/a&gt; sponsored the guided tour in the city center; and &lt;a href=&quot;https://www.raspberrypi.com/&quot;&gt;Raspberry Pi&lt;/a&gt; sent &lt;a href=&quot;https://www.raspberrypi.com/products/raspberry-pi-5/&quot;&gt;Raspberry Pi 5 boards&lt;/a&gt; to all speakers!&lt;/p&gt;

&lt;h2 id=&quot;xdc-2023-stats&quot;&gt;XDC 2023 Stats&lt;/h2&gt;

&lt;p&gt;XDC 2023 was a success on attendance and talks submissions. Here you have some stats:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;📈 160 registered attendees.&lt;/li&gt;
  &lt;li&gt;👬 120 attendees picked their badge in person.&lt;/li&gt;
  &lt;li&gt;💻 25 attendees registered as virtual.&lt;/li&gt;
  &lt;li&gt;📺 More than 6,000 views on live stream.&lt;/li&gt;
  &lt;li&gt;📝 55 talks/workshops/demos distributed in three days of conference..&lt;/li&gt;
  &lt;li&gt;🧗‍♀️ There were 3 social events: welcome event, city center guide tour, and one unofficial climbing activity!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xdc2023_welcome_event.jpg&quot; alt=&quot;XDC 2023 welcome event&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Was XDC 2023 perfect organization-wise? Of course… no! Like in any event, we had some issues here and there: one with the Wi-Fi network that was quickly detected and fixed; some issues with the meals and coffee breaks (food allergies mainly), we lost some seconds of audio of a talk in the on-live streaming, and other minor things. Not bad for a community-run event!&lt;/p&gt;

&lt;p&gt;Nevertheless, I would like to thank all the staff at Palexco for their quick response and their understanding.&lt;/p&gt;

&lt;h2 id=&quot;talk-recordings--slides&quot;&gt;Talk recordings &amp;amp; slides&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xdc2023_talk_andre.jpg&quot; alt=&quot;XDC 2023 talk by André Almeida&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Want to see again some talks? All conference recordings were uploaded to &lt;a href=&quot;https://www.youtube.com/watch?v=ouc61Ompc4E&amp;amp;list=PLe6I3NKr-I4K7tiw3KffqT8Gje8ZY7tyP&quot;&gt;X.Org Foundation Youtube channel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Slides are available to download in &lt;a href=&quot;https://indico.freedesktop.org/event/4/timetable/#all.detailed&quot;&gt;each talk description&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;

&lt;h2 id=&quot;xdc-2024&quot;&gt;XDC 2024&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/North_America_map.svg/231px-North_America_map.svg.png&quot; alt=&quot;XDC 2024 will be in North America&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We cannot tell yet where is going to happen XDC 2024, other than it will be in North America… but I can tell you that this will be announced soon. Stay tuned!&lt;/p&gt;

&lt;h2 id=&quot;want-to-organize-xdc-2025-or-xdc-2026&quot;&gt;Want to organize XDC 2025 or XDC 2026?&lt;/h2&gt;

&lt;p&gt;If we continue with the current cadence: 2025 would be again in Europe, and 2026 event would be in North America.&lt;/p&gt;

&lt;p&gt;There is a list of requirements &lt;a href=&quot;https://www.x.org/wiki/Events/RFP/&quot;&gt;here&lt;/a&gt;. Nevertheless, feel free to &lt;a href=&quot;mailto:siglesiasATigaliaDOTcom&quot;&gt;contact me&lt;/a&gt;, or to the &lt;a href=&quot;mailto:boardATfoundation.x.org&quot;&gt;X.Org Board of Directors&lt;/a&gt;, in order to get first-hand experience and knowledge about what organizing XDC entails.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xdc2023_audience.jpg&quot; alt=&quot;XDC 2023 audience&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;thanks&quot;&gt;Thanks&lt;/h2&gt;

&lt;p&gt;Thanks to all volunteers, collaborators, Palexco staff, &lt;a href=&quot;https://www.gpul.org&quot;&gt;GPUL&lt;/a&gt;, X.Org Foundation and many other people for their hard work. Special thanks to my Igalia colleague &lt;a href=&quot;https://www.igalia.com/team/chema&quot;&gt;Chema&lt;/a&gt;, who did an outstanding job organizing the event together with me.&lt;/p&gt;

&lt;p&gt;Thanks for the &lt;a href=&quot;https://indico.freedesktop.org/event/4/page/24-sponsors&quot;&gt;sponsors&lt;/a&gt; for their extraordinary support to this conference.&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href=&quot;https://www.igalia.com&quot;&gt;Igalia&lt;/a&gt; not only for sponsoring the event, but also for all the support I got during the past year. I am glad to be part of this company, and I am always surprised by how great my colleagues are.&lt;/p&gt;

&lt;p&gt;And last, but not least, thanks to all speakers and attendees. Without you, the conference won’t exist.&lt;/p&gt;

&lt;p&gt;See you at XDC 2024!&lt;/p&gt;
</description>
				
				<pubDate>Mon, 22 Jan 2024 10:06:00 +0100</pubDate>
				<link>https://blogs.igalia.com/siglesias/2024/01/22/XDC-2023-Behind-the-curtains/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2024/01/22/XDC-2023-Behind-the-curtains/</guid>
			</item>
		
			<item>
				<title>Closing a cycle</title>
				
					<description>&lt;p&gt;For the last four years I’ve served as a member of the X.Org Foundation Board of Directors, but some days ago I stepped down after my term ended and not having run for re-election.&lt;/p&gt;

&lt;p&gt;I started contributing to Mesa in 2014 and joined the amazing &lt;a href=&quot;https://www.freedesktop.org&quot;&gt;freedesktop&lt;/a&gt; community. Soon after, I joined the X.Org Foundation as an regular member in order to participate in the elections and get access to some interesting perks (&lt;a href=&quot;&quot;&gt;VESA&lt;/a&gt;, &lt;a href=&quot;&quot;&gt;Khronos Group&lt;/a&gt;). You can learn more about what X.Org Foundation does in &lt;a href=&quot;https://rg3.name/202305240752.html&quot;&gt;Ricardo’s blogpost&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But everything changed in 2018. That year, &lt;a href=&quot;https://www.igalia.com/team/chema&quot;&gt;Chema&lt;/a&gt; and I &lt;a href=&quot;https://blogs.igalia.com/siglesias/2018/10/03/xdc-2018-experience/&quot;&gt;organized XDC 2018&lt;/a&gt; in A Coruña, Spain.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xdc2018-image.jpg&quot; alt=&quot;XDC 2018 photo&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The following year, I ran for the yearly election of X.Org Foundation’s board of directors (as it is a two years term, we renew half of the board every year)… and I was elected! It was awesome! Almost immediately, I started coordinating XDC, and looking for organization proposals for the following XDC. I documented my experience organizing XDC 2018 in an attempt to make the job easier for future organizers, reducing the burden that organizing such a conference entails.&lt;/p&gt;

&lt;p&gt;In 2021, I was re-elected and everything continued without changes (well, except the pandemic and having our first 2 virtual XDCs: 2020 and 2021).&lt;/p&gt;

&lt;p&gt;Unfortunately, my term finished this year… and I did not re-run for election. The reasons were a mix of personal life commitments (having 2 kids change your life completely) and new &lt;a href=&quot;https://blogs.igalia.com/siglesias/2023/05/23/Joining-the-LFE-Advisory-Board/&quot;&gt;professional responsibilities&lt;/a&gt;. After those changes, I could not contribute as much as I wanted, and that was enough to me to pass the torch and let others contribute to the X.Org Foundation instead. Congratulations to Christopher Michale and Arek Hiler, I’m pretty sure you are going to do great!&lt;/p&gt;

&lt;p&gt;Surprisingly enough, I am closing the cycle as it started: &lt;a href=&quot;https://xdc2023.x.org&quot;&gt;organizing X.Org Developers Conference 2023&lt;/a&gt; &lt;a href=&quot;https://blogs.igalia.com/siglesias/2023/02/09/XOrg-Developers-Conference-2023-A-Corunha/&quot;&gt;in A Coruña, Spain from 17th to 19th October 2023&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/XDC-event-banner.jpg&quot; alt=&quot;A Coruña&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I leave the board of directors but I won friends and great memories. In case you are interested on participating to the community via the board of directors, prepare your candidancy for next year!&lt;/p&gt;

&lt;p&gt;See you in A Coruña!&lt;/p&gt;
</description>
				
				<pubDate>Thu, 25 May 2023 12:09:00 +0200</pubDate>
				<link>https://blogs.igalia.com/siglesias/2023/05/25/Closing-a-cycle/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2023/05/25/Closing-a-cycle/</guid>
			</item>
		
			<item>
				<title>Joining the Linux Foundation Europe Advisory Board</title>
				
					<description>&lt;p&gt;Last year, the &lt;a href=&quot;https://www.linuxfoundation.com&quot;&gt;Linux Foundation&lt;/a&gt; announced the creation of the &lt;a href=&quot;https://www.linuxfoundation.eu&quot;&gt;Linux Foundation Europe&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/lfe.jpg&quot; alt=&quot;Linux Foundation Europe&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The goal of the Linux Foundation Europe is, in a nutshell, to promote Open Source in Europe not only to individuals (via events and courses), but to companies (guidance and hosting projects) and European organizations. However, this effort needs the help of European experts in Open Source.&lt;/p&gt;

&lt;p&gt;Thus, the Linux Foundation Europe (LFE) has formed an advisory board called the &lt;a href=&quot;https://linuxfoundation.eu/en/about/advisory-board&quot;&gt;Linux Foundation Europe Advisory Board (LFEAB)&lt;/a&gt;, which includes representatives from a cross-section of 20 leading European organizations within the EU, the UK, and beyond. The Advisory Board will play an important role in stewarding Linux Foundation Europe’s growing community, which now spans 100 member organizations from across the European region.&lt;/p&gt;

&lt;p&gt;Early this year, I was invited to join the LFEAB as an inaugural member. I would not be in this position without the huge amount of work done by the rest of my &lt;a href=&quot;https://www.igalia.com/team/&quot;&gt;colleagues at Igalia&lt;/a&gt; since the company was founded in 2001, which has paved the way for us to be one of the landmark consultancies specialized in Open Source, both globally and in Europe.&lt;/p&gt;

&lt;p&gt;My presence in the LFEAB will help to share our experience, and help the Linux Foundation Europe to grow and spread Open Source everywhere in Europe.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/lfe_siglesias.jpg&quot; alt=&quot;Samuel Iglesias presented as Linux Foundation Europe Advisory Board member&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’m excited to participate in the Linux Foundation Europe Advisory Board! I and the rest of the LFEAB will be at the Open Source Summit Europe, send me an &lt;a href=&quot;mailto:siglesias@igalia.com&quot;&gt;email&lt;/a&gt; if you want to meet me to know more about LFEAB, about Igalia or about how you can contribute more to Open Source.&lt;/p&gt;

&lt;p&gt;Happy hacking!&lt;/p&gt;
</description>
				
				<pubDate>Tue, 23 May 2023 13:30:00 +0200</pubDate>
				<link>https://blogs.igalia.com/siglesias/2023/05/23/Joining-the-LFE-Advisory-Board/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2023/05/23/Joining-the-LFE-Advisory-Board/</guid>
			</item>
		
			<item>
				<title>X.Org Developers Conference 2023 in A Coruña, Spain</title>
				
					<description>&lt;p&gt;Some weeks ago, &lt;a href=&quot;https://www.igalia.com&quot;&gt;Igalia&lt;/a&gt; &lt;a href=&quot;https://www.igalia.com/2022/xdc-2023&quot;&gt;announced&lt;/a&gt; publicly that we will host &lt;a href=&quot;https://xdc2023.x.org&quot;&gt;X.Org Developers Conference 2023 (XDC 2023)&lt;/a&gt; in A Coruña, Spain. If you remember, we also organized &lt;a href=&quot;https://xdc2018.x.org&quot;&gt;XDC 2018&lt;/a&gt; in this beautiful city in the northwest of Spain (&lt;a href=&quot;https://blogs.igalia.com/siglesias/2018/10/03/xdc-2018-experience/&quot;&gt;I hope you enjoyed it!&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/XDC-event-banner.jpg&quot; alt=&quot;A Coruña&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Since the &lt;a href=&quot;https://www.igalia.com/2022/xdc-2023&quot;&gt;announcement&lt;/a&gt;, I can now confirm that the conference will be in the awesome facilities of &lt;strong&gt;&lt;a href=&quot;https://www.palexco.com/&quot;&gt;Palexco conference center&lt;/a&gt;&lt;/strong&gt;, at the city center of A Coruña, Spain, from &lt;strong&gt;17th to 19th of October 2023&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/PALEXCO-CORUNA.jpg&quot; alt=&quot;Palexco conference center&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We are going to setup soon the website, and prepare everything to open the Call For Papers in the coming weeks. Stay tuned!&lt;/p&gt;

&lt;p&gt;XDC 2023 is a three-day conference full of talks and workshops related to the open-source graphics stack: from &lt;a href=&quot;https://wayland.freedesktop.org/&quot;&gt;Wayland&lt;/a&gt; to &lt;a href=&quot;https://x.org/wiki/&quot;&gt;X11&lt;/a&gt;, from &lt;a href=&quot;https://www.kernel.org&quot;&gt;DRM/KMS&lt;/a&gt; to &lt;a href=&quot;https://www.mesa3d.org&quot;&gt;Mesa drivers&lt;/a&gt;, toolkits, libraries… you name it! This is the go-to conference if you are involved in the development of any part of the open-source graphics stack. Don’t miss it!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/logoigalia.png&quot; alt=&quot;Igalia logo&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;
</description>
				
				<pubDate>Thu, 09 Feb 2023 14:15:00 +0100</pubDate>
				<link>https://blogs.igalia.com/siglesias/2023/02/09/XOrg-Developers-Conference-2023-A-Corunha/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2023/02/09/XOrg-Developers-Conference-2023-A-Corunha/</guid>
			</item>
		
			<item>
				<title>Igalia Coding Experience, GSoC, Outreachy, EVoC</title>
				
					<description>&lt;p&gt;Do you want to start a career in open-source? Do you want to learn amazing skills while getting paid? Keep reading!&lt;/p&gt;

&lt;h1 id=&quot;igalia-coding-experience&quot;&gt;Igalia Coding Experience&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/logoigalia.png&quot; alt=&quot;Igalia logo&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.igalia.com&quot;&gt;Igalia&lt;/a&gt; has a grant program that gives students with a background in Computer Science, Information Technology and Free Software their first exposure to the professional world, working hand in hand with Igalia programmers and learning with them. It is called &lt;a href=&quot;https://www.igalia.com/coding-experience/&quot;&gt;Igalia Coding Experience&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;While this experience is open for everyone, Igalia expressly invites women (both cis and trans), trans men, and genderqueer people to apply. The Coding Experience program gives preference to applications coming from underrepresented groups in our industry.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.igalia.com/coding-experience/&quot;&gt;You can apply&lt;/a&gt; to any of the offered grants this year: Web Standards, WebKit, Chromium, Compilers and Graphics.&lt;/p&gt;

&lt;p&gt;In the case of Graphics, the student will have the opportunity to deal with the Linux DRM subsystem. Specifically, the student will improve the test coverage of DRM drivers through IGT, a testing framework designed for this purpose. These includes learning how to contribute to Linux kernel/DRM, interact with the DRI-devel community, understand DRM core functionality, and increase test coverage of IGT tool.&lt;/p&gt;

&lt;p&gt;The conditions of our Coding Experience program are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Mentorship by one of the Igalia’s outstanding open source contributors in the field.&lt;/li&gt;
  &lt;li&gt;It is &lt;strong&gt;remote-friendly&lt;/strong&gt;. Students can participate in it wherever they live.&lt;/li&gt;
  &lt;li&gt;Hours: 450h&lt;/li&gt;
  &lt;li&gt;Compensation: 6,500€&lt;/li&gt;
  &lt;li&gt;Usual timetables:
    &lt;ul&gt;
      &lt;li&gt;3 months full-time&lt;/li&gt;
      &lt;li&gt;6 months part-time&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;strong&gt;submission period goes from March 16th until April 30th&lt;/strong&gt;. Students will be selected in May. We will work with the student to arrange a suitable starting date during 2022, from June onwards, and finishing on a date to be agreed that suits their schedule.&lt;/p&gt;

&lt;h1 id=&quot;google-summer-of-code-gsoc&quot;&gt;Google Summer of Code (GSoC)&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/gsoc.png&quot; alt=&quot;GSoC logo&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The popular &lt;a href=&quot;https://summerofcode.withgoogle.com/&quot;&gt;Google Summer of Code&lt;/a&gt; is another option for students. This year, &lt;a href=&quot;https://www.x.org&quot;&gt;X.Org Foundation&lt;/a&gt; participates as &lt;a href=&quot;https://summerofcode.withgoogle.com/programs/2022/organizations/xorg-foundation&quot;&gt;Open Source organization&lt;/a&gt;. We have some &lt;a href=&quot;https://www.x.org/wiki/SummerOfCodeIdeas/&quot;&gt;proposed ideas&lt;/a&gt; but you can &lt;a href=&quot;https://www.x.org/wiki/GSoCApplication/&quot;&gt;propose any project idea&lt;/a&gt; as well.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://developers.google.com/open-source/gsoc/timeline&quot;&gt;Timeline for proposals&lt;/a&gt; is from April 4th to April 19th. However, you should contact us before in order to discuss your ideas with potential mentors.&lt;/p&gt;

&lt;p&gt;GSoC gives some &lt;a href=&quot;https://developers.google.com/open-source/gsoc/help/student-stipends&quot;&gt;stipend&lt;/a&gt; to students too (from 1,500 to 6,000 USD depending on the size of the project and your location). The hours to complete the project varies from &lt;a href=&quot;https://developers.google.com/open-source/gsoc/faq#how_much_time_does_gsoc_participation_take&quot;&gt;175 to 350 hours&lt;/a&gt; depending on the size of the project as well.&lt;/p&gt;

&lt;p&gt;Of course, this is a remote-friendly program, so any student in the world can participate in it.&lt;/p&gt;

&lt;h1 id=&quot;outreachy&quot;&gt;Outreachy&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/outreachy.png&quot; alt=&quot;Outreachy logo&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.outreachy.org/&quot;&gt;Outreachy&lt;/a&gt; is another internship program for applicants from around the world who face under-representation, systemic bias or discrimination in the technology industry of their country. Outreachy supports diversity in free and open source software!&lt;/p&gt;

&lt;p&gt;Outreachy internships are remote, paid ($7,000), and last three months. Outreachy internships run from May to August and December to March. &lt;a href=&quot;https://www.outreachy.org/apply/&quot;&gt;Applications open in January and August&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.outreachy.org/apply/project-selection/&quot;&gt;The projects listed&lt;/a&gt; cover many areas of the open-source software stack: from kernel to distributions work. Please &lt;a href=&quot;https://www.outreachy.org/apply/project-selection/&quot;&gt;check current proposals&lt;/a&gt; to find anything that is interesting for you!&lt;/p&gt;

&lt;h1 id=&quot;xorg-endless-vacation-of-code-evoc&quot;&gt;X.Org Endless Vacation of Code (EVoC)&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xorg-logo.png&quot; alt=&quot;X.Org logo&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.x.org&quot;&gt;X.Org Foundation&lt;/a&gt; voted in 2008 to initiate a program known as the &lt;a href=&quot;https://www.x.org/wiki/XorgEVoC/&quot;&gt;X.Org Endless Vacation of Code (EVoC)&lt;/a&gt; program, in order to give more flexibility to students: an EVoC mentorship can be initiated at any time during the calendar year, &lt;a href=&quot;https://www.x.org/wiki/BoardOfDirectors/&quot;&gt;the Board&lt;/a&gt; can fund as many of these mentorships as it sees fit.&lt;/p&gt;

&lt;p&gt;Like the other programs, EVoC is remote-friendly as well. The stipend goes as follows: an initial payment of 500 USD and two further payments of 2,250 USD upon completion of project milestones. EVoC does not set limits in hours, but there are some requirements and steps to do before applying. Please read &lt;a href=&quot;https://www.x.org/wiki/XorgEVoC/&quot;&gt;X.Org Endless Vacation of Code website&lt;/a&gt; to learn more.&lt;/p&gt;

&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;As you see, there are many ways to enter into the Open Source community. Although I focused in the open source graphics stack related programs, there are many of them.&lt;/p&gt;

&lt;p&gt;With all of these possibilities (&lt;a href=&quot;https://github.com/deepanshu1422/List-Of-Open-Source-Internships-Programs&quot;&gt;and many more, including internships at companies&lt;/a&gt;), I hope that you can apply and that the experience will encourage you to start a career in the open-source community.&lt;/p&gt;

&lt;p&gt;Happy hacking!&lt;/p&gt;

</description>
				
				<pubDate>Wed, 30 Mar 2022 11:15:00 +0200</pubDate>
				<link>https://blogs.igalia.com/siglesias/2022/03/30/Igalia-Coding-Experience-GSOC-Outreachy-EVoC/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2022/03/30/Igalia-Coding-Experience-GSOC-Outreachy-EVoC/</guid>
			</item>
		
			<item>
				<title>Igalia work within the GNU/Linux graphics stack in 2021</title>
				
					<description>&lt;p&gt;We had a busy 2021 within &lt;a href=&quot;https://www.igalia.com/technology/graphics&quot;&gt;GNU/Linux graphics stack&lt;/a&gt; at &lt;a href=&quot;https://www.igalia.com&quot;&gt;Igalia&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Would you like to know what we have done last year? Keep reading!&lt;/p&gt;

&lt;h1 id=&quot;open-source-raspberry-pi-gpu-videocore-drivers&quot;&gt;Open Source Raspberry Pi GPU (VideoCore) drivers&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/raspberry_pi_4b.jpg&quot; alt=&quot;Raspberry Pi 4, model B&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Last year both the OpenGL and the Vulkan drivers received a lot of love. For example, we implemented several optimizations such &lt;a href=&quot;https://blogs.igalia.com/apinheiro/2021/03/improving-v3dv-pipeline-caching/&quot;&gt;improvements in the v3dv pipeline cache&lt;/a&gt;. In this blog post, &lt;a href=&quot;https://www.igalia.com/team/apinheiro&quot;&gt;Alejandro Piñeiro&lt;/a&gt; presents how we improved the v3dv pipeline cache times by reducing the two-cache-lookup done previously by only one, and shows some numbers on both a synthetic test (modified CTS test), and some games.&lt;/p&gt;

&lt;p&gt;We also did &lt;a href=&quot;https://blogs.igalia.com/itoral/2021/03/16/improving-performance-of-the-v3d-compiler-for-opengl-and-vulkan/&quot;&gt;performance improvements of the v3d compilers for OpenGL and Vulkan&lt;/a&gt;. &lt;a href=&quot;https://www.igalia.com/team/itoral&quot;&gt;Iago Toral&lt;/a&gt; explains our work on optimizating the backend compiler with techniques such as improving memory lookup efficiency, reducing instruction counts, instruction packing, uniform handling, among others. There are some numbers that show framerate improvements from ~6 to ~62% on different games / demos.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://people.igalia.com/itoral/v3d_fps_benefit_after_compiler_opt.png&quot; alt=&quot;Framerate improvements&quot; class=&quot;center-block&quot; /&gt;
&lt;em&gt;Framerate improvement after optimization (in %). Taken from &lt;a href=&quot;https://blogs.igalia.com/itoral/2021/03/16/improving-performance-of-the-v3d-compiler-for-opengl-and-vulkan/&quot;&gt;Iago’s blogpost&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Of course, there was work related to feature implementation. This &lt;a href=&quot;https://blogs.igalia.com/itoral/2021/08/10/an-update-on-feature-progress-for-v3dv/&quot;&gt;blog post from Iago&lt;/a&gt; lists some Vulkan extensions implemented in the v3dv driver in 2021… Although not all the implemented extensions are listed there, you can see the driver is quickly catching up in its Vulkan extension support.&lt;/p&gt;

&lt;p&gt;My colleague &lt;a href=&quot;https://www.igalia.com/team/jasuarez&quot;&gt;Juan A. Suárez&lt;/a&gt; implemented performance counters in the v3d driver (an OpenGL driver) which required modifications in the kernel and in the Mesa driver. More info in his &lt;a href=&quot;https://blogs.igalia.com/jasuarez/2021/09/01/v3d-perfcounters/&quot;&gt;blog post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There was more work in other areas done in 2021 too, like the improved support for RenderDoc and GFXReconstruct. And not to forget the kernel contributions to the DRM driver done by &lt;a href=&quot;https://www.igalia.com/team/mwen&quot;&gt;Melissa Wen&lt;/a&gt;, who not only worked on developing features for it, but also reviewed all the patches that came from the community.&lt;/p&gt;

&lt;p&gt;However, the biggest milestone for the v3Dv driver was to be &lt;a href=&quot;https://www.raspberrypi.com/news/vulkan-update-version-1-1-conformance-for-raspberry-pi-4/&quot;&gt;Vulkan 1.1 conformant&lt;/a&gt; in the last quarter of 2021. That was just &lt;a href=&quot;https://www.raspberrypi.com/news/vulkan-update-were-conformant/&quot;&gt;one year after becoming Vulkan 1.0 conformant&lt;/a&gt;. As you can imagine, that implied a lot of work implementing features, fixing bugs and, of course, improving the driver in many different ways. Great job folks!&lt;/p&gt;

&lt;p&gt;If you want to know more about all the work done on these drivers during 2021, there is an awesome talk from my colleague Alejando Piñeiro at FOSDEM 2022: &lt;a href=&quot;https://fosdem.org/2022/schedule/event/v3dv/&quot;&gt;“v3dv: Status Update for Open Source Vulkan Driver for Raspberry Pi 4”&lt;/a&gt;, and another one from my colleague Iago Toral in XDC 2021: &lt;a href=&quot;https://indico.freedesktop.org/event/1/contributions/16/&quot;&gt;“Raspberry Pi Vulkan driver update”&lt;/a&gt;. Below you can find the video recordings of both talks.&lt;/p&gt;

&lt;video preload=&quot;none&quot; controls=&quot;controls&quot; width=&quot;750&quot;&gt;
    &lt;source src=&quot;https://video.fosdem.org/2022/D.graphics/v3dv.webm&quot; type=&quot;video/webm; codecs=&amp;quot;vp9, opus&amp;quot;&quot; /&gt;
  &lt;/video&gt;
&lt;p&gt;&lt;em&gt;FOSDEM 2022 talk: “v3dv: Status Update for Open Source Vulkan Driver for Raspberry Pi 4”&lt;/em&gt;&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/3bsqIummJkc&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;em&gt;XDC 2021 talk: “Raspberry Pi Vulkan driver update”&lt;/em&gt;&lt;/p&gt;

&lt;h1 id=&quot;open-source-qualcomm-adreno-gpu-drivers&quot;&gt;Open Source Qualcomm Adreno GPU drivers&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/rb3.jpg&quot; alt=&quot;RB3&quot; class=&quot;center-block&quot; /&gt;
&lt;em&gt;Photo of the Qualcomm® Robotics RB3 Platform embedded board that I use for Turnip development.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There were also several achievements done by igalians on both Freedreno and Turnip drivers. These are reverse engineered open-source drivers for Qualcomm Adreno GPUs: Freedreno for OpenGL and Turnip for Vulkan.&lt;/p&gt;

&lt;p&gt;Starting 2021, my colleague &lt;a href=&quot;https://www.igalia.com/team/dpiliaiev&quot;&gt;Danylo Piliaiev&lt;/a&gt; helped with implementing the missing bits in Freedreno for supporting OpenGL 3.3 on Adreno 6xx GPUs. His &lt;a href=&quot;https://blogs.igalia.com/dpiliaiev/freedreno-opengl33-on-a6xx/&quot;&gt;blog post&lt;/a&gt; explained his work, such as implementing ARB_blend_func_extended, ARB_shader_stencil_export and fixing a variety of CTS test failures.&lt;/p&gt;

&lt;p&gt;Related to this, my colleague &lt;a href=&quot;https://www.igalia.com/team/gpiccoli&quot;&gt;Guilherme G. Piccoli&lt;/a&gt; worked on porting a recent kernel to one of the boards we use for Freedreno development: the &lt;a href=&quot;https://www.inforcecomputing.com/inforce6640&quot;&gt;Inforce 6640&lt;/a&gt;. He did an awesome job getting a 5.14 kernel booting on that embedded board. If you want to know more, please read the &lt;a href=&quot;https://blogs.igalia.com/gpiccoli/2021/12/booting-upstream-kernel-on-inforce-6640/&quot;&gt;blog post&lt;/a&gt; he wrote explaining all the issues he found and how he fixed them!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://blogs.igalia.com/gpiccoli/files/2021/12/i6640-940x535.jpg&quot; alt=&quot;Inforce6640&quot; class=&quot;center-block&quot; /&gt;
&lt;em&gt;Picture of the Inforce 6640 board that Guilherme used for his development. &lt;a href=&quot;https://blogs.igalia.com/gpiccoli/2021/12/booting-upstream-kernel-on-inforce-6640/&quot;&gt;Image from his blog post&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;However the biggest chunk of work was done in Turnip driver. We have implemented a long list of Vulkan extensions: VK_KHR_buffer_device_address, &lt;a href=&quot;https://blogs.igalia.com/siglesias/2021/03/17/VK_KHR_depth_stencil_resolve-support-on-Turnip/&quot;&gt;VK_KHR_depth_stencil_resolve&lt;/a&gt;, &lt;a href=&quot;https://blogs.igalia.com/siglesias/2021/12/02/VK_EXT_image_view_min_lod-extension-released/&quot;&gt;VK_EXT_image_view_min_lod&lt;/a&gt;, VK_KHR_spirv_1_4, VK_EXT_descriptor_indexing, VK_KHR_timeline_semaphore, VK_KHR_16bit_storage, VK_KHR_shader_float16, VK_KHR_uniform_buffer_standard_layout, VK_EXT_extended_dynamic_state, VK_KHR_pipeline_executable_properties, VK_VALVE_mutable_descriptor_type, VK_KHR_vulkan_memory_model and many others. Danylo Piliaiev and Hyunjun Ko are terrific developers!&lt;/p&gt;

&lt;p&gt;But not all our work was related to feature development, for example I implemented &lt;a href=&quot;https://blogs.igalia.com/siglesias/2021/04/19/low-resolution-z-buffer-support-on-turnip/&quot;&gt;Low-Resolution Z-buffer (LRZ) HW optimization&lt;/a&gt;, Danylo fixed a long list of rendering bugs that happened in real-world applications (&lt;a href=&quot;https://blogs.igalia.com/dpiliaiev/turnips-in-the-wild-part-1/&quot;&gt;blog post 1&lt;/a&gt;, &lt;a href=&quot;https://blogs.igalia.com/dpiliaiev/turnips-in-the-wild-part-2/&quot;&gt;blog post 2&lt;/a&gt;) like D3D games run on Vulkan (thanks to DXVK and VKD3D), instrumented the backend compiler to dump register values, among many other fixes and optimizations.&lt;/p&gt;

&lt;p&gt;However, the biggest achievement was getting Vulkan 1.1 conformance for Turnip. Danylo wrote a &lt;a href=&quot;https://blogs.igalia.com/dpiliaiev/turnip-1-1-conformance/&quot;&gt;blog post&lt;/a&gt; mentioning all the work we did to achieve that this year.&lt;/p&gt;

&lt;p&gt;If you want to know more, don’t miss this FOSDEM 2022 talk given by my colleague &lt;a href=&quot;https://www.igalia.com/team/hko&quot;&gt;Hyunjun Ko&lt;/a&gt; called &lt;a href=&quot;https://fosdem.org/2022/schedule/event/turnip/&quot;&gt;“The status of turnip driver development. What happened in 2021 and will happen in 2022 for turnip.”&lt;/a&gt;. Video below.&lt;/p&gt;

&lt;video preload=&quot;none&quot; controls=&quot;controls&quot; width=&quot;750&quot;&gt;
    &lt;source src=&quot;https://video.fosdem.org/2022/D.graphics/turnip.webm&quot; type=&quot;video/webm; codecs=&amp;quot;vp9, opus&amp;quot;&quot; /&gt;
  &lt;/video&gt;
&lt;p&gt;&lt;em&gt;FOSDEM 2022 talk: “The status of turnip driver development. What happened in 2021 and will happen in 2022 for turnip.”&lt;/em&gt;&lt;/p&gt;

&lt;h1 id=&quot;vulkan-contributions&quot;&gt;Vulkan contributions&lt;/h1&gt;

&lt;p&gt;Our graphics work doesn’t cover only driver development, we also participate in &lt;a href=&quot;https://www.khronos.org&quot;&gt;Khronos Group&lt;/a&gt; as Vulkan Conformance Test Suite developers and even as spec contributors.&lt;/p&gt;

&lt;p&gt;My colleague &lt;a href=&quot;https://www.igalia.com/team/rgarcia&quot;&gt;Ricardo Garcia&lt;/a&gt; is a very productive developer. He worked on implementing tests for Vulkan Ray Tracing extensions (read his &lt;a href=&quot;https://rg3.name/202104291948.html&quot;&gt;blog post&lt;/a&gt; about ray tracing for more info about this big Vulkan feature), implemented tests for a long list of Vulkan extensions like VK_KHR_present_id and VK_KHR_present_wait, VK_EXT_multi_draw (&lt;a href=&quot;https://indico.freedesktop.org/event/1/contributions/3/&quot;&gt;watch his talk at XDC 2021&lt;/a&gt;), VK_EXT_border_color_swizzle (&lt;a href=&quot;https://fosdem.org/2022/schedule/event/vulkan_borders/&quot;&gt;watch his talk at FOSDEM 2022&lt;/a&gt;) among many others. In many of these extensions, he contributed to their respective specifications in a significant way (just search for his name in the &lt;a href=&quot;https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html&quot;&gt;Vulkan spec&lt;/a&gt;!).&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/ep3RI1RFQgc?start=1441&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;em&gt;XDC 2021 talk: “Quick Overview of VK_EXT_multi_draw”&lt;/em&gt;&lt;/p&gt;

&lt;video preload=&quot;none&quot; controls=&quot;controls&quot; width=&quot;750&quot;&gt;
    &lt;source src=&quot;https://video.fosdem.org/2022/D.graphics/vulkan_borders.webm&quot; type=&quot;video/webm; codecs=&amp;quot;vp9, opus&amp;quot;&quot; /&gt;
  &lt;/video&gt;
&lt;p&gt;&lt;em&gt;FOSDEM 2022 talk: “Fun with border colors in Vulkan. An overview of the story behind VK_EXT_border_color_swizzle”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Similarly, I participated modestly in this effort by developing tests for some extensions like VK_EXT_image_view_min_lod (&lt;a href=&quot;https://blogs.igalia.com/siglesias/2021/12/02/VK_EXT_image_view_min_lod-extension-released/&quot;&gt;blog post&lt;/a&gt;). Of course, both Ricardo and I implemented many new CTS tests by adding coverage to existing ones, we fixed lots of bugs in existing ones and reported dozens of driver issues to the respective Mesa developers.&lt;/p&gt;

&lt;p&gt;Not only that, both Ricardo and I appeared as &lt;a href=&quot;https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#_working_group_contributors_to_vulkan&quot;&gt;Vulkan 1.3 spec contributors&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.igalia.com/assets/i/news/vulkan-1.3-future-logo.png&quot; alt=&quot;Vulkan 1.3&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Another interesting work we started in 2021 is Vulkan Video support on Gstreamer. My colleague &lt;a href=&quot;https://www.igalia.com/team/vjaquez&quot;&gt;Víctor Jaquez&lt;/a&gt; presented the &lt;a href=&quot;https://blogs.igalia.com/vjaquez/2021/07/09/video-decoding-in-gstreamer-with-vulkan/&quot;&gt;Vulkan Video extension at XDC 2021&lt;/a&gt; and soon after he started working on &lt;a href=&quot;https://gitlab.freedesktop.org//gstreamer/gstreamer/-/merge_requests/1361&quot;&gt;Vulkan Video’s h264 decoder support&lt;/a&gt;. You can find more information in his &lt;a href=&quot;https://blogs.igalia.com/vjaquez/2021/07/09/video-decoding-in-gstreamer-with-vulkan/&quot;&gt;blog post&lt;/a&gt;, or watching his XDC 2021 talk below:&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/UjXgBmufPYY&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;em&gt;FOSDEM 2022 talk: “Video decoding in Vulkan: VK_KHR_video_queue/decode APIs”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Before I leave this section, don’t forget to take a look at Ricardo’s blogpost on &lt;a href=&quot;https://rg3.name/202107210642.html&quot;&gt;debugPrintfEXT feature&lt;/a&gt;. If you are a Graphics developer, you will find this feature very interesting for debugging issues in your applications!&lt;/p&gt;

&lt;p&gt;Along those lines, Danylo presented at XDC 2021 a talk about &lt;a href=&quot;https://indico.freedesktop.org/event/1/contributions/12/&quot;&gt;dissecting and fixing Vulkan rendering issues in drivers with RenderDoc&lt;/a&gt;. Very useful for driver developers! Watch the talk below:&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/T2JQq1cxB1o&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;em&gt;XDC 2021 talk: “Dissecting Vulkan rendering issues in drivers with RenderDoc”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;To finalize this blog post, remember that you now have &lt;a href=&quot;https://github.com/Igalia/vkrunner&quot;&gt;vkrunner&lt;/a&gt; (the Vulkan shader tester created by Igalia) &lt;a href=&quot;https://blogs.igalia.com/siglesias/2021/01/08/vkrunner-rpm-packages-available/&quot;&gt;available for RPM-based GNU/Linux distributions&lt;/a&gt;. In case you are working with embedded systems, maybe my &lt;a href=&quot;https://blogs.igalia.com/siglesias/2021/12/09/Cross-compiling-with-icecream/&quot;&gt;blog post about cross-compiling with icecream&lt;/a&gt; will help to speed up your builds.&lt;/p&gt;

&lt;p&gt;This is just a summary of the highlights we did last year. I’m sorry if I am missing more work from my colleagues.&lt;/p&gt;

</description>
				
				<pubDate>Thu, 17 Mar 2022 13:00:00 +0100</pubDate>
				<link>https://blogs.igalia.com/siglesias/2022/03/17/Igalia-work-within-the-GNU-Linux-graphics-stack-in-2021/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2022/03/17/Igalia-work-within-the-GNU-Linux-graphics-stack-in-2021/</guid>
			</item>
		
			<item>
				<title>Cross-compiling with icecream</title>
				
					<description>&lt;h1 id=&quot;introduction&quot;&gt;Introduction&lt;/h1&gt;

&lt;p&gt;One of the big issues I have when working on &lt;a href=&quot;https://blogs.igalia.com/dpiliaiev/turnip-1-1-conformance/&quot;&gt;Turnip driver development &lt;/a&gt; is that when compiling either &lt;a href=&quot;https://www.mesa3d.org/&quot;&gt;Mesa&lt;/a&gt; or &lt;a href=&quot;https://github.com/KhronosGroup/VK-GL-CTS/&quot;&gt;VK-GL-CTS&lt;/a&gt; it takes a lot of time to complete, no matter how powerful the embedded board is. There are reasons for that: typically those board have limited amount of RAM (8 GB for the best case), a slow storage disk (typically UFS 2.1 on-board storage) and CPUs that are not so powerful compared with x86_64 desktop alternatives.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/rb3.jpg&quot; alt=&quot;RB3&quot; class=&quot;center-block&quot; /&gt;
&lt;em&gt;Photo of the Qualcomm® Robotics RB3 Platform embedded board that I use for Turnip development.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;To fix this, it is recommended to do cross-compilation, however installing the development environment for cross-compilation could be cumbersome and prone to errors depending on the toolchain you use. One alternative is to use a distributed compilation system that allows cross-compilation like Icecream.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/icecc/icecream&quot;&gt;Icecream&lt;/a&gt; is a distributed compilation system that is very useful when you have to compile big projects and/or on low-spec machines, while having powerful machines in the local network that can do that job instead. However, it is not perfect: the linking stage is still done in the machine that submits the job, which depending on the available RAM, could be too much for it (however you can alleviate this a bit by using ZRAM for example).&lt;/p&gt;

&lt;p&gt;One of the features that icecream has over its alternatives is that there is no need to install the same toolchain in all the machines as it is able to share the toolchain among all of them. This is very useful as we will see below in this post.&lt;/p&gt;

&lt;h1 id=&quot;installation&quot;&gt;Installation&lt;/h1&gt;

&lt;h2 id=&quot;debian-based-systems&quot;&gt;Debian-based systems&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ sudo apt install icecc
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;fedora-systems&quot;&gt;Fedora systems&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ sudo dnf install icecream
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;compile-it-from-sources&quot;&gt;Compile it from sources&lt;/h2&gt;

&lt;p&gt;You can compile it from &lt;a href=&quot;https://github.com/icecc/icecream&quot;&gt;sources&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;configuration-of-icecc-scheduler&quot;&gt;Configuration of icecc scheduler&lt;/h1&gt;

&lt;p&gt;You need to have an icecc scheduler in the local network that will balance the load among all the available nodes connected to it.&lt;/p&gt;

&lt;p&gt;It does not matter which machine is the scheduler, you can use any of them as it is quite lightweight. To run the scheduler execute the following command:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ sudo icecc-scheduler
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Notice that the machine running this command is going to be the scheduler but it will not participate in the compilation process by default unless you ran &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;iceccd&lt;/code&gt; daemon as well (see next step).&lt;/p&gt;

&lt;h1 id=&quot;setup-on-icecc-nodes&quot;&gt;Setup on icecc nodes&lt;/h1&gt;

&lt;h2 id=&quot;launch-daemon&quot;&gt;Launch daemon&lt;/h2&gt;

&lt;p&gt;First you need to run the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;iceccd&lt;/code&gt; daemon as root. &lt;strong&gt;This is not needed on Debian-based systems, as its systemd unit is enabled by default&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can do that using systemd in the following way:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ sudo systemctl start iceccd
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Or you can enable the daemon at startup time:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ sudo systemctl enable iceccd
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The daemon will connect automatically to the scheduler that is running in the local network. If that’s not the case, or there are more than one scheduler, you can run it standalone and give the scheduler’s IP as parameter:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo iceccd -s &amp;lt;ip_scheduler&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;enable-icecc-compilation&quot;&gt;Enable icecc compilation&lt;/h2&gt;

&lt;h3 id=&quot;with-ccache&quot;&gt;With ccache&lt;/h3&gt;

&lt;p&gt;If you use ccache (&lt;strong&gt;recommended option&lt;/strong&gt;), you just need to add the following in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.bashrc&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;export CCACHE_PREFIX=icecc
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;without-ccache&quot;&gt;Without ccache&lt;/h3&gt;

&lt;p&gt;To use it without ccache, you need to add its path to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$PATH&lt;/code&gt; envvar so it is picked before the system compilers:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;export PATH=/usr/lib/icecc/bin:$PATH
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;execution&quot;&gt;Execution&lt;/h1&gt;

&lt;h2 id=&quot;same-architecture&quot;&gt;Same architecture&lt;/h2&gt;

&lt;p&gt;If you followed the previous steps, any time you compile anything on C/C++, it will distribute the work among the fastest nodes in the network. Notice that it will take into account system load, network connection, cores, among other variables, to decide which node will compile the object file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remember&lt;/strong&gt; that the linking stage is always done in the machine that submits the job.&lt;/p&gt;

&lt;h2 id=&quot;different-architectures-example-cross-compiling-for-aarch64-on-x86_64-nodes&quot;&gt;Different architectures (example cross-compiling for aarch64 on x86_64 nodes)&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/icecream.png&quot; alt=&quot;Icecream&quot; class=&quot;center-block&quot; /&gt;
&lt;em&gt;Icemon showing my x86_64 desktop (&lt;strong&gt;maxwell&lt;/strong&gt;) cross-compiling a job for my aarch64 board (&lt;strong&gt;rb3&lt;/strong&gt;).&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;preparation-on-x86_64-machine&quot;&gt;Preparation on x86_64 machine&lt;/h3&gt;

&lt;p&gt;In one x86_64 machine, you need to create a toolchain. This is not automatically done by icecc as you can have different toolchains for cross-compilation.&lt;/p&gt;

&lt;h4 id=&quot;install-cross-compiler&quot;&gt;Install cross-compiler&lt;/h4&gt;

&lt;p&gt;For example, you can install the cross-compiler from the distribution repositories:&lt;/p&gt;

&lt;p&gt;For Debian-based systems:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo apt install crossbuild-essential-arm64
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;For Fedora:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ sudo dnf install gcc-aarch64-linux-gnu gcc--c++-aarch64-linux-gnu
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;create-toolchain-for-icecc&quot;&gt;Create toolchain for icecc&lt;/h4&gt;

&lt;p&gt;Finally, to create the toolchain to share in icecc:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ icecc-create-env --gcc /usr/bin/aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-g++
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will create a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;hash&amp;gt;.tar.gz&lt;/code&gt; file. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;hash&amp;gt;&lt;/code&gt; is used to identify the toolchain to distribute among the nodes in case there is more than one. But don’t worry, once it is copied to a node, it won’t be copied again as it detects it is already present.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: it is important that the toolchain is compatible with the target machine. For example, if my aarch64 board is using Debian 11 Bullseye, it is better if the cross-compilation toolchain is created from a Debian Bullseye x86_64 machine (a VM also works), because you avoid incompatibilities like having different glibc versions.&lt;/p&gt;

&lt;p&gt;If you have installed Debian 11 Bullseye in your aarch64, you can use my &lt;a href=&quot;http://people.igalia.com/siglesias/share/c278320a9a01441041341754ecd62eb1.tar.gz&quot;&gt;own cross-compilation toolchain for x86_64&lt;/a&gt; and skip this step.&lt;/p&gt;

&lt;h4 id=&quot;copy-the-toolchain-to-the-aarch64-machine&quot;&gt;Copy the toolchain to the aarch64 machine&lt;/h4&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;scp &amp;lt;hash&amp;gt;.tar.gz aarch64-machine-hostname:
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;preparation-on-aarch64&quot;&gt;Preparation on aarch64&lt;/h3&gt;

&lt;p&gt;Once the toolchain (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;hash&amp;gt;.tar.gz&lt;/code&gt;) is copied to the aarch64 machine, you just need to export this on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.bashrc&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# Icecc setup for crosscompilation
export CCACHE_PREFIX=icecc
export ICECC_VERSION=x86_64:~/&amp;lt;hash&amp;gt;.tar.gz
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;execute&quot;&gt;Execute&lt;/h3&gt;

&lt;p&gt;Just compile on aarch64 machine and the jobs be distributed among your x86_64 machines as well. Take into account the jobs will be shared among other aarch64 machines as well if icecc decides so, therefore no need to do any extra step.&lt;/p&gt;

&lt;p&gt;It is important to remark that the cross-compilation toolchain creation is only needed once, as icecream will copy it on all the x86_64 machines that will execute any job launched by this aarch64 machine. However, you need to copy this toolchain to any aarch64 machines that will use icecream resources for cross-compiling.&lt;/p&gt;

&lt;h1 id=&quot;icecream-monitor&quot;&gt;Icecream monitor&lt;/h1&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/icemon.png&quot; alt=&quot;Icemon&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is an interesting graphical tool to see the status of the icecc nodes and the jobs under execution.&lt;/p&gt;

&lt;h2 id=&quot;install-on-debian-based-systems&quot;&gt;Install on Debian-based systems&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ sudo apt install icecc-monitor
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;install-on-fedora&quot;&gt;Install on Fedora&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ sudo dnf install icemon
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;install-it-from-sources&quot;&gt;Install it from sources&lt;/h2&gt;

&lt;p&gt;You can compile it from &lt;a href=&quot;https://github.com/icecc/icemon&quot;&gt;sources&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;acknowledgments&quot;&gt;Acknowledgments&lt;/h1&gt;

&lt;p&gt;Even though &lt;a href=&quot;https://github.com/icecc/icecream#cross-compiling-using-icecream&quot;&gt;icecream has a good cross-compilation documentation&lt;/a&gt;, it was the &lt;a href=&quot;https://blogs.igalia.com/vjaquez/2013/12/31/boosting-webkitgtk-compilation-for-armhf-with-icecream/&quot;&gt;post written 8 years ago&lt;/a&gt; by my &lt;a href=&quot;https://www.igalia.com&quot;&gt;Igalia&lt;/a&gt; colleague Víctor Jáquez the one that convinced me to setup icecream as explained in this post.&lt;/p&gt;

&lt;p&gt;Hope you find this info as useful as I did :-)&lt;/p&gt;
</description>
				
				<pubDate>Thu, 09 Dec 2021 15:28:00 +0100</pubDate>
				<link>https://blogs.igalia.com/siglesias/2021/12/09/Cross-compiling-with-icecream/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2021/12/09/Cross-compiling-with-icecream/</guid>
			</item>
		
			<item>
				<title>VK_EXT_image_view_min_lod Vulkan extension released</title>
				
					<description>&lt;p&gt;One of the extensions released as part of &lt;a href=&quot;https://github.com/KhronosGroup/Vulkan-Docs/commit/83c7507600618d8748bb911dfd8c3d9b4fabaca0&quot;&gt;Vulkan 1.2.199&lt;/a&gt; was &lt;a href=&quot;https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_image_view_min_lod.html&quot;&gt;VK_EXT_image_view_min_lod&lt;/a&gt; extension. I’m happy to see it published as I have participated in the release process of this extension: from reviewing the spec exhaustively (I even contributed a few things to improve it!) to developing CTS tests for it that will be eventually merged to the &lt;a href=&quot;https://github.com/KhronosGroup/VK-GL-CTS/&quot;&gt;CTS repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This extension was proposed by Valve to mirror a feature present in Direct3D 12 (check &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ResourceMinLODClamp&lt;/code&gt; &lt;a href=&quot;https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ns-d3d12-d3d12_tex2d_srv&quot;&gt;here&lt;/a&gt;) and Direct3D 11 (check &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SetResourceMinLOD&lt;/code&gt; &lt;a href=&quot;https://docs.microsoft.com/en-us/windows/win32/api/d3d11/nf-d3d11-id3d11devicecontext-setresourceminlod&quot;&gt;here&lt;/a&gt;). In other words, this extension allows clamping the minimum LOD value accessed by an image view to a minLod value set at image view creation time.&lt;/p&gt;

&lt;p&gt;That way, any library or API layer that translates Direct3D 11/12 calls to Vulkan can use the extension to mirror the behavior above on Vulkan directly without workarounds, facilitating the port of Direct3D applications such as games to Vulkan. For example, projects like &lt;a href=&quot;https://wiki.winehq.org/Vkd3d&quot;&gt;Vkd3d&lt;/a&gt;, &lt;a href=&quot;https://github.com/HansKristian-Work/vkd3d-proton&quot;&gt;Vkd3d-proton&lt;/a&gt; and &lt;a href=&quot;https://github.com/doitsujin/dxvk&quot;&gt;DXVK&lt;/a&gt; could benefit from it.&lt;/p&gt;

&lt;p&gt;Going into more details, this extension changed &lt;a href=&quot;https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/chap16.html#textures-level-of-detail-operation&quot;&gt;how the image level selection is calculated&lt;/a&gt; and sets an additional minimum required in the &lt;a href=&quot;https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/chap16.html#textures-integer-coordinate-operations&quot;&gt;image level for integer texel coordinate operations&lt;/a&gt; if it is enabled.&lt;/p&gt;

&lt;p&gt;The way to use this feature in an application is very simple:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Check the extension is supported and if the physical device supports the respective feature:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// Provided by VK_EXT_image_view_min_lod&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;VkPhysicalDeviceImageViewMinLodFeaturesEXT&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;VkStructureType&lt;/span&gt;    &lt;span class=&quot;n&quot;&gt;sType&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;              &lt;span class=&quot;n&quot;&gt;pNext&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;VkBool32&lt;/span&gt;           &lt;span class=&quot;n&quot;&gt;minLod&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;VkPhysicalDeviceImageViewMinLodFeaturesEXT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Once you know everything is working, enable both the extension and the feature when creating the device.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;When you want to create a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VkImageView&lt;/code&gt; that defines a minLod for image accesses, then add the following structure filled with the value you want in &lt;a href=&quot;https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkImageViewCreateInfo&quot;&gt;VkImageViewCreateInfo&lt;/a&gt;’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pNext&lt;/code&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// Provided by VK_EXT_image_view_min_lod&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;VkImageViewMinLodCreateInfoEXT&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;VkStructureType&lt;/span&gt;    &lt;span class=&quot;n&quot;&gt;sType&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;        &lt;span class=&quot;n&quot;&gt;pNext&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;float&lt;/span&gt;              &lt;span class=&quot;n&quot;&gt;minLod&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;VkImageViewMinLodCreateInfoEXT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And that’s all! As you see, it is a very simple extension.&lt;/p&gt;

&lt;p&gt;Happy hacking!&lt;/p&gt;
</description>
				
				<pubDate>Thu, 02 Dec 2021 15:48:00 +0100</pubDate>
				<link>https://blogs.igalia.com/siglesias/2021/12/02/VK_EXT_image_view_min_lod-extension-released/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2021/12/02/VK_EXT_image_view_min_lod-extension-released/</guid>
			</item>
		
			<item>
				<title>X.Org Developers Conference 2021</title>
				
					<description>&lt;p&gt;Last week we had our most loved annual conference: &lt;a href=&quot;https://xdc2021.x.org&quot;&gt;X.Org Developers Conference 2021&lt;/a&gt;. As a reminder, due to COVID-19 situation in Europe (and its respective restrictions on travel and events), we kept it virtual again this year… which is a pity as the former venue was &lt;a href=&quot;https://en.wikipedia.org/wiki/Gda%C5%84sk&quot;&gt;Gdańsk&lt;/a&gt;, a very beautiful city (see picture below if you don’t believe me!) in Poland. Let’s see if we can finally have an XDC there!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xdc2021.jpg&quot; alt=&quot;XDC 2021&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This year we had a very strong &lt;a href=&quot;https://indico.freedesktop.org/event/1/timetable/#all.detailed&quot;&gt;program&lt;/a&gt;. There were talks covering all aspects of the open-source graphics stack: from the &lt;a href=&quot;https://media.ccc.de/v/xdc2021-5-fast_checkpoint_restore_for_amd_gpus_with_criu&quot;&gt;kernel&lt;/a&gt; (including an Outreachy talk about &lt;a href=&quot;https://media.ccc.de/v/xdc2021-9-emulating_virtual_hardware_in_vkms&quot;&gt;VKMS&lt;/a&gt;) and &lt;a href=&quot;https://media.ccc.de/v/xdc2021-4-raspberry_pi_vulkan_driver_update&quot;&gt;Mesa&lt;/a&gt; &lt;a href=&quot;https://media.ccc.de/v/xdc2021-13-the_occult_and_the_apple_gpu&quot;&gt;drivers&lt;/a&gt; &lt;a href=&quot;https://media.ccc.de/v/xdc2021-8-lima_driver_status_update_2021&quot;&gt;of&lt;/a&gt; &lt;a href=&quot;https://media.ccc.de/v/xdc2021-1-chromeos_freedreno_update&quot;&gt;all&lt;/a&gt; &lt;a href=&quot;https://media.ccc.de/v/xdc2021-3-etnaviv_status_update&quot;&gt;kind&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=ep3RI1RFQgc&amp;amp;list=PLe6I3NKr-I4LwrhsAG1XVPW0EFL8ZJ_6W&amp;amp;index=9&amp;amp;t=1130s&quot;&gt;inputs&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=ep3RI1RFQgc&amp;amp;list=PLe6I3NKr-I4LwrhsAG1XVPW0EFL8ZJ_6W&amp;amp;index=9&amp;amp;t=5s&quot;&gt;libraries&lt;/a&gt;, &lt;a href=&quot;https://media.ccc.de/v/xdc2021-30-x_org_security&quot;&gt;X.org security&lt;/a&gt; and &lt;a href=&quot;https://media.ccc.de/v/xdc2021-18-addressing_wayland_robustness&quot;&gt;Wayland robustness&lt;/a&gt;… we had talks about &lt;a href=&quot;https://media.ccc.de/v/xdc2021-12-making_bare_metal_testing_accessible_to_every_developer&quot;&gt;testing drivers&lt;/a&gt;, &lt;a href=&quot;https://media.ccc.de/v/xdc2021-6-dissecting_and_fixing_vulkan_rendering_issues_in_drivers_with_renderdoc&quot;&gt;debugging&lt;/a&gt; &lt;a href=&quot;https://media.ccc.de/v/xdc2021-21-compiling_vulkan_shaders_in_the_browser_a_tale_of_control_flow_graphs_and_webassembly&quot;&gt;them&lt;/a&gt;, our &lt;a href=&quot;https://media.ccc.de/v/xdc2021-7-status_of_freedesktop_org_gitlab_cloud_hosting&quot;&gt;infra at freedesktop.org&lt;/a&gt;, and even Vulkan specs (such &lt;a href=&quot;https://media.ccc.de/v/xdc2021-28-video_decoding_in_vulkan_a_brief_overview_of_the_provisional_vk_khr_video_queue_vk_khr_video_decode_apis&quot;&gt;Vulkan Video&lt;/a&gt; and &lt;a href=&quot;https://www.youtube.com/watch?v=ep3RI1RFQgc&amp;amp;list=PLe6I3NKr-I4LwrhsAG1XVPW0EFL8ZJ_6W&amp;amp;index=9&amp;amp;t=1441s&quot;&gt;VK_EXT_multi_draw&lt;/a&gt;) and their support in the open-source graphics stack. Definitely, a very complete program that is very interesting to all open-source developers working on this area. You can watch all the talks &lt;a href=&quot;https://media.ccc.de/c/xdc2021&quot;&gt;here&lt;/a&gt; or &lt;a href=&quot;https://www.youtube.com/playlist?list=PLe6I3NKr-I4LwrhsAG1XVPW0EFL8ZJ_6W&quot;&gt;here&lt;/a&gt; and the slides were already uploaded in the &lt;a href=&quot;https://indico.freedesktop.org/event/1/timetable/#all.detailed&quot;&gt;program&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On behalf of the Call For Papers Committee, I would like to thank all speakers for their talks… this conference won’t make sense without you!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Big shout-out to the XDC 2021 organizers (&lt;a href=&quot;https://www.intel.com&quot;&gt;Intel&lt;/a&gt;) represented by Radosław Szwichtenberg, Ryszard Knop and Maciej Ramotowski&lt;/strong&gt;. They did an awesome job on having a very smooth conference. I can tell you that they promptly fixed any issue that happened, all of that behind the scenes so that the attendees not even noticed anything most of the times! That is what good conference organizers do!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xdc2021-org.jpg&quot; alt=&quot;XDC 2021 Organizers&quot; class=&quot;center-block&quot; /&gt;
&lt;em&gt;Can I invite you to a drink at least? You really deserve it!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to know more details about what this virtual conference entailed, just watch Ryszard’s talk at XDC (&lt;a href=&quot;https://indico.freedesktop.org/event/1/contributions/46/&quot;&gt;info&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=Qg3csX66WZU&amp;amp;t=1288s&quot;&gt;video&lt;/a&gt;) or you can reuse their &lt;a href=&quot;https://github.com/DragoonAethis/XDC2021&quot;&gt;materials for future conferences&lt;/a&gt;. That’s very useful info for future conference organizers!&lt;/p&gt;

&lt;p&gt;Talking about our streaming platforms, the big novelty this year was the use of &lt;a href=&quot;https://media.ccc.de/c/xdc2021&quot;&gt;media.ccc.de&lt;/a&gt; as a privacy-friendly alternative to our traditional Youtube setup (&lt;a href=&quot;https://lists.x.org/archives/events/2020-September/000129.html&quot;&gt;last year we got feedback about this&lt;/a&gt;). Media.ccc.de is an open-source platform that respects your privacy and we hope it worked fine for all attendees. Our stats indicate that ~50% of our audience connected to it during the three days of the conference. That’s awesome!&lt;/p&gt;

&lt;p&gt;Last but not least, we couldn’t make this conference without our &lt;a href=&quot;https://indico.freedesktop.org/event/1/page/5-sponsors&quot;&gt;sponsors&lt;/a&gt;. We are very lucky to have on board &lt;a href=&quot;https://www.intel.com/&quot;&gt;Intel&lt;/a&gt; as our Platinum sponsor and organizer, our Gold sponsors (&lt;a href=&quot;https://www.google.com/&quot;&gt;Google&lt;/a&gt;, &lt;a href=&quot;https://www.nvidia.com/&quot;&gt;NVIDIA&lt;/a&gt;, &lt;a href=&quot;https://www.arm.com/&quot;&gt;ARM&lt;/a&gt;, &lt;a href=&quot;https://www.microsoft.com/&quot;&gt;Microsoft&lt;/a&gt; and &lt;a href=&quot;https://www.amd.com/&quot;&gt;AMD&lt;/a&gt;, our Silver sponsors (&lt;a href=&quot;https://www.igalia.com/&quot;&gt;Igalia&lt;/a&gt;, &lt;a href=&quot;https://www.collabora.com/&quot;&gt;Collabora&lt;/a&gt;, &lt;a href=&quot;https://linuxfoundation.org/&quot;&gt;The Linux Foundation&lt;/a&gt;), our Bronze sponsors (&lt;a href=&quot;https://about.gitlab.com/solutions/open-source/&quot;&gt;Gitlab&lt;/a&gt; and &lt;a href=&quot;https://www.khronos.org/&quot;&gt;Khronos Group&lt;/a&gt;) and our Supporters (&lt;a href=&quot;https://c3voc.de/&quot;&gt;C3VOC&lt;/a&gt;). Big thank you from the X.Org community!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/xdc2021-sponsors.jpg&quot; alt=&quot;XDC 2021 Sponsors&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;feedback&quot;&gt;Feedback&lt;/h1&gt;

&lt;p&gt;We would like to hear from you and learn about what worked and what needs to be improved for future editions of XDC! Share us your experience!&lt;/p&gt;

&lt;p&gt;We have sent an email asking for feedback to different mailing lists (for example &lt;a href=&quot;https://lists.x.org/archives/events/2021-September/000142.html&quot;&gt;this&lt;/a&gt;). Don’t hesitate to send an email to &lt;a href=&quot;mailto:board@foundation.x.org&quot;&gt;X.Org Foundation board&lt;/a&gt; with all your feedback!&lt;/p&gt;

&lt;h1 id=&quot;xdc-2022-announced&quot;&gt;XDC 2022 announced!&lt;/h1&gt;

&lt;p&gt;X.Org Developers Conference 2022 has been announced! Jeremy White, from &lt;a href=&quot;https://www.codeweavers.com/&quot;&gt;Codeweavers&lt;/a&gt;, gave a &lt;a href=&quot;https://www.youtube.com/watch?v=Qg3csX66WZU&amp;amp;list=PLe6I3NKr-I4LwrhsAG1XVPW0EFL8ZJ_6W&amp;amp;index=26&amp;amp;t=17s&quot;&gt;lightning talk presenting next year edition&lt;/a&gt;! Next year the XDC will not be alone… WineConf 2022 is going to be organized by Codeweavers as well and co-located with XDC!&lt;/p&gt;

&lt;p&gt;Save the dates! &lt;strong&gt;October 4-5-6, 2022 in Minneapolis, Minnesota, USA&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/minneapolis.jpg&quot; alt=&quot;XDC 2022: Minneapolis, Minnesota, USA&quot; class=&quot;center-block&quot; /&gt;
&lt;em&gt;Image from &lt;a href=&quot;https://commons.wikimedia.org/wiki/File:Minneapolis_Sunset.jpg&quot;&gt;Wikipedia&lt;/a&gt;. License &lt;a href=&quot;https://creativecommons.org/licenses/by-sa/4.0/deed.en&quot;&gt;CC BY-SA 4.0&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h1 id=&quot;xdc-2023-hosting-proposals&quot;&gt;XDC 2023 hosting proposals&lt;/h1&gt;

&lt;p&gt;Have you enjoyed XDC 2021? Do you think you can do it better? ;-) We are looking for organizers for XDC 2023 (most likely in Europe but we are open to other places).&lt;/p&gt;

&lt;p&gt;We know this is a decision that takes time (trigger internal discussion, looking for volunteers, budget, a venue suitable for the event, etc). Therefore, we encourage potential interested parties to start the internal discussions now, so any question they have can be answered before we open the call for proposals for XDC 2023 at some point next year. Please &lt;a href=&quot;https://www.x.org/wiki/Events/RFP/&quot;&gt;read what it is required to organize this conference&lt;/a&gt; and feel free to contact me or the &lt;a href=&quot;mailto:board@foundation.x.org&quot;&gt;X.Org Foundation board&lt;/a&gt; for more info if needed.&lt;/p&gt;

&lt;h1 id=&quot;final-acknowledgment&quot;&gt;Final acknowledgment&lt;/h1&gt;

&lt;p&gt;I would like to thank &lt;a href=&quot;https://www.igalia.com&quot;&gt;Igalia&lt;/a&gt; for all the support I got when I decided to run for re-election this year in the &lt;a href=&quot;https://www.x.org&quot;&gt;X.Org Foundation&lt;/a&gt; board and to allow me to participate in XDC organization during my work hours. It’s amazing that our &lt;a href=&quot;https://www.igalia.com/about/values&quot;&gt;Free Software and collaboration values&lt;/a&gt; are still present after &lt;a href=&quot;https://www.igalia.com/20anniversary/&quot;&gt;20 years rocking in the free world&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/20anniversary-black.png&quot; alt=&quot;Igalia 20th anniversary&quot; class=&quot;center-block&quot; /&gt;
&lt;img src=&quot;/siglesias/assets/logoigalia.png&quot; alt=&quot;Igalia&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

</description>
				
				<pubDate>Fri, 24 Sep 2021 07:20:00 +0200</pubDate>
				<link>https://blogs.igalia.com/siglesias/2021/09/24/X.Org-Developers-Conference-2021/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2021/09/24/X.Org-Developers-Conference-2021/</guid>
			</item>
		
			<item>
				<title>My experience in esLibre 2021</title>
				
					<description>&lt;p&gt;This year, I decided to participate as speaker in &lt;a href=&quot;https://eslib.re/2021/programa/&quot;&gt;esLibre 2021&lt;/a&gt; conference. &lt;a href=&quot;https://eslib.re&quot;&gt;esLibre&lt;/a&gt; is a Spanish free software conference that covers a lot of different topics related to open-source projects: from the technical point of view to its social impact.&lt;/p&gt;

&lt;p&gt;This year the conference had talks about game development with Godot, KDE, LibreOffice, Free Software in Universities among many others. Check out the &lt;a href=&quot;https://eslib.re/2021/programa/&quot;&gt;program&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/banner_eslibre_2021.png&quot; alt=&quot;esLibre 2021&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is my first time participating in this conference and I enjoyed it a lot. Huge applause to the organization team for the huge work to organize this edition, for helping out the speakers with different testing days and for their kindness to reply any question from me and other attendees. They did a superb job!&lt;/p&gt;

&lt;p&gt;My talk was an introduction to Mesa where I covered things like where is Mesa in the open-source graphics stack, a summary of what it does, the drivers implemented in Mesa, how our community is organized and how to contribute to it. If you know Spanish, you can check it out &lt;a href=&quot;https://people.igalia.com/siglesias/talks/esLibre2021/&quot;&gt;here&lt;/a&gt; (&lt;a href=&quot;https://people.igalia.com/siglesias/talks/esLibre2021_Introduccion_a_Mesa.pdf&quot;&gt;PDF&lt;/a&gt;). But in case you want an English version of it, this talk is very similar to the one I gave at &lt;a href=&quot;https://blogs.igalia.com/siglesias/2018/04/30/ubucon-europe-2018-experience-and-talk-slides/&quot;&gt;Ubucon Europe 2018&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;My esLibre talk was recorded as well! Edit: the &lt;a href=&quot;https://commons.wikimedia.org/wiki/File:EsLibre_2021_P38_-_Samuel_Iglesias_Gons%C3%A1lvez_-_Introducci%C3%B3n_a_Mesa.webm&quot;&gt;recording is already available here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy it!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/siglesias/assets/mesa_talk_eslibre2021.jpg&quot; alt=&quot;Introduction to Mesa&quot; class=&quot;center-block&quot; /&gt;&lt;/p&gt;
</description>
				
				<pubDate>Mon, 28 Jun 2021 10:20:00 +0200</pubDate>
				<link>https://blogs.igalia.com/siglesias/2021/06/28/my-experience-in-eslibre-2021/</link>
				<guid isPermaLink="true">https://blogs.igalia.com/siglesias/2021/06/28/my-experience-in-eslibre-2021/</guid>
			</item>
		
	</channel>
</rss>
