diff --git a/rss.xml b/rss.xml index fdaada8..706b9ab 100644 --- a/rss.xml +++ b/rss.xml @@ -6,7 +6,7 @@ My favorite device is a Chromebook https://github.com/thiagokokada/blog/blob/main/2024-08-05/01-my-favorite-device-is-a-chromebook.md - <p>Most of the blog posts in this blog (including this one) and most of I would call &quot;personal computing&quot; that I do nowadays is mostly done in one of the most unremarkable devices that I own: a cheap <a href="https://www.lenovo.com/us/en/p/laptops/lenovo/lenovo-edu-chromebooks/ideapad-duet-3-chromebook-11-inch,-qlc/len101i0034">Chromebook Duet 3</a>, that I bought for around EUR300. I was thinking why, because it is woefully underpowered: a <a href="https://www.anandtech.com/show/16696/qualcomm-announces-snapdragon-7c-gen-2-entrylevel-pc-and-chromebook-refresh">Snapdragon 7c Gen 2</a>, a CPU that was already considered entry level 3 years ago, coupled with an eMMC for storage, that is not much fast than a HDD; at least I have the 8GB RAM version instead of the 4GB one.</p> <p>It is a hybrid device, one that can be used as either a tablet or laptop, but is compromised experience in both cases: as a tablet, it lacks the better touch optimised interface from iOS or Android; as a laptop, you have to depend on the stand to adjust the screen, and the detachable keyboard is worse then any laptop I have ever owned: getting keys stucked and characters being duplicated as a result is a common occurence.</p> <p>But I really love this device. It is generally the only device that I bring in trips nowadays, because while it is compromised it works well enough: I can use to consume media in tablet mode (the fact that ChromeOS supports Android apps is a plus in those cases), browse the web and even do Linux stuff (more about this later). The fact that it is small (the size remembers me of a <a href="https://en.wikipedia.org/wiki/Netbook">netbook</a>), lightweight (~1KG, including the keyboard), has a good screen (that is bright and also HiDPI) and good battery life (I don't have numbers but I almost never worry about it) is what makes this device the perfect companion to trips. Also, it has 2 USB-C ports and supports DisplayPort alt-mode (sadly not at 1440p, the maximum I got was 1080p, altough some people at Reddit <a href="https://www.reddit.com/r/chromeos/comments/zh27tg/comment/izku724/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">seems to be successful</a> at this resolution; it may be my Dell S3423DWC being Ultrawide or the cable, who knows?), so it means you can charge it, connect to a external display and peripherals, all at the same time.</p> <p>ChromeOS is also really interesting nowadays. Being a Chrome-first OS makes it a compromised experience, for example, it is the only device that I use Chrome as my main browser (since I personally prefer Firefox). But having a OS that boots fast is great: I never worry about OS updates because I know the device will be ready in seconds after a reboot. And the whole desktop experience inside the ChromeOS desktop is good, having shortcuts for many operations so you can get things done fast, and support for virtual desktops (ChromeOS call it &quot;desks&quot;) means you can organise your window as much as you want.</p> <p>And what I think makes ChromeOS really powerful is <a href="https://chromeos.dev/en/linux">Crostini</a>, a full Linux VM that you can run inside ChromeOS. It runs Debian (it seems you can <a href="https://www.reddit.com/r/Crostini/wiki/howto/run-other-distros/">run other distros</a> though) with a deep integration with ChromeOS, so you can run even graphical programs without issues (even OpenGL works!):</p> <p><img src="https://github.com/thiagokokada/blog/raw/main/2024-08-05/Screenshot_2024-08-05_21.22.29.png" alt="Fastfetch inside Crostini with gitk running side-by-side."></p> <p><img src="https://github.com/thiagokokada/blog/raw/main/2024-08-05/Screenshot_2024-08-05_21.39.58.png" alt="Running glxgears inside Crostini."></p> <p>This is all thanks to <a href="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/sommelier/README.md">Sommelier</a>, a nested Wayland compositor that runs inside Crostini and allow both Wayland and X11 applications to be forwarded to ChromeOS. The integration is so good that I can even run Firefox inside Crostini and works well enough, but sadly Firefox is too slow in this device (I am not sure if the issue is ChromeOS or Firefox, but I suspect the later since Google does some optimisation per device).</p> <p>One interesting tidbit about the OpenGL situation in this device: this seems to be the first Chromebook to ship with open source drivers, thanks to Freedreno. There is <a href="https://www.youtube.com/watch?v=8mnjSmN03VM">this</a> very interesting presentation done by Rob Clark in XDC 2021, that I recommended anyone interested in free drivers to watch (the reference design of Duet 3 is <a href="https://chromeunboxed.com/chromebook-tablet-snapdragon-7c-homestar-coachz-strongbad">Strongbad</a>).</p> <p>The Crostini integration is probably the best VM integration with Linux I ever saw in an OS: you can manage files inside the VM, share directories between the OS and VM, copy and paste works between the two, GUI applications installed inside the VM appear in the ChromeOS menu, memory allocation inside the VM is transparent, etc. Even the themes for applications are customised to match ChromeOS. It is unironically one of the best Linux desktop experiences I ever had.</p> <p>Of course I am using Nix, but since the Crostini integration depends in some services, I decided to run Nix inside Debian instead of NixOS and run <a href="https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone">Home-Manager standalone</a>. I recommend checking the official <a href="https://wiki.nixos.org/wiki/Installing_Nix_on_Crostinihttps://wiki.nixos.org/wiki/Installing_Nix_on_Crostini">NixOS Wiki article about Crostini</a>, that details how to register applications in ChromeOS (so graphical applications appear in menu) and also how to use <a href="https://github.com/nix-community/nixGL">nixGL</a> to make OpenGL applications work.</p> <p>Like I said at the start of the article, the device is woefully slow thanks to its CPU and eMMC. It does mean that, for example, activating my Home-Manager configuration takes a while (around 1 minute). But it is much faster than say, <a href="https://github.com/nix-community/nix-on-droid-app">nix-on-droid</a>, that the last time I tried in a much more powerful device (<a href="https://www.gsmarena.com/xiaomi_pad_5-11042.php">Xiami Pad 5</a>), took 30 minutes until I just decided to forget and uninstall it. Having a proper VM instead of <a href="https://wiki.termux.com/wiki/PRoot">proot</a> makes all the difference here.</p> <p>I can even do some light programming here: using my <a href="https://github.com/thiagokokada/blog/blob/main/2024-08-01/01-troubleshooting-zsh-lag-and-solutions-with-nix.md">ZSH</a> and neovim configuration (including LSP for coding) is reasonable fast. For example, I did most of the code that <a href="https://github.com/thiagokokada/blog/blob/main/2024-07-29/01-quick-bits-why-you-should-automate-everything.md">powers this blog</a> using this Chromebook.</p> <p>Until Google decides to give us a proper VM in Android or release a hybrid Chromebook device with better specs, this small Chromebook will probably stay as my travel companion, and one of my favorite devices.</p> + <p>Most of the blog posts in this blog (including this one) and most of I would call &quot;personal computing&quot; that I do nowadays is mostly done in one of the most unremarkable devices that I own: a cheap <a href="https://www.lenovo.com/us/en/p/laptops/lenovo/lenovo-edu-chromebooks/ideapad-duet-3-chromebook-11-inch,-qlc/len101i0034">Chromebook Duet 3</a>, that I bought for around EUR300. I was thinking why, because it is woefully underpowered: a <a href="https://www.anandtech.com/show/16696/qualcomm-announces-snapdragon-7c-gen-2-entrylevel-pc-and-chromebook-refresh">Snapdragon 7c Gen 2</a>, a CPU that was already considered entry level 3 years ago, coupled with an eMMC for storage, that is not much fast than a HDD; at least I have the 8GB RAM version instead of the 4GB one.</p> <p>It is a hybrid device, one that can be used as either a tablet or laptop, but is compromised experience in both cases: as a tablet, it lacks the better touch optimised interface from iOS or Android; as a laptop, you have to depend on the stand to adjust the screen, and the detachable keyboard is worse then any laptop I have ever owned: getting keys stucked and characters being duplicated as a result is a common occurence.</p> <p>But I really love this device. It is generally the only device that I bring in trips nowadays, because while it is compromised it works well enough: I can use to consume media in tablet mode (the fact that ChromeOS supports Android apps is a plus in those cases), browse the web and even do Linux stuff (more about this later). The fact that it is small (the size remembers me of a <a href="https://en.wikipedia.org/wiki/Netbook">netbook</a>), lightweight (~1KG, including the keyboard), has a good screen (that is bright and also HiDPI) and good battery life (I don't have numbers but I almost never worry about it) is what makes this device the perfect companion to trips.</p> <p>Also, it has 2 USB-C ports and supports DisplayPort alt-mode (sadly not at 1440p, the maximum I got was 1080p, altough some people at Reddit <a href="https://www.reddit.com/r/chromeos/comments/zh27tg/comment/izku724/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">seems to be successful</a> at this resolution; it may be my Dell S3423DWC being Ultrawide or the cable, who knows?), so it means you can charge it, connect to a external display and peripherals, all at the same time.</p> <p>ChromeOS is also really interesting nowadays. Being a Chrome-first OS makes it a compromised experience, for example, it is the only device that I use Chrome as my main browser (since I personally prefer Firefox). But having a OS that boots fast is great: I never worry about OS updates because I know the device will be ready in seconds after a reboot. And the whole desktop experience inside the ChromeOS desktop is good, having shortcuts for many operations so you can get things done fast, and support for virtual desktops (ChromeOS call it &quot;desks&quot;) means you can organise your window as much as you want.</p> <p>And what I think makes ChromeOS really powerful is <a href="https://chromeos.dev/en/linux">Crostini</a>, a full Linux VM that you can run inside ChromeOS. It runs Debian (it seems you can <a href="https://www.reddit.com/r/Crostini/wiki/howto/run-other-distros/">run other distros</a> though) with a deep integration with ChromeOS, so you can run even graphical programs without issues (even OpenGL works!):</p> <p><img src="https://github.com/thiagokokada/blog/raw/main/2024-08-05/Screenshot_2024-08-05_21.22.29.png" alt="Fastfetch inside Crostini with gitk running side-by-side."></p> <p><img src="https://github.com/thiagokokada/blog/raw/main/2024-08-05/Screenshot_2024-08-05_21.39.58.png" alt="Running glxgears inside Crostini."></p> <p>This is all thanks to <a href="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/sommelier/README.md">Sommelier</a>, a nested Wayland compositor that runs inside Crostini and allow both Wayland and X11 applications to be forwarded to ChromeOS. The integration is so good that I can even run Firefox inside Crostini and works well enough, but sadly Firefox is too slow in this device (I am not sure if the issue is ChromeOS or Firefox, but I suspect the later since Google does some optimisation per device).</p> <p>One interesting tidbit about the OpenGL situation in this device: this seems to be the first Chromebook to ship with open source drivers, thanks to Freedreno. There is <a href="https://www.youtube.com/watch?v=8mnjSmN03VM">this</a> very interesting presentation done by Rob Clark in XDC 2021, that I recommended anyone interested in free drivers to watch (the reference design of Duet 3 is <a href="https://chromeunboxed.com/chromebook-tablet-snapdragon-7c-homestar-coachz-strongbad">Strongbad</a>).</p> <p>The Crostini integration is probably the best VM integration with Linux I ever saw in an OS: you can manage files inside the VM, share directories between the OS and VM, copy and paste works between the two, GUI applications installed inside the VM appear in the ChromeOS menu, memory allocation inside the VM is transparent, etc. Even the themes for applications are customised to match ChromeOS. It is unironically one of the best Linux desktop experiences I ever had.</p> <p>Of course I am using Nix, but since the Crostini integration depends in some services, I decided to run Nix inside Debian instead of NixOS and run <a href="https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone">Home-Manager standalone</a>. I recommend checking the official <a href="https://wiki.nixos.org/wiki/Installing_Nix_on_Crostinihttps://wiki.nixos.org/wiki/Installing_Nix_on_Crostini">NixOS Wiki article about Crostini</a>, that details how to register applications in ChromeOS (so graphical applications appear in menu) and also how to use <a href="https://github.com/nix-community/nixGL">nixGL</a> to make OpenGL applications work.</p> <p>Like I said at the start of the article, the device is woefully slow thanks to its CPU and eMMC. It does mean that, for example, activating my Home-Manager configuration takes a while (around 1 minute). But it is much faster than say, <a href="https://github.com/nix-community/nix-on-droid-app">nix-on-droid</a>, that the last time I tried in a much more powerful device (<a href="https://www.gsmarena.com/xiaomi_pad_5-11042.php">Xiaomi Pad 5</a>), took 30 minutes until I just decided to forget and uninstall it. Having a proper VM instead of <a href="https://wiki.termux.com/wiki/PRoot">proot</a> makes all the difference here.</p> <p>I can even do some light programming here: using my <a href="https://github.com/thiagokokada/blog/blob/main/2024-08-01/01-troubleshooting-zsh-lag-and-solutions-with-nix.md">ZSH</a> and neovim configuration (including LSP for coding) is reasonable fast. For example, I did most of the code that <a href="https://github.com/thiagokokada/blog/blob/main/2024-07-29/01-quick-bits-why-you-should-automate-everything.md">powers this blog</a> using this Chromebook.</p> <p>Until Google decides to give us a proper VM in Android or release a hybrid Chromebook device with better specs, this small Chromebook will probably stay as my travel companion, and one of my favorite devices.</p> https://github.com/thiagokokada/blog/blob/main/2024-08-05/01-my-favorite-device-is-a-chromebook.md Mon, 05 Aug 2024 00:00:00 +0000