robclark changed the topic of #aarch64-laptops to: Linux support for AArch64 Laptops (Chrome OS Trogdor Devices - Asus NovaGo TP370QL - HP Envy x2 - Lenovo Mixx 630 - Lenovo Yoga C630 - Lenovo ThinkPad X13s - and various other snapdragon laptops) - https://oftc.irclog.whitequark.org/aarch64-laptops
hightower3 has joined #aarch64-laptops
hightower4 has quit [Ping timeout: 480 seconds]
hexdump01 has joined #aarch64-laptops
hexdump0815 has quit [Ping timeout: 480 seconds]
Lucanis0 has joined #aarch64-laptops
Lucanis has quit [Ping timeout: 480 seconds]
iivanov has joined #aarch64-laptops
iivanov has left #aarch64-laptops [#aarch64-laptops]
Kelsar has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
Kelsar has joined #aarch64-laptops
Kelsar has quit []
Kelsar has joined #aarch64-laptops
svarbanov has joined #aarch64-laptops
<einar> I am curious to learn how the people working supporting e.g. Thinkpad x13s's hardware learnt their skills. I am currently a software dev and know my datastructures, but I am not sure how to approach the hardware scene. Like, where do you even start when Lenovo releases a laptop with a new CPU architecture?
iivanov has joined #aarch64-laptops
ArtemK has joined #aarch64-laptops
ArtemK has quit [Quit: Page closed]
<jenneron[m]> einar: you can take a look at https://wiki.postmarketos.org/wiki/Mainlining especially its "Materials to look into" section, it might give you an idea
<jenneron[m]> it's mostly about phones, but still related
iivanov has left #aarch64-laptops [#aarch64-laptops]
<einar> jenneron[m]: That was helpful, thanks! So the vendors don't bother to do mainlining, so the community does it afterwards.
<einar> Okay but what happens in the case where, say, Lenovo releases a laptop with Windows only support. In that case there is not even any downstream kernel sources to start of from.
<jenneron[m]> einar: yeah while for phones we use downstream kernel as reference, on laptops we dump ACPI tables and refer to them
<jenneron[m]> also, i guess linaro (or who's working on x13s) has some documentation/schematics for these boards
<jenneron[m]> but i don't have anything like this for galaxy book s, so i use ACPI tables as reference
<danielt> [I wasn't doing the work but I was watching with interest] The firmware boot protocols (EFI) implemented on Windows laptops helped a lot when getting things started (even without docs/schematics). They allowed tools like grub to run to do initial poking about (although IIRC there were some challenges even getting that far). The firmware also helped by setting up RAM, basic clocking and display output before launching the kernel.
<danielt> Essentially the firmware hands a chunk of video memory to the kernel ("the EFI framebuffer") which can be used for diagnostic output if the kernel survives the early (and mostly machine independant) setup.
<danielt> I think those were the major things that made initial development viable... after that there was a lot of skill, experience, guesswork and perseverance to go from there though.
<einar> That sounds extremely difficult.
<einar> But also very rewarding when you make progress.
<danielt> Should be added that "experience" certainly mattered here (being able to transfer knowledge and reuse code from Linux on Qualcomm phone chips).
<danielt> I think of it a little like climbing a mountain. If you legs are tired each small step is difficult but not impossible... and then you can turn round and look at the view.
<danielt> However, a more accurate analogy would be that the work of others built a railway up the mountain, allowing me to look at the view without excessive effort.
<travmurav[m]> I'd also say that there are two major things: bringing up the platform (SoC, chipset) and bringing up the board (specific device) that are somewhat distinct: bringing the board up requires understanding the specific device (having schematics/acpi dumps/ pcb photos...) to "reverse engineer" the hardware and describe it, but when you are bringing up a chipset it's a completely different set of fun: either having some documentation
<travmurav[m]> (rare, only if you are company with NDA) or reverse engineering drivers and/or "related" existing downstream (i.e. from a mobile chipset of the same generation)
<travmurav[m]> i.e. bringing up a 7c device would be relatively easy since all the chipset work is done
<danielt> Agreed.... and it in the case of getting that initial start for the aarch64-laptops work, technically the WoS laptops use specific chipsets but the early ones were very closely related to phone chipsets.
<travmurav[m]> thankfully the IP blocks of the new chipsets are usually shared with the older ones so the work isn't completely from zero
<travmurav[m]> so it's a game of figuring out how which blocks did they copy and which of those blocks got broken/replaced :D
baozich has joined #aarch64-laptops
<travmurav[m]> on a more general note, not sure about everyone, but I think many "mobile"/"embedded"/"aarch64" enthusiasts (like me for instance) just picked up things by being around in related communities and learning from others who has already figured some things out or picked them up elsewhere
<danielt> +1 ... I gave a history lesson rather than sage advice... but one of the most important qualities to to help you learn some of this stuff is deciding to have a go it ;-). "Success" is whatever you define it as. You can learn a lot by not quite getting something to work and then, perhaps, seeing someone beat you to it (that's actually great for learning because now you can compare a worked solution with however far you got).
baozich has quit [Ping timeout: 480 seconds]
iivanov has joined #aarch64-laptops
iivanov has left #aarch64-laptops [#aarch64-laptops]
martiert has joined #aarch64-laptops
martiert_ has quit [Ping timeout: 480 seconds]
<steev> (fwiw, i got mine by... just poking at things i had no idea what they did and asking... what does it do)
alfredo has joined #aarch64-laptops
alfredo has quit [Quit: alfredo]
<steev> which i also still do
alfredo has joined #aarch64-laptops
alfredo1 has joined #aarch64-laptops
alfredo has quit [Ping timeout: 480 seconds]
alfredo has joined #aarch64-laptops
alfredo has quit []
alfredo has joined #aarch64-laptops
alfredo1 has quit [Ping timeout: 480 seconds]
alfredo has quit []
Caterpillar has quit [Quit: Konversation terminated!]
systwi_ has joined #aarch64-laptops
systwi has quit [Ping timeout: 480 seconds]
Caterpillar has joined #aarch64-laptops
<einar> danielt, travmurav[m] can I ask what educational background you have? And when you say community, is it all online or do you have friends from whom you could learn?
<travmurav[m]> einar: Don't think education matters too much: I started poking Linux-on-phone a bit more than 4 years ago, about the time I started my (now finished) bachelor's, and there are a lot of young people around I believe, I've mostly interacted with everyone online but people meet up on conferences and in hacker places too as I know
<broonie> I'd guess for a lot of the people who do have degrees and such their degrees aren't relevant.
<travmurav[m]> For me it was more of a "well I have this funny phone I don't use, can I run real linux on it?" and then I find myself microsoldering a board to debug a clock driver with an osciloscope or reverse engineering the windows bootloader to find out how exactly el2 vendor lock in works xD
<travmurav[m]> but yeah, I'd say I got more use of linear algebra parts of my degree when doing "embedded" stuff :D
<einar> it's inspiring to hear. I feel like just picking up a little snack-x13s and see what I can get working on it.. and more importantly what I cannot get working.
<clover[m]> i'd think electrical engineering degree or a CS degree with a focus on low level computing would be useful
<travmurav[m]> I'd actually make a guess that for laptops there are more people who learned their stuff "in the industry" (as in, being paid to work on the hw) given the rather low popularity of the arm laptops, compared to phones where almost everyone has a spare thing
<travmurav[m]> but I also think there is some "bleed over" with people like me and some other familiar faces I see here
<einar> I did CS, but it was more about blackboards and functional programming, so it was sort of another direction.
<einar> Maybe I can find a relevant Mooc for the low-level classes I missed out on.
<broonie> Yeah, CS and engineering have some relationship but they're not the same thing at all.
<steev> i have 1 semester of college
<steev> many, many, years ago
<clover[m]> ever think of going back?
derzahl has quit [Remote host closed the connection]
<steev> yes
<steev> my lack of... foundation... definitely holds me back professionally
<clover[m]> <einar> "it's inspiring to hear. I..." <- are you in the US? i have a spare x13s and i'd rather sell it to a fellow linux user
<steev> my initial job at a device manufacturer was because they'd given me hardware, and i literally just kept poking at things that didn't work... until they work
<steev> and then sending them patches
<gwolf> steev: If your state had not broken its bond with its rightful capital city (Mexico City, of course), you'd be able to hold a process to grant you an university degree based on self-taught knowledge...
<gwolf> ...I did that, as I didn't attend college. And am now halfway through my PhD ;-)
alfredo has joined #aarch64-laptops
svarbanov has quit [Ping timeout: 480 seconds]
alfredo has quit [Quit: alfredo]
<steev> oh interesting
<steev> the sad thing is... i actually could have had a full ride, on the state's dime, because i'm originally from michigan and i'm legally an orphan, so because i graduated from high school, there's some thing about orphans being able to go to in state colleges on their dime
baozich has joined #aarch64-laptops
baozich has quit [Ping timeout: 480 seconds]
Prawn[m] has quit [Quit: Client limit exceeded: 20000]