Puncte:6

Există vreun strat de traducere pentru software-ul x86 pe Ubuntu ARM?

drapel ua

Am instalat recent Ubuntu ARM pe MacBook Air M1 pe o mașină virtuală (folosind Parallels) și, spre deosebire de Windows ARM și macOS ARM, Ubuntu ARM nu pare să includă un strat de traducere pentru aplicațiile x86, ceea ce face ca sistemul să fie aproape inutilizabil la fel de multe Software-ul Linux nu acceptă încă ARM.

De exemplu, am primit această eroare în timp ce încercam să instalez VSCode cu Gdebi:

captură de ecran

Nu pot să cred că nu există încă un strat de traducere pe Linux ARM, având în vedere că este un sistem de operare cu sursă deschisă, care adesea face dezvoltarea acestor lucruri mai ușoară și mai rapidă decât pe alte sisteme de operare.

Există un strat de traducere pe care l-aș putea instala?

davidbak avatar
drapel cn
„... având în vedere că este un sistem de operare cu sursă deschisă, care deseori face dezvoltarea acestor lucruri mai ușoară și mai rapidă decât pe alte sisteme de operare” - de ce ai crede asta? Open source nu face nimic de acest fel. S-ar putea, iar dacă o face, este întâmplător. Dar ca declarație generală? Nu. (Este cu siguranță _posibil_ să dezvoltați aceste lucruri pentru un sistem de operare open source. Dar „mai ușor”? „mai rapid”? „mai ușor _și_ mai rapid”? Nu în general.)
Peter Cordes avatar
drapel fr
Este open source, așa că nu avem nevoie de un strat de emulare pentru majoritatea software-ului, doar reconstruim din sursă. Dar, deoarece qemu și binfmt-misc există deja, piesele sunt la locul lor pentru o emulare transparentă, la fel cum mașinile x86 Linux pot fi configurate pentru executabile Windows pot fi rulate cu WINE în mod transparent.
drapel eg
„atât de multe programe Linux nu acceptă încă ARM” - **majoritatea** software-ului Linux acceptă deja ARM din jurul anului 2002. Faptul că aproape toate software-urile Linux acceptă ARM este ceea ce face ca proiecte precum Android și Raspberry Pi să aibă succes.
Ismael Miguel avatar
drapel om
VSCode are o versiune ARM. Dar, ca cineva care a fost blocat cu un Raspberry Pi 4 în ultimele săptămâni, vă sfătuiesc cu tărie să uitați de rularea VSCode pe un procesor ARM. Experiența mea a fost sub gunoi cu el. Este nevoie de 2 minute pentru a salva un fișier într-o partajare de rețea, în care VSCode își petrece tot timpul doar citind fișierele și nu face nimic altceva. Am rezultate **WAY** mai bune rulând Notepad++ pe WineHQ pe deasupra Box86 pe Raspberry Pi 4. Am folosit PiApps pentru a instala WineHQ și tocmai am instalat Notepad++ de pe site. Functioneaza... ok, fara autocompletare. Alternativ, utilizați geany.
Josef says Reinstate Monica avatar
drapel cn
@IsmaelMiguel care probabil nu are nimic de-a face cu ARM și motivul este doar că Raspberry Pi 4 are un procesor destul de lent. Presupun că rularea VSCode pe un procesor M1 mult mai puternic funcționează fără probleme.
Ismael Miguel avatar
drapel om
@JosefsaysReinstateMonica Acesta este un punct bun. Nu am observat că există interfața de utilizare în stil MacOS în jurul sistemului de operare Ubuntu. Ar fi trebuit să observ înainte de a spune ceva. Cu toate acestea, când cineva spune „pe un cip ARM”, oamenii vor gândi ca la micro-calculatoare și similare, nu la un produs Apple.
Ben Voigt avatar
drapel vg
@IsmaelMiguel „microcalculatoarele” ocupă un spațiu mult mai mare în ierarhia dimensiunilor decât ați putea crede, cuprinzând toate computerele desktop și laptopuri și o mulțime de servere. Exact genul de dispozitive care pot rula bine un IDE de programare.
Ismael Miguel avatar
drapel om
@BenVoigt Da, dar mi-am dat părerea pe baza „micro-computerului”. Un Raspberry Pi 4 2020 (fără overclock). Și VSCode este sub gunoi pe „micro-computerul meu”.Este efectiv inutil până la punctul în care a avea un program Windows tradus din x86 în ARM este mult mai rapid decât VSCode.
Josef says Reinstate Monica avatar
drapel cn
@IsmaelMiguel VSCode este practic un browser care rulează un IDE implementat în HTML și JavaScript. Desigur, este lent. A fost chiar [cunoscut pentru utilizarea unui întreg nucleu procesor doar pentru a clipi cursorul](https://github.com/microsoft/vscode/issues/22900) o dată. Doar că computerele sunt atât de rapide astăzi, încât oamenii scapă cu implementarea unui IDE lent folosind tehnologia web... Dar asta nu are nicio legătură cu ARM sau AMD64. VSCode este lent și pe AMD64, este mai greu să obții un procesor AMD64 lent astăzi. Dar încercați VSCode pe un Intel Atom...
Ismael Miguel avatar
drapel om
@JosefsaysReinstateMonica În cazul meu, folosea peste 30% din CPU pentru a accesa partajarea Samba și a analiza fișierele din acesta (din orice motiv). Și le-ar continua să le analizeze, iar și iar și iar și iar. Dacă îl deschid pentru a edita fișiere local, fără un folder la locul de muncă, s-a comportat destul de acceptabil.
Puncte:15
drapel us

Caseta 86 și Box64 sunt emulatori care pot fi utilizați pentru a rula aplicații x86 tradiționale în ARM.

Iată cum să instalați Box64, astfel încât să puteți rula amd64 binare în braț64 (rețineți că nu veți putea instala fișierele .deb amd64 în acest fel. Fișierele .deb nu sunt proiectate așa. Cu toate acestea, este posibil să puteți extrage fișierul binar dintr-un fișier .deb și să-l rulați.). Aceste instrucțiuni se bazează pe acest ghid.

Mai întâi, instalați git și compilatoarele necesare, descărcați sursa cu git și introduceți directorul sursă.

sudo apt install git build-essential cmake
git clone https://github.com/ptitSeb/box64.git
cd ~/box64

Acum creați un director numit build și generați makefile folosind cmake.

mkdir build
CD build
cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

Acum compilați, cu toate nucleele disponibile.

face -j$(nproc)

Acum instalați software-ul compilat

sudo make install

Acum reporniți systemd-binfmt serviciu.

sudo systemctl reporniți systemd-binfmt

În cele din urmă, reporniți computerul.

Acum, ar trebui să puteți rula binare compilate pentru amd64 arhitectură.


Oricum nativ braț64 versiunile pentru VSCode sunt disponibile la adresa sa site oficial, nu trebuie să-l emulați.


multe software Linux nu acceptă încă ARM...

Se pare că ești dezinformat. Deoarece majoritatea software-urilor din depozite sunt gratuite și open source, acestea au fost deja compilate și ușor disponibile pentru ARM. Conform https://debian.pkgs.org/, cel braț64 depozitul pentru Debian Sid are 62542 pachete, în timp ce amd64 depozitul are 63568 pachete (începând cu 18 noiembrie 2021). Oamenii folosesc de obicei box64 pentru a emula software-ul proprietar creat pentru Windows.

drapel br
Cred că ar trebui să fie posibilă combinarea box[64/86] cu deb, utilizând `dpkg --add-architecture amd64`
drapel us
@Pelle Nu am încercat asta. În cazul în care l-ați testat, nu ezitați să editați.
FedKad avatar
drapel cn
@ArchismanPanigrahi Am încercat aceste instalări pe un VPS bazat pe ARM. După ce le-am finalizat și repornit, pot rula programe amd64 în linia de comandă.Totuși, am o aplicație GUI amd64 (dezvoltată și compilată în Lazarus) și nu rulează. Afișează unele erori precum `gtk_major_version not found`, `gtk_minor_version not found`, `gtk_marshal_VOID__POINTER_POINTER not found` și `gtk_key_snooper_install(ver 0: gtk_key_snooper_install) not found` Cred că acest lucru este menționat în https://github.com/ptitSeb/box64 sub **Note despre programele GTK**
Aaron Franke avatar
drapel ar
Există o modalitate de a avea suport nativ pentru arhitectura `amd64` (x86_32) pe sistemele ARM, în mod similar cu modul în care putem avea suport pentru `i386` (x86_32) pe `amd64` (x86_64)? Vreau să pot instala orice pachet `amd64` prin intermediul managerului de pachete, fie prin `sudo apt install`, fie prin instalarea fișierelor `.deb`.
drapel us
@AaronFranke Aruncă o privire la comentariul lui Pelle.
Puncte:4
drapel br

Emularea utilizatorului Qemu oferă o modalitate foarte bună de a rula fără probleme programe din alte arhitecturi. Totuși, nu am experiență practică cu programele grafice, așa că ar putea exista dragoni în acest fel.

De asemenea, se integrează cu apt/dpkg prin înregistrarea unei arhitecturi străine.

drapel br
În general, funcționează bine pentru X, deoarece este client-server în esență.
Aaron Franke avatar
drapel ar
Urmând acest ghid, am instalat pachetele Qemu, `update-binfmts --display` pare să funcționeze corect, apoi am adăugat arhitectura `amd64` în dpkg, dar `apt` nu poate găsi niciun pachet. `Actualizare apt` spune `E: Nu s-a putut prelua http://us.ports.ubuntu.com/ubuntu-ports/dists/impish/main/binary-amd64/Packages 404 Not Found [IP: 91.189.91.38 80]` . Care sunt instrucțiunile complete? Se pare că lipsește ceva care este necesar pe lângă instrucțiunile Debian.
drapel br
Ports.ubuntu.com nu conține pachete amd64, va trebui să adăugați depozitele Ubuntu obișnuite.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.