{"id":859,"date":"2024-12-28T18:15:20","date_gmt":"2024-12-28T23:15:20","guid":{"rendered":"https:\/\/www.mgreene.org\/?p=859"},"modified":"2025-01-13T20:56:56","modified_gmt":"2025-01-14T01:56:56","slug":"new-system76-darter-pro-10-with-gentoo","status":"publish","type":"post","link":"https:\/\/www.mgreene.org\/?p=859","title":{"rendered":"New System76 Darter Pro 10 with Gentoo"},"content":{"rendered":"\n<p>I decided to get a System76 Darter Pro 10. It was to replace my Thinkbook 14s which was over 5 years old. The Thinkbook had been a replacement for an IdeaPad Y470p purchased early in 2012. Before the IdeaPad and Thinkbook, there were Thinkpads of various types. I had a lot of experience with Gentoo on my desktop, but the IdeaPad was the first laptop I went 100% Gentoo. It was rough, to put it mildly. Over 7 years with the IdeaPad, I was not going to start from scratch moving to the Thinkbook. I setup the Thinkbook drive, rsync\u2019d the IdeaPad drive to the Thinkbook, tweaked everything, and recompiled. &nbsp;It worked but was not fun. The Darter Pro 10 was not going to be any different, I wanted a new laptop and not a &#8220;fresh&#8221; start. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"416\" src=\"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/system76_DP_spec.png?resize=575%2C416&#038;ssl=1\" alt=\"\" class=\"wp-image-934\" srcset=\"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/system76_DP_spec.png?w=575&amp;ssl=1 575w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/system76_DP_spec.png?resize=300%2C217&amp;ssl=1 300w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><\/figure>\n\n\n\n<p>The Darter Pro bonus (for me) is the second slot for the second M2 drive which in my system is empty. I inserted the old Thinkbook M2 in this slot and booted from my trusty Gentoo USB stick to setup the drive following the <a href=\"https:\/\/wiki.gentoo.org\/wiki\/Handbook:AMD64\/Full\/Installation#Partitioning_the_disk_with_GPT_for_UEFI\" data-type=\"link\" data-id=\"https:\/\/wiki.gentoo.org\/wiki\/Handbook:AMD64\/Full\/Installation#Partitioning_the_disk_with_GPT_for_UEFI\" target=\"_blank\" rel=\"noreferrer noopener\">Gentoo Handbook<\/a>. I made the ESP partition, a swap, and the rest of the 2T drive is root. Next, was to format the partitions: ESP fat32, mkswap, and finally the root drive JFS. Yes JFS, I am set in my ways and have never had a problem with it. After mounting the partitions of the Darter Pro drive and Thinkbook drive, I rsync\u2019d the data from the old drive to the new drive.<\/p>\n\n\n\n<p>Once the rsync was complete, the Thinkbook drive was removed and the Darter Pro got closed and rebooted using the USB. Next, mount the copied system and <a href=\"https:\/\/wiki.gentoo.org\/wiki\/Handbook:AMD64\/Full\/Installation#Chrooting\" data-type=\"link\" data-id=\"https:\/\/wiki.gentoo.org\/wiki\/Handbook:AMD64\/Full\/Installation#Chrooting\" target=\"_blank\" rel=\"noreferrer noopener\">chroot into it, again as described in the Gentoo Handbook<\/a>. As a note, once I boot a Gentoo system from the live USB, I start the ssh server after modifying the sshd_config to <em>PasswordAuthentication yes<\/em> then I change the password for the live system. This allows me to ssh into the live system for all the modifications.<\/p>\n\n\n\n<p>I then tweaked the existing Thinkbook kernel config with Darter Pro parameters and modified the make.conf with the new Darter Pro parameters. Below is the first portion of my Darter Pro make.conf is below.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><code>CFLAGS=\"-march=alderlake -O2 -pipe\"<br>CXXFLAGS=\"${CFLAGS}\"<br>MAKEOPTS=\"-j15\"<br><br>ACCEPT_LICENSE=\"*\"<br>ABI_X86=\"64 32\"<br><br>SYMLINK_LIB=no<br>LIBDIR_x86=lib<br><br>CPU_FLAGS_X86=\"aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 ssse3 vpclmulqdq\"<br><br>ALSA_CARDS=\"hda-intel\"<br>INPUT_DEVICES=\"libinput\"<br>VIDEO_CARDS=\"intel\"<br>SANE_BACKENDS=\"hp\"<br><br>LINGUAS=\"en_US\"<br>L10N=\"en l10n_en-US\"<br>DISTDIR=\/var\/cache\/distfiles<br>EMERGE_DEFAULT_OPTS=\"--verbose --quiet-build=n --autounmask=y\"<br>PORTDIR=\"\/usr\/portage\"<br>GRUB_PLATFORMS=\"efi-64\"<br>CURL_SSL=\"openssl\"<br>FEATURES=\"\"<br>LIBREOFFICE_EXTENSIONS=\"presenter-minimizer wiki-publisher\"<br>LLVM_TARGETS=\"ARC BPF\"<br><br>PYTHON_SINGLE_TARGET=\"python3_11\"<br>PYTHON_TARGETS=\"python3_11 python3_12\"<br><br>QEMU_SOFTMMU_TARGETS=\"arm x86_64 i386\"<br>QEMU_USER_TARGETS=\"x86_64 i386\"<\/code><\/p>\n<\/blockquote>\n\n\n\n<p>The next step I perform is compile gcc and next the kernel. I use grub, so I reinstall grub and run grub-mkconfig. At this point I run the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>emerge -v --update --deep --newuse --with-bdeps=y --autounmask-write --verbose-conflicts @world<\/code><\/pre>\n\n\n\n<p>Everything that has changed with the system should recompile. The steps getting to this point may vary for different people. My main objective is to get the sytem up and running on its own with minimal effort because recompiling the entire system while running off the live USB is painful. Luckily, the system came up into Gnome on the first boot, I cannot express how happy I was at that moment. I did do some more tweaks on the kernel and felt everything was good enough for the &#8220;big build&#8221;.<\/p>\n\n\n\n<p>From this point it just becomes a rebuild grind. Step one, delete the old emerge logs, specifically<em> \/var\/log\/emerge.log<\/em>. Next, rebuild the entire system:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>emerge -ev --keep-going @world<\/code><\/pre>\n\n\n\n<p>I also use the <em>&#8211;exclude gentoo-sources<\/em>, as an example, to skip this package. Anyway, the previous command will start a rebuild of the entire system. <span style=\"text-decoration: underline;\">Will it complete without error? I have rarely, if ever, had a complete system build not have issues. <\/span>This is why I clear the old emerge logs and use the <em>keep-going<\/em> option. The build might start as 1 of 2100 packages to build and install and latter it might be 1 of 1900. I try to have impulse control and just let it go. <\/p>\n\n\n\n<p>Once the build completes, the <em>emerge.log<\/em> will list all the failures. Some of the failures could be easy, for example, net-analyzer\/nessus-bin in portage is not available any longer. That would be a &#8220;who cares&#8221; issue, but finding it and having to restart would be a killer and that is why I use the <em>keep-going<\/em> option. One of the more recent issues I have encountered is the gcc version. I have been using gcc 14 and some packages fail. The trick is to have a gcc 12 or 13 installed, temporarily eselect a lower gcc verson and attempt to complile. This clears a number of errors.<\/p>\n\n\n\n<p>In the end, everything worked surprisingly well. This<a href=\"https:\/\/greenenet.ddns.net\/system_configs\/darterpro\" data-type=\"link\" data-id=\"https:\/\/greenenet.ddns.net\/system_configs\/darterpro\" target=\"_blank\" rel=\"noreferrer noopener\"> link is a Gitlab<\/a> link which contains the original config when new running PopOS and my current config. The disclamer is that I use the JFS filesystem and no initramfs. The following are screen captures from the Gnome About windows:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"712\" height=\"668\" src=\"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-37-44.png?resize=712%2C668&#038;ssl=1\" alt=\"\" class=\"wp-image-877\" srcset=\"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-37-44.png?w=712&amp;ssl=1 712w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-37-44.png?resize=300%2C281&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-37-44.png?resize=624%2C585&amp;ssl=1 624w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"826\" height=\"674\" src=\"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-38-03.png?resize=826%2C674&#038;ssl=1\" alt=\"\" class=\"wp-image-878\" srcset=\"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-38-03.png?w=826&amp;ssl=1 826w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-38-03.png?resize=300%2C245&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-38-03.png?resize=768%2C627&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/Screenshot-from-2024-12-28-10-38-03.png?resize=624%2C509&amp;ssl=1 624w\" sizes=\"auto, (max-width: 826px) 100vw, 826px\" \/><\/figure>\n\n\n\n<p>Now, issues and what does not work. A quick glances at the journal has this warning:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CPU topo: Boot CPU APIC ID not the first enumerated APIC ID: 20 != 10\nCPU topo: &#91;Firmware Bug]: APIC enumeration order not specification compliant<\/code><\/pre>\n\n\n\n<p>I believe this warning is a firmware issue. However, I do get this APIC error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \\_SB_.PCI0.RP05.MCHC (20240827\/dspkginit-438)<\/code><\/pre>\n\n\n\n<p>I think this is probably why Fn-Mic (Mute\/Unmute Microphone) is not working. All the other Fn worked for me with the kernel system76 module. The mic works, just not the Fn key combination.<\/p>\n\n\n\n<p>Anyway, that is it for now and I am incredibly happy with the Darter Pro 10.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"843\" height=\"473\" src=\"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/System76_neofetch.png?resize=843%2C473&#038;ssl=1\" alt=\"\" class=\"wp-image-865\" srcset=\"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/System76_neofetch.png?w=843&amp;ssl=1 843w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/System76_neofetch.png?resize=300%2C168&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/System76_neofetch.png?resize=768%2C431&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2024\/12\/System76_neofetch.png?resize=624%2C350&amp;ssl=1 624w\" sizes=\"auto, (max-width: 843px) 100vw, 843px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\">System76 Darter Pro 10 Neofetch<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I decided to get a System76 Darter Pro 10. It was to replace my Thinkbook 14s which was over 5 years old. The Thinkbook had been a replacement for an [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":false,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[12,148],"tags":[149,57],"class_list":["post-859","post","type-post","status-publish","format-standard","hentry","category-gentoo","category-system76","tag-darter-pro","tag-gentoo"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":908,"url":"https:\/\/www.mgreene.org\/?p=908","url_meta":{"origin":859,"position":0},"title":"Darter Pro 10 Mic Mute","author":"Mike","date":"January 4, 2025","format":false,"excerpt":"As an update to the Fn-Mic (Mute\/Unmute Microphone) not working. I contacted the System76 support and Aaron Honeycutt pointed me in the right direction. It requires a systemd change to get working somewhat outlined in this Github issue. Create the following file: nano \/etc\/udev\/hwdb.d\/61-keyboard-local.hwdb Next, add the following: ########################################################### #\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":307,"url":"https:\/\/www.mgreene.org\/?p=307","url_meta":{"origin":859,"position":1},"title":"ASRock J3455-ITX running Gentoo","author":"Mike","date":"December 2, 2018","format":false,"excerpt":"ASRock J3455-ITX running stable Gentoo Gnome and Kernel 4.19.5.","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/wordpress.greenenet.net\/wp-content\/uploads\/2018\/12\/itx_gnome.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/wordpress.greenenet.net\/wp-content\/uploads\/2018\/12\/itx_gnome.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/wordpress.greenenet.net\/wp-content\/uploads\/2018\/12\/itx_gnome.png?resize=525%2C300 1.5x"},"classes":[]},{"id":14,"url":"https:\/\/www.mgreene.org\/?p=14","url_meta":{"origin":859,"position":2},"title":"Gentoo and LibreOffice 3.4","author":"Mike","date":"June 8, 2011","format":false,"excerpt":"Updated my Gentoo systems to LibreOffice 3.4 and none of the components would start: Could not launch 'LibreOffice 3.4 [fill in component]'Failed to execute child process\"libreoffice3.4\" (No such file or directory)Looks like a Gentoo error. The desktop commands are installed (math as an example):libreoffice3.4 --math %Uwhen it should be:libreoffice --math\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":366,"url":"https:\/\/www.mgreene.org\/?p=366","url_meta":{"origin":859,"position":3},"title":"Gentoo Gnome 3.36","author":"Mike","date":"August 14, 2020","format":false,"excerpt":"","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2020\/08\/Screenshot-from-2020-08-14-17-04-22.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2020\/08\/Screenshot-from-2020-08-14-17-04-22.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2020\/08\/Screenshot-from-2020-08-14-17-04-22.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2020\/08\/Screenshot-from-2020-08-14-17-04-22.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2020\/08\/Screenshot-from-2020-08-14-17-04-22.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2020\/08\/Screenshot-from-2020-08-14-17-04-22.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":743,"url":"https:\/\/www.mgreene.org\/?p=743","url_meta":{"origin":859,"position":4},"title":"Gentoo Gnome 44 with Kernel 6.2.8","author":"Mike","date":"March 26, 2023","format":false,"excerpt":"Gnome 44 is in the Gentoo repository, not stable yet. The transition was not as painful as my early transition to Gnome 43. The only issue so far has been gnome-clocks, but that is very minor. Most extensions worked, had a like replacement, or after tweaking the metadata.json file version.\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2023\/03\/gnome44.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2023\/03\/gnome44.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2023\/03\/gnome44.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":93,"url":"https:\/\/www.mgreene.org\/?p=93","url_meta":{"origin":859,"position":5},"title":"Bluefish 2.2.7 on Gentoo","author":"Mike","date":"February 8, 2015","format":false,"excerpt":"Gentoo finally updated to Bluefish 2.2.6, so I know the latest version must be out which is 2.2.7. \u00a0In case you do not know: Bluefish is a powerful editor targeted towards programmers and webdevelopers, with many options to write websites, scripts and programming code. Bluefish supports many programming and markup\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/posts\/859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=859"}],"version-history":[{"count":26,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/posts\/859\/revisions"}],"predecessor-version":[{"id":936,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/posts\/859\/revisions\/936"}],"wp:attachment":[{"href":"https:\/\/www.mgreene.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}