this post was submitted on 19 Jul 2023
31 points (100.0% liked)

Linux

48149 readers
852 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

cross-posted from: https://lemmy.world/post/1798744

I'm searching for a Notebook and I came across one that had a Qualcomm Snapdragon 7c which grabbed my attention... My main concern was that the processor specs says:

  • Instruction Set: ARMv8-A64 (64 bit)
  • Architecture: Kryo 468

Main questions:

  • Does Linux already supports this processor?
  • What I should look at? Instruction Set (A64) or Architecture (Kyro)?

If you have time to spend... How this CPU compares with an i3 6157U?

top 8 comments
sorted by: hot top controversial new old
[–] [email protected] 17 points 1 year ago* (last edited 1 year ago) (3 children)

It's complicated.

ARM system initialization doesn't happen the same way as on x86 (the instruction set your computer is probably using unless you're on a phone/tablet). On x86, once the CPU is initialized, it can inform the Linux kernel of what hardware is installed and how to talk to it through a protocol called ACPI. Thus, for Linux to work on a system, it must only support the CPU and some necessary hardware (e.g. I doubt you'll have a usable system if USB, graphics, audio, and networking are unsupported, but otherwise it's fine).

~~ARM functions quite differently; ACPI doesn't exist~~ ACPI is also usable on ARM but Qualcomm refuses to implement it, so instead the Linux kernel has to already know what hardware is installed and where through a configuration file called a device tree blob - basically weird JSON. Therefore it's not enough that Linux supports the Snapdragon 7c (it does) - there must also be a builtin device tree config for your specific device. There likely is one; a simple way to check would be to look here for your device's name (the Snapdragon 7c's codename is SC7180, so the file you're looking for would be sc7180-$vendor-$model.dts). If there isn't and you're willing to get moderately deep in the weeds, you can write your own device tree source file and load it into the kernel (assuming you have at least a rudimentary familiarity with programming, this is doable with a little dedication).

As for your other questions, you don't need to worry too much about instruction set and architecture - being ARM will limit what software can run, but emulation is sort of okay too. It will, however, be far more power-efficient than a 6th gen Intel i3 if that's what you care about - and gut instinct says faster.

It really depends on your usecase, though. If your budget is limited enough that these are serious options, I'd honestly recommend finding a decent second-hand laptop running something a bit better and more recent - but if you run mostly open-source software, don't care about gaming at all, and are willing to get a little deeper than the average hobbyist for some extra battery life, the ARM laptop might be interesting.

[–] [email protected] 3 points 1 year ago (1 children)

FWIW, ACPI on ARM is a thing, Qualcomm just doesn’t care about their chips

https://www.kernel.org/doc/html/latest/arch/arm64/arm-acpi.html

[–] [email protected] 3 points 1 year ago

That's correct, mea culpa; I've only seriously worked with qcom so entirely forgot that's a thing. I'll update my comment, thanks!

[–] [email protected] 3 points 1 year ago (1 children)

Thank you for this very detailed answer!

I was looking for a new Notebook for my parents, and they need Windows working as a dual boot and Linux as the main driver. After some research, I found that ARM for Windows was still bad, and we need it to work properly, so I discarded this option. But I appreciated the knowledge you shared with us. Thanks

[–] [email protected] 1 points 1 year ago

Glad to have been informative :D and good luck on your laptop hunt

[–] [email protected] 2 points 1 year ago

but Qualcomm refuses to implement it

Ah, thank you Qualcomm, very cool!
~~WHY DOES EVERYTHING SUCK SO MUCH???~~

[–] [email protected] 5 points 1 year ago (1 children)

that sounds like some cheap Chromebook and Chromebooks are not really fun to replace the ChromeOS with GNU/Linux and most people resent to Crostini or Crouton instead which works on top of an existing ChromeOS though

the most important thing here is however the model name of the Chromebook which will determine how easy this process will be and if there actually issues on hardware (like Microphone, Speakers or Trackpad not working correctly on GNU/Linux)

[–] [email protected] 1 points 1 year ago

I believe ARM chromebooks are currently unsupported and can't be converted into Linux machines

load more comments
view more: next ›