08 March 2025

Lenovo Yoga 7 2-in-1 14" Touchscreen Laptop Review

 As my child had been getting into video games, we decided to get them a laptop of their own so they wouldn't need to borrow my wife's.

Here were my list of requirements:

  • Priced less than $700
  • 11-14" Screen
    • IPS or OLED
    • at least 300 nits
    • at least 45% NTSC coverage
  • A recent processor with great integrated graphics
    • AMD Ryzen 7 7840U with Radeon 780M
    • AMD Ryzen 7 8840U with Radeon 780M
    • Intel Core Ultra 7 155U
    • or newer
  • RAM >= 16GB 
  • Storage >= 512GB 
  • USB C charging
  • WiFi 7/6E with 2x2 antennas
  • Backlit keyboard (optional)
  • USB C charging on both sides (optional)


Best Buy had a sale for the Lenovo Yoga 2-in-1 14" Touchscreen Laptop (83DK000AUS / 12IAHP9), which we bought as it met most of my criteria.

  • Price: $600
  • 14" Screen 300 nits 45% NTSC coverage (~60% sRGB)
  • AMD Ryzen 7 8840U with Radeon 780M
  • RAM: 16GB
  • Storage: 1TB
  • USB C charging
  • WiFi 6E with 2x2 antennas
  • Backlit keyboard
  • USB C only on a single side :-(
  • Left ports:
    • 2 x USB C (one USB4 40Gbps)
    • 1 x HDMI 2.1
    • 1 x 3.5mm headphone/microphone combo jack
  • Right ports:
    • 1 x USB A
    • 1 x microSD
  • 3.55 lbs
  • Charger is a 65W brick style with 3 pin power cord


Compared to my wife's Lenovo Yoga 2-in-1 16" Touchscreen Laptop (82QG0001US / 16IAP7) which we bought in 2022:

  • Price: $600
  • 16" Screen 400 nits 72% NTSC coverage (100% sRGB)
  • Intel Core i5-1240P
  • RAM: 8GB
  • Storage: 256GB
  • USB C charging
  • WiFi 6E with 2x2 antennas
  • Backlit keyboard
  • USB C only on a single side :-(
  • Left ports:
    • 2 x USB C (thunderbolt)
    • 1 x USB A
    • 1 x HDMI 2.0
    • 1 x SD card reader
  • Right ports:
    • 1 x USB A
    • 1 x 3.5mm headphone/microphone combo jack
  • 4.37 lbs
  • Charger is a 65W wall-wort style with 2 folding pins


My thoughts:

  • The laptop feels sturdy and premium
  • While the screen is not for color accurate work, or as good as my wife's, it looks plenty good to my eyes when not looking side-by-side
  • The memory and storage should be sufficient for many years to come
  • GPU should be about 2x more performant than my wife's, which should be plenty to play the types of games that my child likes
  • The included 65W charger works well. Unfortunately, the laptop charges extremely slowly on our existing 45W chargers.


Child acceptance factor, in general they like it except:

  • it is too heavy (would prefer a ligher 11")
  • sometimes when starting screen share on Zoom, Zoom will stop responding


Appendix

Sources:

Other Reviews:

12 February 2025

Ensuring USB DVD order

As my USB dvd drives were being detected into a seemingly random order, I wanted to be able to control what device each was being assigned.


Adding udev rules

  • Find serials to add
    • sudo udevadm info /dev/sr0 | grep ID_SERIAL_SHORT
    • sudo udevadm info /dev/sr1 | grep ID_SERIAL_SHORT
    • sudo udevadm info /dev/sr2 | grep ID_SERIAL_SHORT
  • Create /etc/udev/rules.d/99-dvd.rules
ACTION="add", KERNEL="sr[0-9]", ENV{ID_SERIAL_SHORT}="first drive serial", SYMLINK+="dvd0"

ACTION="add", KERNEL="sr[0-9]", ENV{ID_SERIAL_SHORT}="second drive serial", SYMLINK+="dvd1"

ACTION="add", KERNEL="sr[0-9]", ENV{ID_SERIAL_SHORT}="third drive serial", SYMLINK+="dvd2"

  • Reboot or force rerunning the rules
    • sudo udevadm control --reload
    • sudo udevadm trigger
  • However, this did not work
  • Edit /etc/udev/rules.d/99-dvd.rules and remove the ACTION
KERNEL="sr[0-9]", ENV{ID_SERIAL_SHORT}="first drive serial", SYMLINK+="dvd0"

KERNEL="sr[0-9]", ENV{ID_SERIAL_SHORT}="second drive serial", SYMLINK+="dvd1"

KERNEL="sr[0-9]", ENV{ID_SERIAL_SHORT}="third drive serial", SYMLINK+="dvd2"

  • Reboot or force rerunning the rules
    • sudo udevadm control --reload
    • sudo udevadm trigger


Outcome

Success, it now creates the /dev/dvd* in a consistent order. Unfortunately, Handbrake still tries to use the /dev/sr* labels.


Appendix

Sources


14 January 2025

Recursively Mount ZFS datasets

In order to simplify mounting and unmounting my encrypted volumes, I wanted some scripts.


Recursively Mount

#!/usr/bin/env sh
dataset=$1

zfs load-key "${dataset}"
zfs list -rH -o name "${dataset}"  | xargs -L 1 zfs mount


Unmount and unload key

#!/usr/bin/env sh
dataset=$1

zfs unmount "${dataset}"
zfs unload-key "${dataset}"


Usage

# mount example
sh mount.sh storage/encrypted
Passphrase:

# unmount example
sh unmount.sh storage/encrypted


Appendix

Sources