Abuse filter log

From Gentoo Wiki
Abuse Filter navigation (Home | Recent filter changes | Examine past edits | Abuse log)
Jump to:navigation Jump to:search
Details for log entry 4,022

17:45, 17 April 2022: Dilfridge (talk | contribs) triggered filter 13, performing the action "edit" on Project:LoongArch. Actions taken: Tag; Filter description: New Project Member (examine | diff)

Changes made in edit

 
|Members={{Project Member
 
|Members={{Project Member
 
|Developer=User:Xen0n
 
|Developer=User:Xen0n
 +
|IsLead=No
 +
}}{{Project Member
 +
|Developer=User:Dilfridge
 
|IsLead=No
 
|IsLead=No
 
}}
 
}}

Action parameters

VariableValue
Edit count of the user (user_editcount)
945
Name of the user account (user_name)
'Dilfridge'
Age of the user account (user_age)
331932372
Page ID (page_id)
309162
Page namespace (page_namespace)
510
Page title (without namespace) (page_title)
'LoongArch'
Full page title (page_prefixedtitle)
'Project:LoongArch'
Action (action)
'edit'
Edit summary/reason (summary)
'add myself'
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
'{{Project |Name=LoongArch Development |Description=The LoongArch Development Project is devoted to keeping Gentoo in good shape on the LoongArch architecture. |Packages=No |ParentProject=Project:Gentoo |PropagatesMembers=No |Members={{Project Member |Developer=User:Xen0n |IsLead=No }} }} [[Article description::The LoongArch Development Project is an effort to bring first-class support for the LoongArch CPU architecture to Gentoo. Because this is such a new platform with many fundamental pieces of software still under development, we also strive to make Gentoo/LoongArch the ideal testing ground for the wider community, so as to minimize the risk of overlooked mistakes going upstream.]] == Basic facts == * We are <code>ARCH=loong</code>. We don't use stable keywords for the moment. * Target triple is ''loongarch64-unknown-linux-gnu''. (Official spec says the LP64D ABI is ''loongarch64-unknown-linux-gnuf64'', at least for Debian, unsure if we should follow suit.) * All LoongArch systems are little-endian. * LoongArch is not binary compatible with either MIPS or RISC-V, although the ISA and ABI show heavy influence of the two. * There are six ABIs defined for LoongArch, much like those of RISC-V. But for Gentoo, we intend to focus on LP64D only first. Multilib support will come later if truly necessary. === Binary compatibility with other distros === Gentoo/LoongArch belongs to the '''new world''', just like any other properly open-sourced community distribution for LoongArch. This does mean that all commercial/closed-source offerings for LoongArch are unusable on Gentoo, such as Kingsoft Office (WPS Office) or LATX (Loongson Architecture Translator for X86; the Loongson binary translation solution allegedly based on QEMU and Wine but not open-source, supporting a subset of Windows applications and games), which are all compiled on, and for commercial distributions like Loongnix (pseudo-open-source), Kylin and UOS. {{Note|You can read more about the ''new-world'' vs. ''old-world'' situation in [https://blog.xen0n.name/en/posts/tinkering/loongarch-faq/ the unofficial FAQ], but it basically means any binary built on open-source distros are unusable on commercial distros, and vice versa.}} == Status == Everything mostly works except the GUI (no upstream LLVM support = no AMDGPU support = no discrete graphics; support for the LS7A integrated graphics is not upstream), LiveCD used to work but is reported to have initrd problems. Stage tarballs are currently built on a semi-regular basis by [[User:Xen0n|xen0n]], and available on several Chinese mirrors: * [https://mirrors.aliyun.com/loongson/gentoo/experimental/loong/] hosted by Aliyun (Alibaba Cloud) * [https://mirrors.cloud.tencent.com/loongson/gentoo/experimental/loong/] hosted by Tencent Cloud * [https://mirrors.tuna.tsinghua.edu.cn/loongson/gentoo/experimental/loong/] hosted by Tsinghua University The development work used to happen at [https://github.com/xen0n/loongson-overlay loongson-overlay] for things not currently upstreamable; we're going to focus on nailing down and upstreaming the profile bits first. === State of important packages === Because the architecture is still in its infancy, LoongArch support for many essential packages is still missing from upstream, aggravated by the fact that Loongson has not much experience in developing and upstreaming a brand-new architecture like this (and limited English communication abilities). Hence, the [https://github.com/xen0n/loongson-overlay loongson-overlay] (''::loongson'') must be configured for every installation for now. {| class="table table-striped table-condensed" |- ! Package !! Known-good version !! Reason |- | {{Package|sys-kernel/linux-headers}} || <code>5.17_rc2_p20220124::loongson</code> || Linux port not upstreamed; pending update. |- | {{Package|sys-devel/binutils}} || <code>2.38-r101::loongson</code> || Some patches necessary for spec compliance but ABI-breaking is not upstream yet. |- | {{Package|sys-devel/gcc}} || <code>12.0.0_pre9999::gentoo</code> || Already upstream; suitable for consumption. |- | {{Package|sys-libs/glibc}} || <code>9999::loongson</code> || [https://sourceware.org/pipermail/libc-alpha/2022-April/137888.html Still pending review]; this is 2.36 so the live ebuild has to be used. |- | {{Package|sys-apps/portage}} || <code>3.0.30-r2::loongson</code> || Adds [https://github.com/gentoo/portage/pull/740 LoongArch ABI support]. |} == How to run this? == === Trying out the stages === It's of course best to have actual LoongArch hardware to play with; any model will do, as currently there is only one hardware implementation of LoongArch that is the 3A5000. There are many form factors available, from smaller MATX boards to 2U servers, but it can be hard to purchase outside of China. Fortunately, there is working QEMU support for linux-user emulation, provided by [https://github.com/xen0n/loongson-overlay/tree/master/app-emulation/qemu the app-emulation/qemu package in ''::loongson'']. Just enable the ''loongarch64'' target: {{FileBox|filename=/etc/portage/package.use|1= # System emulation is present, but buggy, so not shown here (would be "loongarch64" too) app-emulation/qemu QEMU_USER_TARGETS: loongarch64 }} ''binfmt_misc'' configuration for both OpenRC and systemd should be automatically generated and installed. Afterwards just chroot like with any other Gentoo installation. System emulation support for LoongArch is present in this forked qemu version, but is too buggy to be usable. The package will be updated in ''::loongson'' once the situation improves. {{Note|[https://github.com/loongson/qemu/tree/tcg-dev The Loongson fork of qemu] is even more unusable. As of 04/17/2022, the linux-user support was temporarily removed due to it being not mergeable before upstream acceptance of the Linux port; and system emulation was heavily stripped down, to the point that only ''make check-tcg'' tests would work.}} === Cross-compiling for LoongArch === {{Package|sys-devel/crossdev}} can be used to conveniently make LoongArch cross toolchains, once you have set up the ''::loongson'' overlay. {{Cmd|sudo crossdev -t loongarch64-unknown-linux-gnu}} You may optionally pin the versions for the various components to your liking, or if you see failures. == External resources == {{Note|Beware that for most of the resources, the Chinese version is the original, and there can be all sorts of translation errors, especially in those provided by Loongson. You can ask on IRC or consult one of your Chinese developer friends when in doubt.}} * [https://blog.xen0n.name/en/posts/tinkering/loongarch-faq/ The unofficial yet comprehensive FAQ for LoongArch] by [[User:Xen0n|xen0n]] * [https://github.com/loongson-community/docs Unofficial collection of various Loongson docs] by the community (not all of them are LoongArch-related) * [https://github.com/loongson/LoongArch-Documentation The official LoongArch documentation] by Loongson'
New page wikitext, after the edit (new_wikitext)
'{{Project |Name=LoongArch Development |Description=The LoongArch Development Project is devoted to keeping Gentoo in good shape on the LoongArch architecture. |Packages=No |ParentProject=Project:Gentoo |PropagatesMembers=No |Members={{Project Member |Developer=User:Xen0n |IsLead=No }}{{Project Member |Developer=User:Dilfridge |IsLead=No }} }} [[Article description::The LoongArch Development Project is an effort to bring first-class support for the LoongArch CPU architecture to Gentoo. Because this is such a new platform with many fundamental pieces of software still under development, we also strive to make Gentoo/LoongArch the ideal testing ground for the wider community, so as to minimize the risk of overlooked mistakes going upstream.]] == Basic facts == * We are <code>ARCH=loong</code>. We don't use stable keywords for the moment. * Target triple is ''loongarch64-unknown-linux-gnu''. (Official spec says the LP64D ABI is ''loongarch64-unknown-linux-gnuf64'', at least for Debian, unsure if we should follow suit.) * All LoongArch systems are little-endian. * LoongArch is not binary compatible with either MIPS or RISC-V, although the ISA and ABI show heavy influence of the two. * There are six ABIs defined for LoongArch, much like those of RISC-V. But for Gentoo, we intend to focus on LP64D only first. Multilib support will come later if truly necessary. === Binary compatibility with other distros === Gentoo/LoongArch belongs to the '''new world''', just like any other properly open-sourced community distribution for LoongArch. This does mean that all commercial/closed-source offerings for LoongArch are unusable on Gentoo, such as Kingsoft Office (WPS Office) or LATX (Loongson Architecture Translator for X86; the Loongson binary translation solution allegedly based on QEMU and Wine but not open-source, supporting a subset of Windows applications and games), which are all compiled on, and for commercial distributions like Loongnix (pseudo-open-source), Kylin and UOS. {{Note|You can read more about the ''new-world'' vs. ''old-world'' situation in [https://blog.xen0n.name/en/posts/tinkering/loongarch-faq/ the unofficial FAQ], but it basically means any binary built on open-source distros are unusable on commercial distros, and vice versa.}} == Status == Everything mostly works except the GUI (no upstream LLVM support = no AMDGPU support = no discrete graphics; support for the LS7A integrated graphics is not upstream), LiveCD used to work but is reported to have initrd problems. Stage tarballs are currently built on a semi-regular basis by [[User:Xen0n|xen0n]], and available on several Chinese mirrors: * [https://mirrors.aliyun.com/loongson/gentoo/experimental/loong/] hosted by Aliyun (Alibaba Cloud) * [https://mirrors.cloud.tencent.com/loongson/gentoo/experimental/loong/] hosted by Tencent Cloud * [https://mirrors.tuna.tsinghua.edu.cn/loongson/gentoo/experimental/loong/] hosted by Tsinghua University The development work used to happen at [https://github.com/xen0n/loongson-overlay loongson-overlay] for things not currently upstreamable; we're going to focus on nailing down and upstreaming the profile bits first. === State of important packages === Because the architecture is still in its infancy, LoongArch support for many essential packages is still missing from upstream, aggravated by the fact that Loongson has not much experience in developing and upstreaming a brand-new architecture like this (and limited English communication abilities). Hence, the [https://github.com/xen0n/loongson-overlay loongson-overlay] (''::loongson'') must be configured for every installation for now. {| class="table table-striped table-condensed" |- ! Package !! Known-good version !! Reason |- | {{Package|sys-kernel/linux-headers}} || <code>5.17_rc2_p20220124::loongson</code> || Linux port not upstreamed; pending update. |- | {{Package|sys-devel/binutils}} || <code>2.38-r101::loongson</code> || Some patches necessary for spec compliance but ABI-breaking is not upstream yet. |- | {{Package|sys-devel/gcc}} || <code>12.0.0_pre9999::gentoo</code> || Already upstream; suitable for consumption. |- | {{Package|sys-libs/glibc}} || <code>9999::loongson</code> || [https://sourceware.org/pipermail/libc-alpha/2022-April/137888.html Still pending review]; this is 2.36 so the live ebuild has to be used. |- | {{Package|sys-apps/portage}} || <code>3.0.30-r2::loongson</code> || Adds [https://github.com/gentoo/portage/pull/740 LoongArch ABI support]. |} == How to run this? == === Trying out the stages === It's of course best to have actual LoongArch hardware to play with; any model will do, as currently there is only one hardware implementation of LoongArch that is the 3A5000. There are many form factors available, from smaller MATX boards to 2U servers, but it can be hard to purchase outside of China. Fortunately, there is working QEMU support for linux-user emulation, provided by [https://github.com/xen0n/loongson-overlay/tree/master/app-emulation/qemu the app-emulation/qemu package in ''::loongson'']. Just enable the ''loongarch64'' target: {{FileBox|filename=/etc/portage/package.use|1= # System emulation is present, but buggy, so not shown here (would be "loongarch64" too) app-emulation/qemu QEMU_USER_TARGETS: loongarch64 }} ''binfmt_misc'' configuration for both OpenRC and systemd should be automatically generated and installed. Afterwards just chroot like with any other Gentoo installation. System emulation support for LoongArch is present in this forked qemu version, but is too buggy to be usable. The package will be updated in ''::loongson'' once the situation improves. {{Note|[https://github.com/loongson/qemu/tree/tcg-dev The Loongson fork of qemu] is even more unusable. As of 04/17/2022, the linux-user support was temporarily removed due to it being not mergeable before upstream acceptance of the Linux port; and system emulation was heavily stripped down, to the point that only ''make check-tcg'' tests would work.}} === Cross-compiling for LoongArch === {{Package|sys-devel/crossdev}} can be used to conveniently make LoongArch cross toolchains, once you have set up the ''::loongson'' overlay. {{Cmd|sudo crossdev -t loongarch64-unknown-linux-gnu}} You may optionally pin the versions for the various components to your liking, or if you see failures. == External resources == {{Note|Beware that for most of the resources, the Chinese version is the original, and there can be all sorts of translation errors, especially in those provided by Loongson. You can ask on IRC or consult one of your Chinese developer friends when in doubt.}} * [https://blog.xen0n.name/en/posts/tinkering/loongarch-faq/ The unofficial yet comprehensive FAQ for LoongArch] by [[User:Xen0n|xen0n]] * [https://github.com/loongson-community/docs Unofficial collection of various Loongson docs] by the community (not all of them are LoongArch-related) * [https://github.com/loongson/LoongArch-Documentation The official LoongArch documentation] by Loongson'
Unified diff of changes made by edit (edit_diff)
'@@ -7,4 +7,7 @@ |Members={{Project Member |Developer=User:Xen0n +|IsLead=No +}}{{Project Member +|Developer=User:Dilfridge |IsLead=No }} '
Old page size (old_size)
6985
Lines added in edit (added_lines)
[ 0 => '|IsLead=No', 1 => '}}{{Project Member', 2 => '|Developer=User:Dilfridge' ]
Lines removed in edit (removed_lines)
[]
New page text, stripped of any markup (new_text)
' LoongArch Development Description The LoongArch Development Project is devoted to keeping Gentoo in good shape on the LoongArch architecture. Project email Lead(s) none No lead election date set Member(s) WANG Xuerui (xen0n) Subproject(s)(and inherited member(s)) (none) Parent Project Gentoo Project listing The LoongArch Development Project is an effort to bring first-class support for the LoongArch CPU architecture to Gentoo. Because this is such a new platform with many fundamental pieces of software still under development, we also strive to make Gentoo/LoongArch the ideal testing ground for the wider community, so as to minimize the risk of overlooked mistakes going upstream. Contents 1 Basic facts 1.1 Binary compatibility with other distros 2 Status 2.1 State of important packages 3 How to run this? 3.1 Trying out the stages 3.2 Cross-compiling for LoongArch 4 External resources Basic facts[edit | edit source] We are ARCH=loong. We don't use stable keywords for the moment. Target triple is loongarch64-unknown-linux-gnu. (Official spec says the LP64D ABI is loongarch64-unknown-linux-gnuf64, at least for Debian, unsure if we should follow suit.) All LoongArch systems are little-endian. LoongArch is not binary compatible with either MIPS or RISC-V, although the ISA and ABI show heavy influence of the two. There are six ABIs defined for LoongArch, much like those of RISC-V. But for Gentoo, we intend to focus on LP64D only first. Multilib support will come later if truly necessary. Binary compatibility with other distros[edit | edit source] Gentoo/LoongArch belongs to the new world, just like any other properly open-sourced community distribution for LoongArch. This does mean that all commercial/closed-source offerings for LoongArch are unusable on Gentoo, such as Kingsoft Office (WPS Office) or LATX (Loongson Architecture Translator for X86; the Loongson binary translation solution allegedly based on QEMU and Wine but not open-source, supporting a subset of Windows applications and games), which are all compiled on, and for commercial distributions like Loongnix (pseudo-open-source), Kylin and UOS. NoteYou can read more about the new-world vs. old-world situation in the unofficial FAQ, but it basically means any binary built on open-source distros are unusable on commercial distros, and vice versa. Status[edit | edit source] Everything mostly works except the GUI (no upstream LLVM support = no AMDGPU support = no discrete graphics; support for the LS7A integrated graphics is not upstream), LiveCD used to work but is reported to have initrd problems. Stage tarballs are currently built on a semi-regular basis by xen0n, and available on several Chinese mirrors: [1] hosted by Aliyun (Alibaba Cloud) [2] hosted by Tencent Cloud [3] hosted by Tsinghua University The development work used to happen at loongson-overlay for things not currently upstreamable; we're going to focus on nailing down and upstreaming the profile bits first. State of important packages[edit | edit source] Because the architecture is still in its infancy, LoongArch support for many essential packages is still missing from upstream, aggravated by the fact that Loongson has not much experience in developing and upstreaming a brand-new architecture like this (and limited English communication abilities). Hence, the loongson-overlay (::loongson) must be configured for every installation for now. Package Known-good version Reason sys-kernel/linux-headers 5.17_rc2_p20220124::loongson Linux port not upstreamed; pending update. sys-devel/binutils 2.38-r101::loongson Some patches necessary for spec compliance but ABI-breaking is not upstream yet. sys-devel/gcc 12.0.0_pre9999::gentoo Already upstream; suitable for consumption. sys-libs/glibc 9999::loongson Still pending review; this is 2.36 so the live ebuild has to be used. sys-apps/portage 3.0.30-r2::loongson Adds LoongArch ABI support. How to run this?[edit | edit source] Trying out the stages[edit | edit source] It's of course best to have actual LoongArch hardware to play with; any model will do, as currently there is only one hardware implementation of LoongArch that is the 3A5000. There are many form factors available, from smaller MATX boards to 2U servers, but it can be hard to purchase outside of China. Fortunately, there is working QEMU support for linux-user emulation, provided by the app-emulation/qemu package in ::loongson. Just enable the loongarch64 target: FILE /etc/portage/package.use# System emulation is present, but buggy, so not shown here (would be "loongarch64" too) app-emulation/qemu QEMU_USER_TARGETS: loongarch64 binfmt_misc configuration for both OpenRC and systemd should be automatically generated and installed. Afterwards just chroot like with any other Gentoo installation. System emulation support for LoongArch is present in this forked qemu version, but is too buggy to be usable. The package will be updated in ::loongson once the situation improves. NoteThe Loongson fork of qemu is even more unusable. As of 04/17/2022, the linux-user support was temporarily removed due to it being not mergeable before upstream acceptance of the Linux port; and system emulation was heavily stripped down, to the point that only make check-tcg tests would work. Cross-compiling for LoongArch[edit | edit source] sys-devel/crossdev can be used to conveniently make LoongArch cross toolchains, once you have set up the ::loongson overlay. user $sudo crossdev -t loongarch64-unknown-linux-gnu You may optionally pin the versions for the various components to your liking, or if you see failures. External resources[edit | edit source] NoteBeware that for most of the resources, the Chinese version is the original, and there can be all sorts of translation errors, especially in those provided by Loongson. You can ask on IRC or consult one of your Chinese developer friends when in doubt. The unofficial yet comprehensive FAQ for LoongArch by xen0n Unofficial collection of various Loongson docs by the community (not all of them are LoongArch-related) The official LoongArch documentation by Loongson'
Parsed HTML source of the new revision (new_html)
'<div class="mw-parser-output"><table class="table table-condensed" style="width: 30em; font-size: 95%; border: 1px solid #ddd; background-color: #f9f9f9; color: black; margin-bottom: 0.5em; margin-left: 1em; padding: 0.2em; float: right; clear: right; text-align:left;"> <tbody><tr> <th style="text-align: center; background-color:#3E355A; color: white;" colspan="2"><big>LoongArch Development</big> </th></tr> <tr valign="top"> <th>Description </th> <td style="text-align: justify;">The LoongArch Development Project is devoted to keeping Gentoo in good shape on the LoongArch architecture. </td></tr> <tr> <th><span title="Mails to member(s) listed below.">Project email</span> </th> <td> </td></tr> <tr valign="top"> <th>Lead(s) </th> <td>none <br />No lead election date set </td></tr> <tr valign="top"> <th>Member(s) </th> <td><ul><li><a href="/wiki/User:Xen0n" title="User:Xen0n">WANG Xuerui</a> (xen0n)</li></ul> </td></tr> <tr valign="top"> <th>Subproject(s)<br /><small style="font-weight: normal;">(and inherited member(s))</small> </th> <td>(none) </td></tr> <tr> <th>Parent Project </th> <td><a href="/wiki/Project:Gentoo" title="Project:Gentoo">Gentoo</a> </td></tr> <tr> <td colspan="2" style="border-top: 1px solid #ddd; font-size: smaller; text-align: center;"><a href="/wiki/Project:Gentoo" title="Project:Gentoo">Project listing</a> </td></tr></tbody></table> <p>The LoongArch Development Project is an effort to bring first-class support for the LoongArch CPU architecture to Gentoo. Because this is such a new platform with many fundamental pieces of software still under development, we also strive to make Gentoo/LoongArch the ideal testing ground for the wider community, so as to minimize the risk of overlooked mistakes going upstream. </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#Basic_facts"><span class="tocnumber">1</span> <span class="toctext">Basic facts</span></a> <ul> <li class="toclevel-2 tocsection-2"><a href="#Binary_compatibility_with_other_distros"><span class="tocnumber">1.1</span> <span class="toctext">Binary compatibility with other distros</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-3"><a href="#Status"><span class="tocnumber">2</span> <span class="toctext">Status</span></a> <ul> <li class="toclevel-2 tocsection-4"><a href="#State_of_important_packages"><span class="tocnumber">2.1</span> <span class="toctext">State of important packages</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-5"><a href="#How_to_run_this.3F"><span class="tocnumber">3</span> <span class="toctext">How to run this?</span></a> <ul> <li class="toclevel-2 tocsection-6"><a href="#Trying_out_the_stages"><span class="tocnumber">3.1</span> <span class="toctext">Trying out the stages</span></a></li> <li class="toclevel-2 tocsection-7"><a href="#Cross-compiling_for_LoongArch"><span class="tocnumber">3.2</span> <span class="toctext">Cross-compiling for LoongArch</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-8"><a href="#External_resources"><span class="tocnumber">4</span> <span class="toctext">External resources</span></a></li> </ul> </div> <h2><span class="mw-headline" id="Basic_facts">Basic facts</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:LoongArch&amp;veaction=edit&amp;section=1" class="mw-editsection-visualeditor" title="Edit section: Basic facts">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:LoongArch&amp;action=edit&amp;section=1" title="Edit section: Basic facts">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <ul><li>We are <code>ARCH=loong</code>. We don't use stable keywords for the moment.</li> <li>Target triple is <i>loongarch64-unknown-linux-gnu</i>. (Official spec says the LP64D ABI is <i>loongarch64-unknown-linux-gnuf64</i>, at least for Debian, unsure if we should follow suit.)</li> <li>All LoongArch systems are little-endian.</li> <li>LoongArch is not binary compatible with either MIPS or RISC-V, although the ISA and ABI show heavy influence of the two.</li> <li>There are six ABIs defined for LoongArch, much like those of RISC-V. But for Gentoo, we intend to focus on LP64D only first. Multilib support will come later if truly necessary.</li></ul> <h3><span class="mw-headline" id="Binary_compatibility_with_other_distros">Binary compatibility with other distros</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:LoongArch&amp;veaction=edit&amp;section=2" class="mw-editsection-visualeditor" title="Edit section: Binary compatibility with other distros">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:LoongArch&amp;action=edit&amp;section=2" title="Edit section: Binary compatibility with other distros">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>Gentoo/LoongArch belongs to the <b>new world</b>, just like any other properly open-sourced community distribution for LoongArch. </p><p>This does mean that all commercial/closed-source offerings for LoongArch are unusable on Gentoo, such as Kingsoft Office (WPS Office) or LATX (Loongson Architecture Translator for X86; the Loongson binary translation solution allegedly based on QEMU and Wine but not open-source, supporting a subset of Windows applications and games), which are all compiled on, and for commercial distributions like Loongnix (pseudo-open-source), Kylin and UOS. </p> <div class="alert alert-info gw-box" style="padding-top: 8px; padding-bottom: 8px;"><strong><i class="fa fa-sticky-note-o fa-rotate-180"></i> Note</strong><br />You can read more about the <i>new-world</i> vs. <i>old-world</i> situation in <a rel="nofollow" class="external text" href="https://blog.xen0n.name/en/posts/tinkering/loongarch-faq/">the unofficial FAQ</a>, but it basically means any binary built on open-source distros are unusable on commercial distros, and vice versa.</div> <h2><span class="mw-headline" id="Status">Status</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:LoongArch&amp;veaction=edit&amp;section=3" class="mw-editsection-visualeditor" title="Edit section: Status">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:LoongArch&amp;action=edit&amp;section=3" title="Edit section: Status">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Everything mostly works except the GUI (no upstream LLVM support = no AMDGPU support = no discrete graphics; support for the LS7A integrated graphics is not upstream), LiveCD used to work but is reported to have initrd problems. </p><p>Stage tarballs are currently built on a semi-regular basis by <a href="/wiki/User:Xen0n" title="User:Xen0n">xen0n</a>, and available on several Chinese mirrors: </p> <ul><li><a rel="nofollow" class="external autonumber" href="https://mirrors.aliyun.com/loongson/gentoo/experimental/loong/">[1]</a> hosted by Aliyun (Alibaba Cloud)</li> <li><a rel="nofollow" class="external autonumber" href="https://mirrors.cloud.tencent.com/loongson/gentoo/experimental/loong/">[2]</a> hosted by Tencent Cloud</li> <li><a rel="nofollow" class="external autonumber" href="https://mirrors.tuna.tsinghua.edu.cn/loongson/gentoo/experimental/loong/">[3]</a> hosted by Tsinghua University</li></ul> <p>The development work used to happen at <a rel="nofollow" class="external text" href="https://github.com/xen0n/loongson-overlay">loongson-overlay</a> for things not currently upstreamable; we're going to focus on nailing down and upstreaming the profile bits first. </p> <h3><span class="mw-headline" id="State_of_important_packages">State of important packages</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:LoongArch&amp;veaction=edit&amp;section=4" class="mw-editsection-visualeditor" title="Edit section: State of important packages">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:LoongArch&amp;action=edit&amp;section=4" title="Edit section: State of important packages">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>Because the architecture is still in its infancy, LoongArch support for many essential packages is still missing from upstream, aggravated by the fact that Loongson has not much experience in developing and upstreaming a brand-new architecture like this (and limited English communication abilities). Hence, the <a rel="nofollow" class="external text" href="https://github.com/xen0n/loongson-overlay">loongson-overlay</a> (<i>::loongson</i>) must be configured for every installation for now. </p> <table class="table table-striped table-condensed"> <tbody><tr> <th>Package</th> <th>Known-good version</th> <th>Reason </th></tr> <tr> <td><a rel="nofollow" class="external text" href="https://packages.gentoo.org/packages/sys-kernel/linux-headers">sys-kernel/linux-headers</a></td> <td><code>5.17_rc2_p20220124::loongson</code></td> <td>Linux port not upstreamed; pending update. </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://packages.gentoo.org/packages/sys-devel/binutils">sys-devel/binutils</a></td> <td><code>2.38-r101::loongson</code></td> <td>Some patches necessary for spec compliance but ABI-breaking is not upstream yet. </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://packages.gentoo.org/packages/sys-devel/gcc">sys-devel/gcc</a></td> <td><code>12.0.0_pre9999::gentoo</code></td> <td>Already upstream; suitable for consumption. </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://packages.gentoo.org/packages/sys-libs/glibc">sys-libs/glibc</a></td> <td><code>9999::loongson</code></td> <td><a rel="nofollow" class="external text" href="https://sourceware.org/pipermail/libc-alpha/2022-April/137888.html">Still pending review</a>; this is 2.36 so the live ebuild has to be used. </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://packages.gentoo.org/packages/sys-apps/portage">sys-apps/portage</a></td> <td><code>3.0.30-r2::loongson</code></td> <td>Adds <a rel="nofollow" class="external text" href="https://github.com/gentoo/portage/pull/740">LoongArch ABI support</a>. </td></tr></tbody></table> <h2><span id="How_to_run_this?"></span><span class="mw-headline" id="How_to_run_this.3F">How to run this?</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:LoongArch&amp;veaction=edit&amp;section=5" class="mw-editsection-visualeditor" title="Edit section: How to run this?">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:LoongArch&amp;action=edit&amp;section=5" title="Edit section: How to run this?">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <h3><span class="mw-headline" id="Trying_out_the_stages">Trying out the stages</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:LoongArch&amp;veaction=edit&amp;section=6" class="mw-editsection-visualeditor" title="Edit section: Trying out the stages">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:LoongArch&amp;action=edit&amp;section=6" title="Edit section: Trying out the stages">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>It's of course best to have actual LoongArch hardware to play with; any model will do, as currently there is only one hardware implementation of LoongArch that is the 3A5000. There are many form factors available, from smaller MATX boards to 2U servers, but it can be hard to purchase outside of China. </p><p>Fortunately, there is working QEMU support for linux-user emulation, provided by <a rel="nofollow" class="external text" href="https://github.com/xen0n/loongson-overlay/tree/master/app-emulation/qemu">the app-emulation/qemu package in <i>::loongson</i></a>. Just enable the <i>loongarch64</i> target: </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/portage/package.use</code></strong><strong></strong></div><pre class="captioned"># System emulation is present, but buggy, so not shown here (would be "loongarch64" too) app-emulation/qemu QEMU_USER_TARGETS: loongarch64</pre> <p><i>binfmt_misc</i> configuration for both OpenRC and systemd should be automatically generated and installed. Afterwards just chroot like with any other Gentoo installation. </p><p>System emulation support for LoongArch is present in this forked qemu version, but is too buggy to be usable. The package will be updated in <i>::loongson</i> once the situation improves. </p> <div class="alert alert-info gw-box" style="padding-top: 8px; padding-bottom: 8px;"><strong><i class="fa fa-sticky-note-o fa-rotate-180"></i> Note</strong><br /><a rel="nofollow" class="external text" href="https://github.com/loongson/qemu/tree/tcg-dev">The Loongson fork of qemu</a> is even more unusable. As of 04/17/2022, the linux-user support was temporarily removed due to it being not mergeable before upstream acceptance of the Linux port; and system emulation was heavily stripped down, to the point that only <i>make check-tcg</i> tests would work.</div> <h3><span class="mw-headline" id="Cross-compiling_for_LoongArch">Cross-compiling for LoongArch</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:LoongArch&amp;veaction=edit&amp;section=7" class="mw-editsection-visualeditor" title="Edit section: Cross-compiling for LoongArch">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:LoongArch&amp;action=edit&amp;section=7" title="Edit section: Cross-compiling for LoongArch">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p><a rel="nofollow" class="external text" href="https://packages.gentoo.org/packages/sys-devel/crossdev">sys-devel/crossdev</a> can be used to conveniently make LoongArch cross toolchains, once you have set up the <i>::loongson</i> overlay. </p> <div class="cmd-box"><div><code style="color: #4E9A06; font-weight: bold;">user <span style="color:royalblue;">$</span></code><span class="tripleclick-separator"></span><span style="-moz-user-select: all; -webkit-user-select: all; -ms-user-select: all; user-select: all;"><code>sudo crossdev -t loongarch64-unknown-linux-gnu</code></span></div></div> <p>You may optionally pin the versions for the various components to your liking, or if you see failures. </p> <h2><span class="mw-headline" id="External_resources">External resources</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:LoongArch&amp;veaction=edit&amp;section=8" class="mw-editsection-visualeditor" title="Edit section: External resources">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:LoongArch&amp;action=edit&amp;section=8" title="Edit section: External resources">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <div class="alert alert-info gw-box" style="padding-top: 8px; padding-bottom: 8px;"><strong><i class="fa fa-sticky-note-o fa-rotate-180"></i> Note</strong><br />Beware that for most of the resources, the Chinese version is the original, and there can be all sorts of translation errors, especially in those provided by Loongson. You can ask on IRC or consult one of your Chinese developer friends when in doubt.</div> <ul><li><a rel="nofollow" class="external text" href="https://blog.xen0n.name/en/posts/tinkering/loongarch-faq/">The unofficial yet comprehensive FAQ for LoongArch</a> by <a href="/wiki/User:Xen0n" title="User:Xen0n">xen0n</a></li> <li><a rel="nofollow" class="external text" href="https://github.com/loongson-community/docs">Unofficial collection of various Loongson docs</a> by the community (not all of them are LoongArch-related)</li> <li><a rel="nofollow" class="external text" href="https://github.com/loongson/LoongArch-Documentation">The official LoongArch documentation</a> by Loongson</li></ul> '
Unix timestamp of change (timestamp)
1650217508