[00:00.000 --> 00:18.360] Hi everyone, my name is Yaquo and today I'll be presenting your topic Linux on risk 5. [00:18.360 --> 00:25.360] I'll try to speak up so if you have any problems hearing me just let me know so I'll try to [00:25.360 --> 00:33.360] be louder. So what are we going to talk about? What? Louder, okay. So what are we going to [00:33.360 --> 00:38.400] talk about today? The topic is titled Linux on risk 5 but I'm actually going to talk mostly [00:38.400 --> 00:44.800] about gento support for risk 5 but we're also going to mention other Linux distributions [00:44.800 --> 00:51.320] how they handle risk 5 how other mainstream Linux applications are also supporting risk [00:51.320 --> 01:01.200] 5 and what what you can actually you know do using Linux systems on risk 5. So a little bit [01:01.200 --> 01:07.520] about myself I'm yeah my name is Yaquo coming from Croatia I work as a firmware engineer in [01:07.520 --> 01:16.200] Croatia most of my work is done revolving around better Linux development and integration however [01:16.200 --> 01:23.080] for my main job I do not work with risk 5 but I've been I had a privilege to contribute to open [01:23.080 --> 01:29.440] source as a gento Linux developer since 2021 and actually gento is where I've been able to get [01:29.440 --> 01:35.640] in touch with or get contact with risk 5 so I've been involved in a gento risk 5 team. [01:35.640 --> 01:50.000] Yeah I'll try to. So I'll try not to repeat too many details I'm sure most of you are familiar [01:50.000 --> 01:56.600] with with the architecture itself. So what is risk 5? So it's an open source instruction set [01:56.600 --> 02:03.560] architecture it was designed at Berkeley University in USA it was their fifth architecture which was [02:03.560 --> 02:10.360] designed hence the name risk 5. So how is it actually designed? It is designed to be a stable [02:10.360 --> 02:18.960] and modular architecture so we actually have a base base integer instruction sets that provide [02:18.960 --> 02:25.440] like stable base on top of you can up top of which additional instruction extensions can be built on. [02:25.440 --> 02:33.200] Nowadays it's led by risk 5 foundation which is organization which was founded to you know maintain [02:33.200 --> 02:43.760] intellectual property legal stuff related with risk 5 and so on. Speaking about risk 5 instruction [02:43.760 --> 02:52.120] set architecture so we have a three main base base instruction sets which is 32, 64 and 128 bits. [02:52.120 --> 02:57.680] All of them are designed so that they work or they are independent of each other so you cannot [02:57.680 --> 03:09.520] run there's no running 32 bit binaries on 64 bit systems. There's also 128 bit architecture but it's [03:09.520 --> 03:16.560] currently not frozen yet so it's still in for us the most important one is going to be risk 5 64 [03:16.560 --> 03:21.360] bit because that's the one that actually most most of the linear distributions are going to target. [03:21.360 --> 03:28.920] Now we mentioned some of the extensions so how they are designed? They're designed so they actually [03:28.920 --> 03:33.960] they can coexist with each other. They do not conflict with each other and they can be built [03:33.960 --> 03:42.720] on top of any of the previous base instructions we've mentioned. So we got some extensions listed [03:42.720 --> 03:49.520] here such as M for integer multiplication and division. We got A for atomic operations and [03:49.520 --> 03:58.400] we have a single double quad precision floating point. So how is actually naming convention [03:58.400 --> 04:07.120] works for risk 5? So first part of the name is actually base integer instruction so if you [04:07.120 --> 04:14.000] have risk 5 64 it's going to be usually rv64i and then we have additional extensions that are [04:14.000 --> 04:24.200] built on top of the base instruction so for example you could have MAFD or any extension that is [04:24.200 --> 04:32.360] built comes after the base integer. Nowadays we just to avoid having to write so many letters we're [04:32.360 --> 04:40.000] using a letter G which stands for general purpose instruction is just a combination of IMAFD because [04:40.000 --> 04:47.760] usually chips are designed to support all these extensions and then we have C which stands for [04:47.760 --> 04:55.640] compressed instructions. So now when we combine all this GNC we get RA64 GC to avoid having to [04:55.640 --> 05:03.480] write so many letters because it can expand to RA64 IMAFD which then expands to more letters [05:03.480 --> 05:10.200] depending on you know the version of extension that's implemented. Most most linear distributions [05:10.200 --> 05:23.560] will target RA64 GC instruction. So now let's talk a little bit about support in Gentoo. We have [05:23.560 --> 05:33.440] any Gentoo users in here? Alright okay. So I'm sure you know you've heard about Gentoo links so [05:33.440 --> 05:38.680] what is it? It's a source-based distribution and well this is actually the you know key feature [05:38.680 --> 05:44.200] that separates Gentoo from most of other mainstream distributions where usually you know when you [05:44.200 --> 05:49.720] want to download install package on your system your package manager downloads a binary [05:49.720 --> 05:57.960] pre-compiled package extracts it and installs it onto your system. While in Gentoo we you know we [05:57.960 --> 06:03.040] decided we're not gonna do any of this we're just gonna you know download and do compilation [06:03.040 --> 06:10.200] everything ourselves. So the main the core feature or the heart of Gentoo is its package manager [06:10.200 --> 06:17.520] called Portage. Portage is actually what allows you to have you know this really fine grained control [06:17.520 --> 06:22.080] over your system so you can choose many many different components when you build your system [06:22.080 --> 06:28.000] like you can choose a toolchain components you can choose your in-it system you can even change [06:28.000 --> 06:36.360] libc if you want it and so on. So it's actually designed to be like when you want to download [06:36.360 --> 06:42.040] Gentoo you just download a minimal set of it's called a stage three archive so it's just a [06:42.040 --> 06:47.320] minimal set of programs and tools that you can use to you know later customize to your [06:47.320 --> 06:55.920] own to your own needs. I've mentioned profiles and use flex is just some features of Portage [06:55.920 --> 07:01.360] that allow you to to maybe more easily you know customize and configure your system so profiles [07:01.360 --> 07:07.800] are basically set of configuration files that typically you select a profile when you do Gentoo [07:07.800 --> 07:14.120] installation so profile will you know it will determine what packages you will want to you [07:14.120 --> 07:20.080] want to install and what features you will have in your system. Use flags maybe the name is not so [07:20.080 --> 07:27.920] intuitive we can think of it as a feature flags or just configuration flags it's just a flag that [07:27.920 --> 07:33.720] package manager uses to determine whether you want to you know for example build one package with [07:33.720 --> 07:38.960] certain feature or not so let's say you want to install Gentoo on a system that doesn't have you [07:38.960 --> 07:43.760] know you're installing it on a server or a headless system so obviously you're not going to need [07:43.760 --> 07:51.680] support for graphics interface so what you can do you can just look up these use flags that are [07:51.680 --> 07:56.760] available in Gentoo and then you can just you know oh I'll find the use flag that controls whether my [07:56.760 --> 08:02.560] packages are built with or without no support for graphical interface you're simply going to turn [08:02.560 --> 08:08.720] this flag off and you're not even going to pull any of this stuff like X11 or Wayland whatever so [08:08.720 --> 08:12.640] you're going to have to you're going to be able to have you know system that is completely you know [08:12.640 --> 08:18.120] I'm not going to say bloat free but it's going to be very you know you're not going to have to you [08:18.120 --> 08:27.000] can customize it to your own needs that's the point. What architectures does Gentoo support so [08:27.000 --> 08:35.520] I've listed probably about 15 if I counted correctly so we actually have three levels let's say [08:35.520 --> 08:43.280] levels of support of architectures in Gentoo we have stable unstable and experimental as we can [08:43.280 --> 08:49.240] see risk 5 is currently in the unstable category well what's the difference between stable and [08:49.240 --> 08:54.480] unstable well the difference main difference is the architecture that are stable are going to [08:54.480 --> 09:00.880] receive much more testing you know continuous testing and unstable may have you know more bugs [09:01.200 --> 09:08.200] is not going to receive so much testing why why why risk 5 is still unstable well primarily because [09:08.200 --> 09:14.520] of there's no powerful hardware to enable us to you know compile these packages quickly enough so [09:14.520 --> 09:21.520] probably if we would try to turn risk 5 into stable architecture we would just would be too much [09:21.520 --> 09:30.640] you know time consuming and it would fail for some point but generally nowadays risk 5 support is [09:30.640 --> 09:35.440] quite good there's no you know pretty much is polished and you can you know mostly bug free [09:35.440 --> 09:49.720] experience in Gentoo okay so let's talk a little bit about history of risk 5 port so I joined Gentoo [09:49.720 --> 09:57.920] in 2021 but this this boarding was done before my time so it was around 2019 by our colleague [09:57.920 --> 10:04.000] Andras not sure maybe he's here today with us so he was he was the one that added the initial [10:04.000 --> 10:13.000] profiles for risk 5 so two targets two main targets that Gentoo supported and still supports [10:13.000 --> 10:23.560] are RA64 GC and RA64 IMAC but actually the RA64 GC is going to be the main one which we are going [10:23.560 --> 10:29.120] to focus on gets that it will get the you know the most the biggest level of support in Gentoo [10:29.120 --> 10:43.600] yeah yeah no they're just for comparison so 8000 packages supported on risk 5 yeah just to compare [10:43.600 --> 10:51.760] numbers with arm 64 so yeah when we do testing of our packages we you know always make sure [10:51.760 --> 10:57.600] that we run tests and we want to make sure that you know tests are all tests are pressing or as [10:57.600 --> 11:03.760] much as you know it's possible in reasonable extent so probably not every package will be able to [11:03.760 --> 11:08.320] pass test but we do our best to you know either the package is working correctly tests are passing [11:08.320 --> 11:12.720] or if we you know find an issue we're gonna try to fix it or at least report upstream if we're [11:12.720 --> 11:21.720] unable to fix so yeah in these few years we've been able to you know almost get to the same [11:21.720 --> 11:26.760] level as arm 64 support in Gentoo which I believe is quite good for such a new architecture [11:26.760 --> 11:35.000] so maybe you're asking yourself why would you choose Gentoo so you have a risk 5 system you [11:35.000 --> 11:40.840] have a you know small board or you bought yourself a first let's say toy risk 5 toy why would you [11:40.840 --> 11:47.720] want to use Gentoo so may not be like the first obvious choice but Gentoo gives you high degree [11:47.720 --> 11:52.520] of freedom of flexibility so you have control over pretty much any any component of your system [11:54.680 --> 11:59.480] you will also have a latest software available if you use Gentoo so we try to you know stay on top [11:59.480 --> 12:08.280] of most recent you know software versions packages compilers etc so you're going to be able to have [12:08.280 --> 12:16.600] a latest and greatest let's say of what's available in the you know software just distribution packages [12:16.600 --> 12:21.080] so it can be a really good platform for developing you can develop either natively [12:22.280 --> 12:28.440] or you can develop also on your you know your laptop which is going to be much much quicker [12:28.440 --> 12:33.560] if you don't want to spend money buying a board you can just you know you can set up a cross [12:33.560 --> 12:39.320] compilation build environment also with Gentoo we have a tool that's called cross dev which is [12:39.320 --> 12:46.120] just a wrapper scripts that enable you to set up cross completion environment for you know [12:46.120 --> 12:52.760] you can do for any architecture you want so then after you build your you know cross tool chain you [12:52.760 --> 12:59.720] can then compile all other components that you need that you want to you know like libraries [13:00.760 --> 13:06.040] binaries whatever you need and then you can even you can either boot this image in QEMU and then [13:06.040 --> 13:11.960] work work over there or you can just like create your own bootable image and then put it on on your [13:12.040 --> 13:15.480] sd card and then if you have a board boot that [13:22.440 --> 13:27.480] so stage archive so I think I mentioned stage is basically just a simple it's a [13:27.480 --> 13:35.080] terrible that when you extract you get a minimal minimal Gentoo system which you know it will contain [13:35.080 --> 13:43.240] like libc tool chains tools you need to download and build your own programs or other packages [13:44.520 --> 13:51.560] so I've listed here well if you go to gentoo.org slash downloads you're going to have a an overview [13:51.560 --> 13:55.560] of you know every architecture and every stage you can download for every architecture [13:56.440 --> 14:06.680] I've listed some of the available archives for for risk 5 here so we got lp64d and lp64 abi [14:07.560 --> 14:15.160] images but the main ones are the main ones are the most stable ones are going to be lp64d so we [14:15.160 --> 14:22.200] have a you have variants with using system d or open rc depending on which in the system you want to [14:22.200 --> 14:29.000] use then we also have a glibc and muscle images so if you don't if you want to try out you know [14:29.000 --> 14:33.880] something other than glibc we also you know we allow you to do this or we try to you know [14:33.880 --> 14:43.400] offer you the choice um yeah we also got lp64 images there is also uh well let's say multi-lib [14:43.400 --> 14:48.840] image but it's more like things are not likely or things are more likely to break if you use the [14:48.840 --> 14:53.000] other the other ones but it's still available if you want to you know try it think around or just [14:53.000 --> 15:05.880] you know boot it up in a in a qem or something so risk 5 actually gentoo had a well we attempted [15:05.880 --> 15:10.920] to have a multi-lib support but when we say multi-lib it's we don't mean like running uh [15:10.920 --> 15:17.400] 32 bit binaries on 64 because we cannot do that they're independent 32 and 64 bit but we tried to [15:17.400 --> 15:26.680] have a these two abis working together lp64d and lp64 so how how this was attempted was we had a [15:26.680 --> 15:36.360] separate libdir for each for each abi so lp64 would be in lib64 slash lp64d while other one would [15:36.360 --> 15:43.320] be in lp64 but well naturally this did not go without issues of course so some problems that [15:43.320 --> 15:49.320] this actually introduced was uh well we sometimes we would have you know partially broken build [15:49.320 --> 15:55.640] systems like for example cmake so what would happen is cmake would would look for some files and it [15:55.640 --> 16:04.760] looks um it searches these files in slash let's say slash usr lib64 but then on your system you [16:04.760 --> 16:10.920] don't have this you have slash usr lib64 lp64d so then of course the whole the whole thing [16:10.920 --> 16:18.120] will crash and you're unhappy because your package doesn't build so another thing that was uh well [16:18.120 --> 16:23.720] caused problems for us was uh some important packages were only supporting uh targeting [16:24.520 --> 16:31.160] ra64 gc or lp64d abi like rust and well nowadays rust is very important if you want to have a [16:31.160 --> 16:39.880] complete complete linux distribution um so yeah just over time this this caused a lot of headaches [16:39.880 --> 16:47.800] for developers um a lot of headaches for developers which just uh you know led us to to change this [16:47.800 --> 16:55.720] and drop drop this uh drop this from our support um so nowadays [17:06.440 --> 17:14.280] so actually what this uh file what this file determines is or it sets like it sets your [17:14.280 --> 17:21.080] chost abi um your compilation flags so things that are necessary for your compiler to be able to [17:22.040 --> 17:26.040] you know correctly compile packages for your architecture and abi you are using [17:30.680 --> 17:36.600] well this is the the old profile 17.0 well this is the latest one 20.0 i'm not sure about the naming [17:36.600 --> 17:43.320] maybe it's 17.0 maybe it's related to the year that these profiles were were made because i know [17:43.320 --> 17:48.520] that we're going to have a 23.0 profiles so probably it's related with the year that they [17:48.520 --> 17:53.880] they're written but um so these are the this is what we had before when i was talking about the [17:53.880 --> 18:03.000] old profiles so we had a lp64 live there was lib64 slash lp64d so we tried to have both of these [18:03.000 --> 18:10.120] abis coexist at the same time but um it proved to be just a little too too difficult to maintain [18:11.000 --> 18:15.160] i think we're still we're still building stages with with this configuration but it's not [18:16.120 --> 18:21.000] i'm not really tested or supported so you can try it out but probably going to run into some issues [18:27.480 --> 18:33.960] what everything except gcc and glc built properly and it's a little bit different [18:34.120 --> 18:41.240] yeah yeah by the way this is Andres so i was talking about him he's the he's the main guy behind [18:41.240 --> 18:48.360] the risk five port in gen 2 yeah feel free to if i do something you miss feel free to interrupt me [18:48.360 --> 19:00.200] and add something thank you all right so repository so the main repository contains about 19 000 [19:00.200 --> 19:06.680] packages we said we we support risk five around 8 000 which doesn't mean that the other 11 000 don't [19:06.680 --> 19:11.880] build it just means that they're not you know officially tested because we try to minimize the [19:11.880 --> 19:16.680] number of packages we just because it creates additional burden for developers we have to [19:16.680 --> 19:21.240] maintain constantly these you know packages as soon as you know if there's a new version of [19:21.240 --> 19:26.040] package which pulls in different dependencies we have to you know also test you know many many [19:26.040 --> 19:31.960] dependencies which can create like a huge amount of work so that's why we try to let's say minimize [19:32.680 --> 19:39.560] for now the amount of packages we are supporting we also have a risk five overlay which is just [19:41.400 --> 19:46.680] let's say it's less official repository or more experimental which contains just [19:47.240 --> 19:52.840] some packages that are not yet ready to be in the main tree or just our working progress [19:52.840 --> 19:57.560] porting upstream like valgrind qt web engine thunderbird and so on [20:03.240 --> 20:09.560] we also have something well unofficial binary repository that is based on calculate linux so [20:09.560 --> 20:16.520] calculate is a it's a gen 2 base distribution is designed to be backwards compatible with [20:17.160 --> 20:22.520] with gen 2 and with portage so essentially it offers you just the repositories of binary packages [20:22.520 --> 20:27.720] which you can well you'll skip you'll skip the longest part of installing gen 2 [20:29.640 --> 20:36.840] so we have unofficial repository for rix five packages and there's also an image for sci-fi [20:36.840 --> 20:45.560] one matched board the last one I think was in May last year so it's not official but if you know [20:45.560 --> 20:50.520] if you're interested in using this or if you need a if you need a newer build or something you can [20:50.520 --> 20:54.600] just let us know it will be we'll try to do our best to update or whatever so [20:56.840 --> 20:58.840] yeah [21:02.440 --> 21:06.440] now what is there to be done in the future so we said that we currently support risk five as [21:06.440 --> 21:11.480] a unstable architecture we'd like to support it as a stable architecture but we'll see [21:11.880 --> 21:17.160] it depends mostly of if there will be powerful enough hardware I mean there will be at some point [21:17.160 --> 21:21.880] we just we're going to have to wait for more powerful hardware to you know to be available to us [21:24.120 --> 21:28.680] we've also thought about providing bootable images so far we do not have official bootable images [21:28.680 --> 21:33.640] we just have this minimal set of like stage three which you use to install your [21:35.480 --> 21:38.920] your distribution but if you need or if you would like to have some if you're using gen [21:38.920 --> 21:43.960] two and risk five if you want to have something like this done you can you know feel free to let [21:43.960 --> 21:49.240] us know or just your comments and thoughts what you want to have what you would like to have [21:49.240 --> 21:54.520] implemented and we'll try to do it risk 532 support so it's [21:58.360 --> 22:04.520] well risk 532 not really across linux distributions not really supported maybe debian has something but [22:05.240 --> 22:13.720] maybe more mostly usable for right now for booting in qamu but actually it took it took a bit of a [22:13.720 --> 22:20.440] time to for upstream two components to gain support for risk five so for example glibc [22:20.440 --> 22:28.520] gained support for 32b risk five in around 2021 but I believe nowadays distributions are you know [22:28.520 --> 22:34.440] busy with other problems and probably adding support for risk five and the distribution [22:34.440 --> 22:42.120] is not on their high priority and speaking of 32 bit systems there's an interesting topic [22:43.160 --> 22:51.720] theme going around now it's the infamous year 2038 problem in across 32 bit systems so there's [22:51.720 --> 22:56.520] going to be there's going to be actually talk about this today at distributions their room [22:57.080 --> 23:04.040] to 3 p.m. so anybody who's interested yet you can come and check out I think one developer from [23:04.040 --> 23:09.720] debian is going to present it's supposed to be like a discussion session between distribution [23:09.720 --> 23:15.720] developers to see how this is yeah how this should be so our team in gen 2 has been toolchain team [23:15.720 --> 23:22.840] has been working hard to you know to develop the best solution for this so yeah we'll see [23:22.840 --> 23:28.680] we'll see what other distributions have and how we can how we can maybe work together to to fix this [23:29.560 --> 23:32.040] painlessly let's say or in the least painful way [23:36.200 --> 23:41.240] what are the supported platforms or what where can you run gen 2 if you're using risk five so [23:42.360 --> 23:50.440] I've mentioned just few boards here probably the most you most mostly familiar with sci-fi [23:50.440 --> 23:57.480] boards sci-fi line matches maybe the most commonly used so far but I believe both of these sci-fi [23:57.480 --> 24:01.800] boards have been discontinued but from what I've read a couple of weeks ago they announced [24:02.920 --> 24:06.120] they announced a new board which should be should be released this summer so yeah [24:08.280 --> 24:11.000] we're going to be excited to try gen 2 on that board when it comes out [24:11.240 --> 24:22.600] what do you think is the future are there any new asics coming up that are more [24:22.600 --> 24:29.240] performant and on par with say yeah well yeah I've heard that there there have been some [24:29.240 --> 24:36.280] companies in China that are developing for more like a server grade equipment so I believe there's [24:36.280 --> 24:40.360] also a risk five laptop that's supposed to come sometime maybe this year but [24:43.480 --> 24:46.840] yeah we'll see I mean I have hopes that we're going to have a powerful hardware yeah it's just [24:46.840 --> 24:51.000] matter of time I think at this point but maybe the problem will be when it comes out probably [24:51.000 --> 24:56.360] is going to be a bit pricier so I've read some information a lot like about these laptops is [24:56.360 --> 25:02.200] going to be priced around $1500 or something so maybe not the most accessible for you know your [25:03.080 --> 25:07.960] regular Linux users but I believe yeah as the market develops we should have [25:10.200 --> 25:15.880] we should have these boards priced more reasonably or more accessible to broader audience [25:19.160 --> 25:25.960] so now we talked about supporting gen 2 we can we can see what other distributions [25:26.200 --> 25:34.440] have done in the past few years so Debian right now offers a yeah offers a full support for risk [25:34.440 --> 25:45.160] fire architecture really really good fascinating fascinating thing is that Debian actually supports [25:45.160 --> 25:50.920] yeah 95 almost 100% of packages are you're able to to install on risk five using Debian [25:51.480 --> 25:58.760] so as most other distributions they are targeting rv64 gc instruction set [26:00.440 --> 26:05.480] I believe they offer few images bootable images for some of the boards I mentioned here [26:07.080 --> 26:14.360] there was also a very good talk four years ago at Fosdam by Karsten Merker he his topic [26:14.360 --> 26:19.720] was named porting Debian to risk five and it's really a great great talk which tells the story [26:19.720 --> 26:26.680] about how what it actually takes to port one distribution or to add support for one architecture [26:26.680 --> 26:33.800] across you know Linux different toolchain components gcc glibc and so on and then ported to actual [26:33.800 --> 26:39.560] architecture so anybody who wants to know more I highly recommend you to check out check out his talk [26:42.760 --> 26:48.280] Fedora is also another another distribution that has extensive support for risk five so there have [26:48.280 --> 26:55.960] been numerous they had numerous bootstrap bootstrap phases I believe last one was in 2018 so [26:55.960 --> 27:04.520] they they officially support since 2018 they got a built a build a build a build [27:09.800 --> 27:13.560] they have a build system designed to you know produce images for risk five they [27:13.560 --> 27:19.320] they offer previewed images for virtual for booting in QEMU QEMU and then for your [27:20.280 --> 27:29.880] for physical targets there was also a talk in 2019 by David Abdu Rahmanov titled Fedora on risk five [27:29.880 --> 27:37.160] so yeah spoke about more in more details about how Fedora was bootstrapped how what it's doing [27:37.160 --> 27:45.560] right now to for support for supporting risk five well free bsd not actually Linux but it's still [27:47.000 --> 27:52.200] still good to mention because they well from what I've read there actually they released their first [27:53.800 --> 27:57.560] had their first let's say working port in January 2016 which is probably the first [27:59.560 --> 28:05.960] the first operating system that had you know bootable support for for risk five nowadays they offer [28:07.160 --> 28:11.560] they offer support for risk five as a two two architecturally support many either [28:12.600 --> 28:15.080] virtual targets or physical physical devices [28:19.640 --> 28:26.840] yeah open susan Ubuntu another another two distros which offer support for for risk five so see we [28:26.840 --> 28:31.240] have you know if you want to use Linux on risk five you really have a lot of choice [28:31.240 --> 28:37.560] depending on what what you want to do if you want to use ubuntu debby and gentoo fedora or something else [28:41.080 --> 28:46.600] desktop environments so I've just basically dumped a list of desktop environments that are [28:46.600 --> 28:52.280] all available on risk five by the way all of these are available on gentoo as well and you can also [28:52.280 --> 28:59.800] use them on risk five so whether you want whether it's GNOME KDE X FCE enlightenment whatever it's [28:59.880 --> 29:11.800] there for you to use some images of gentoo in action so yeah this is a gentoo system running [29:13.080 --> 29:20.600] with KDE desktop environment now we got also with oh this is GNOME yeah from what I see in picture [29:20.600 --> 29:23.320] GNOME enlightenment [29:26.920 --> 29:30.120] now speaking about other other mainstream applications [29:31.640 --> 29:37.000] well in the recent few years there has been really you know big progress in terms of porting these [29:38.040 --> 29:43.640] let's say widely used applications for risk five so I've just mentioned a few of these here firefox [29:43.640 --> 29:50.920] open gdk and so on LibreOffice was also also got support for risk five I believe a couple of months [29:50.920 --> 29:59.480] ago speaking of gentoo we I believe open gdk no js yes we do have with risk five support LibreOffice [29:59.480 --> 30:04.840] not yet because we are I believe there's gonna be we're waiting for next release when next release [30:04.840 --> 30:09.080] happens we're gonna we're gonna package including with the risk five support [30:09.800 --> 30:18.120] um so some projects that are still you know that are yet to be ported was actually quite difficult [30:18.120 --> 30:22.760] to find I was looking for some software that's still you know ongoing or you know work in progress [30:22.760 --> 30:26.760] it was difficult to find some because most of the stuff has already been ported but there are some [30:27.800 --> 30:34.200] some interesting projects left so like luajit, valgrind or mono I'm interestingly luajit and [30:34.200 --> 30:42.680] valgrind I believe they've also been covered and forced them maybe 2020 or 2019 so and their port [30:42.680 --> 30:50.600] is still ongoing so yeah sometimes it takes even a couple of years to to to port some some project [30:50.600 --> 30:56.840] to risk five so it's really a great success how risk five has been able to grow you know from [30:56.840 --> 31:00.920] in just a few years to to achieve the level of support that we have nowadays [31:04.840 --> 31:10.760] so that will be pretty much what I wanted to tell you I hope I've got you interested maybe in [31:11.800 --> 31:16.200] trying out gentle on risk five if you got any questions any suggestions that [31:19.480 --> 31:23.560] biggest challenges well biggest challenge is probably would be this working with these [31:24.680 --> 31:29.320] this multi-lib concept which we tried to which we tried to support for some time then we just [31:30.040 --> 31:36.440] as I explained didn't really work so we had to just drop this and focus on just supporting [31:37.800 --> 31:43.000] rv64 gc yeah this single avi which is what other distributions are also doing so we decided to do [31:43.000 --> 31:52.200] the same yeah what are your experiences with supporting GPUs on risk five some of them I believe [31:52.280 --> 31:59.640] have PCI express like the star 64 that the one 64 demo did you get any 3d acceleration to work [31:59.640 --> 32:05.080] in combination with the risk with any risk five platform already well I'm not sure I haven't tried [32:05.080 --> 32:11.240] actually don't have a physical device with PCI or with the graphics card at home so I [32:12.600 --> 32:18.200] yeah I haven't tried myself but yeah if you want I can let you know yeah give me a content [32:18.680 --> 32:20.200] yeah I have [32:36.200 --> 32:39.800] what doesn't work is anything there the navy so they've gone to you [32:48.200 --> 32:50.200] write that patch [32:52.440 --> 32:58.280] mode okay I think someone hacked it it's important for both the video on the reddit or youtube [32:59.800 --> 33:04.760] but I don't think there is the missing patch on the kernel main limit and what [33:04.760 --> 33:10.600] so she's uh are those that work with it or is it just one so she that works or is it multiple [33:11.000 --> 33:13.000] I don't know [33:19.880 --> 33:23.000] yeah that was the question in the back [33:41.240 --> 33:43.000] yeah okay [33:47.240 --> 33:51.080] there are some of these really there yeah why do you think it's worth [33:51.080 --> 33:57.560] supporting I am seeing because it doesn't it doesn't necessarily support memory protections so it's [33:58.280 --> 34:06.520] essentially I'm completely on top of the charge which one I am risk 5 64 I am seeing [34:06.840 --> 34:09.480] mostly I believe we mostly targeted to support this for [34:11.480 --> 34:16.200] mostly for you know experimentation like booting in a virtual machine but now we [34:17.560 --> 34:19.720] focus more on focus more on GC [34:36.840 --> 34:44.040] um yeah I've mentioned I've left some notes here like there's a there's our project page [34:45.800 --> 34:52.520] and gen 2 wiki pages you also have a my email or risk 5 project email so if you need anything [34:52.520 --> 34:57.080] you can just let us know if you want something something done you need a package or whatever [34:57.640 --> 35:00.360] do you need help do you have a call for action [35:01.000 --> 35:06.520] uh well yeah we always need we always need help to you know fight with various and not [35:06.520 --> 35:10.280] not only the risk 5 but in general to fight with various build issues you know patching [35:10.280 --> 35:15.080] upstreaming upstreaming patches writing documentation yeah I mentioned some stuff like [35:16.520 --> 35:22.200] bootable images so yeah we also we're always welcome to you know help if anybody's interested [35:22.200 --> 35:27.240] in contributing to either risk 5 or in general gen 2 you can just let us know and we'll be able [35:27.880 --> 35:34.120] do our best to you know help you to try to you know experience what it is to be able to contribute [35:35.640 --> 35:37.640] actively to [35:45.640 --> 35:47.640] ah yeah that one as well [35:57.240 --> 35:59.240] hangs [36:08.760 --> 36:13.640] you know we did recently found another futex issue in rb32 [36:15.800 --> 36:21.240] it may it may it may be connected to the bottom of it soon so 72 is still broken so yeah it's [36:21.240 --> 36:24.760] still everything's still rugged right now just don't know how to fix it [36:28.200 --> 36:31.240] yeah help is always welcome on all fronts yeah [36:33.480 --> 36:38.120] anybody in the room actually I know there is in the arm space there are two projects I forgot [36:38.120 --> 36:44.520] the name that are really working on optimized x86 emulation which is achieved quite impressive [36:44.520 --> 36:50.840] as results you can actually play some recent games on 64 arm and those project don't seem to [36:51.480 --> 36:56.840] show any interest in reporting this to risk 5 because a lot of would have to be done at a low [36:56.840 --> 37:02.600] level I was wondering is there any similar project ongoing right now to have like a high [37:02.600 --> 37:09.160] performance x68 x86 emulation on top of risk 5 going on because as we actually migrate to the [37:09.160 --> 37:14.920] architecture might be that would be a compelling I think maybe that has to wait when we have high [37:14.920 --> 37:21.720] performance risk 5 processes yeah we want to start early right yeah there is a higher dependency [37:22.360 --> 37:29.480] because the memory model in risk 5 is weaker in order to emulate x86 we need this PSO extension [37:32.040 --> 37:34.760] it's the same thing that apple implemented in their work right [37:39.720 --> 37:42.040] for risk 5 we're emulating x86 we need this [37:42.360 --> 37:48.360] well then I believe that that is working on that we have this extension [37:49.080 --> 37:54.920] so once we have the hardware that is capable of emulating the memory model of x86 I guess it [37:54.920 --> 38:02.280] will start out a little bit easier and do you know if that will be an official extension or just [38:02.280 --> 38:04.280] appropriate [38:13.880 --> 38:14.280] thank you [38:17.800 --> 38:19.320] I believe we have maybe one more minute [38:21.240 --> 38:21.720] thank you [38:32.280 --> 38:33.660] you