r/linuxhardware

Image 1 — I found the hidden Advanced BIOS menu
Image 2 — I found the hidden Advanced BIOS menu
▲ 103 r/linuxhardware+12 crossposts

I found the hidden Advanced BIOS menu

I have been reverse-engineering the InsydeH2O firmware used by the Lenovo IdeaPad Gaming 3 15ARH05 (82EY / IP3GAMING-15ARH).

The project started because this model exposes only a very limited BIOS interface, while common unlock sequences such as Fn+R+N do not appear to work reliably on this generation.

So far, I have:

  • extracted Lenovo’s official FCCN21WW Windows update package;
  • recovered the complete 16 MiB update ROM;
  • parsed its AMD PSP directory;
  • decompressed and executed the x86 reset-stage image;
  • traced its reset loop under QEMU;
  • extracted the Setup Utility and reconstructed its IFR;
  • confirmed the existence of a separate hidden Advanced form set;
  • recovered its GUID, variable stores, offsets and option inventory;
  • tested an experimental SREP runtime patch without permanently modifying the firmware.

The hidden menu contains controls for:

  • PCIe GPP and power policies;
  • SATA/AHCI and RAID configuration;
  • TPM and fTPM;
  • USB controllers and individual ports;
  • ACPI features;
  • SVM, SVM Lock and SMM Code Lock;
  • DASH and AMD remote KVM;
  • Above 4 GB MMIO.

One particularly interesting result is that the Advanced form set is not surrounded by a top-level IFR SuppressIf condition. My current hypothesis is that Lenovo/Insyde hides it through a visibility table or registration logic inside H2OFormBrowserDxe, rather than through a simple “unlock” setup variable.

I also recovered this form-set GUID:

C6D4769E-7F48-4D2A-98E9-87ADCCF35CCC

However, the runtime SREP patch has not exposed the menu yet. The laptop currently runs FCCN19WW, while the analyzed update is FCCN21WW, so differences in modules, patterns or variable semantics may explain the failure.

The repository documents the full process, hashes, extraction commands, QEMU findings, IFR inventory, experimental SREP configuration and suggested next steps:

https://github.com/root-hunter/lenovo_bios

Update: the hidden Advanced BIOS menu has now been successfully unlocked on the test machine using SREP. This is a runtime unlock and does not require flashing a modified BIOS image.

The method remains experimental and model/firmware-specific. Hidden settings can still cause a brick, boot failure or no-display condition, so do not change unfamiliar options without a verified SPI backup and recovery plan.

I would especially appreciate help from anyone who:

  • owns the same 15ARH05 / 82EY model and can reproduce the unlock;
  • can test it on other FCCN firmware versions;
  • has experience with InsydeH2O, SREP or H2OFormBrowserDxe;
  • can help validate and document the exposed settings safely.

Issues, corrections and reproducible test results are welcome.

u/roothunter-dev — 12 hours ago
▲ 15 r/linuxhardware+1 crossposts

Remboursement Windows

Bonjour,

Je me demandais si la politique de remboursement de Windows tenait toujours pour l’achat d’un ordi neuf sur lequel on va installer une distrib Linux directement.

Il y a une quinzaine d’années, sous la pression des assos d’utilisateurs linuxiens, quelques marques avaient mis en place des procédures de remboursement (volontairement compliquées) au nom de l’interdiction de la vente liée (c’est une directive européenne).

J’ai l’impression que ça a disparu.

Et donc qu’on a régressé.

reddit.com
u/KarteZian_purely — 17 hours ago

Battery Life on Laptop Using Linux

How does the battery of a laptop generally last when it is using Linux, compared to when the same laptop is using Windows?

I've read that most laptops are highly optimized to increase battery lifetime per charge under Windows, whereas under Linux (by default) it is comparably much worse.

How can you highly optimize the laptop battery usage with Linux? Does optimizing reduce its performance in any other usages? And, once optimized for Linux, how close will the battery be compared to (the same laptop) using Windows?

reddit.com
u/Technical_Rich_3080 — 15 hours ago

Looking for Linux Laptop with Long Battery Life

Hey y'all. I'm in the market for a new laptop and plan to run Fedora or Arch (or i guess whatever distro turns out to be most efficient). I was wondering if anyone has any recommendations for a modern laptop with good battery life. I found a post from ThePrimeAgen on Twitter claiming decent battery life on the new Dell XPS 14 with Omarchy, but he doesn't specify configuration or anything (plus i don't want to use Omarchy). I also looked at the Framework laptops but it seems like those are pushed out to Nov/Dec and I'd need something a little quicker (this is replacing a MB Pro).

To give an idea of my use case, I'd basically just be watching videos and web browsing with a touch of logging in to FF14 sometimes for very basic tasks (crafting/chatting) and saving anything heavy for my desktop. Battery life is my big feature as I want to be able to carry it around the house and not be attached to the wall.

I'd be very very appreciative of any recommendations. Thank you!

reddit.com
u/Otterworldly-Ottuk — 1 day ago

Battery life intel raptor lake

Hello, i’ve recently purchased used thinkpad e14 gen 5 with intel 5 1335U with around 47Wh left from the original 57Wh. I’ve yesterday installed encrypted debian with xfce.The battery life is subpar at best.

From what i’ve noticed on windows 11 the idle battery discharge was at 2-3W.

On debian xfce(powersave governor, balanced power in bios) without tlp its around 6W which seems high to me.( nothing turned on except terminal with powertop).

One firefox tab and terminal and 10% brightness is around 10-11W discharge which again seems little too high. Tlp decreases this slightly to around 8W.

Is it possible to somehow get around 5W discharge on light workload (Firefox and text editor)?

Is debian/xfce the problem or is the cpu/laptop just that unoptimized?

Anyone with similar laptop which distro do you use ?

Thanks

reddit.com
u/Royal_Ring_4388 — 1 day ago
▲ 5 r/linuxhardware+1 crossposts

Lenovo T470 -- disk deleted, how to install Ubuntu

I have an USB live distro (Ubuntu 26.04), and can load this -- writing on it now....
But I am not able to install it on my ssd (1Tb) -- and have tried booting and tried different changes in the bios to make it work....

I have the USB as hd1 and the ssd as hd2 -- and bios boot-order is
- USB hdd
- the SSD
- Ubuntu
- PCI LAN

When the USB is in the T470 gives me option to ...
- test or install
- start in safe-mode
- Ubuntu
-UEFI setup

....and only the "with USB plugged in" and "test and install" will work
Without the USB it starts up, gives Lenovo-logo and after appx 4 seconds I can see "Reset system" in upper left corner, black screen, and it starts over....and over...and....

At the moment I have the ssd set up with 2 partitions, one FAT32 with appx 1 Gb and the rest is appx 999 Gb in ext4.
I have no windows installed, as the ssd is "clean", so probably there is something missing in the bios-setup.

Any ideas will be appreciated. :-)

reddit.com
u/carl-frederik — 2 days ago
▲ 171 r/linuxhardware+1 crossposts

Razer BlackShark V2 Pro (2023) battery % on Linux — fully reverse-engineered, working tray widget. The firmware really is "allergic to Linux", and here's exactly why + the fix

TL;DR: The BlackShark V2 Pro 2023 dongle (1532:0555) deliberately disables its vendor/control channel when it detects a Linux host — it fingerprints the OS from the very first USB descriptor read after power-on. A pending kernel patch defeats the fingerprint, but even then the protocol is undocumented AND the dongle silently drops commands unless every one is preceded by an undocumented "relay poke" frame. I have all three pieces solved and a working KDE tray widget showing battery % and charging state. Full protocol + scripts below.


The problem

No battery readout for this headset on Linux. Ever. Not in upower, not in KDE, nothing:

  • headsetcontrol — supports zero Razer devices
  • OpenRazer — no support for 1532:0555; the support requests (#2184, #2451) have been open since Dec 2023
  • The classic Razer 90-byte feature-report protocol (what OpenRazer speaks) — the device doesn't implement it at all. Its HID report descriptor exposes only 64-byte interrupt IN/OUT reports on report ID 0x02. Every feature-report attempt times out.
  • Even raw USB control transfers with a proper interface claim — timeouts on every transaction ID, every interface, every recipient type.

The device wasn't ignoring bad commands. It was ignoring everything, while audio worked perfectly.

Discovery part 1: the firmware fingerprints your OS

The breakthrough lead came from this Razer Insider thread where someone spent three weeks on the BlackShark V3 and found identical symptoms: byte-identical commands work on Windows and are ignored on Linux, and even hardware button events are gated.

The mechanism (from a patch later submitted to the linux-usb mailing list): the dongle fingerprints the host based on the first GET_DESCRIPTOR(CONFIGURATION) read after power-on. Windows requests 255 bytes; Linux requests the 9-byte header first. If the dongle sees the 9-byte read, it disables the entire vendor command channel for the rest of the power session. Resets, re-enumerations, and byte-exact replays of Windows traffic don't recover it — only physically removing power (unplugging) does, and then Linux immediately re-poisons it at the next enumeration.

There is a patch in review on linux-usb adding USB_QUIRK_CONFIG_DESC_READ_255 (a quirk that makes the first config read request 255 bytes, exactly like Windows), including a runtime quirk letter so you can apply it to any VID:PID from the kernel command line:

The static entry in the patch covers the V3 Pro (1532:0577). I built a kernel with the patch and applied it to the V2 Pro 2023 at runtime:

usbcore.quirks=1532:0555:r

Verified with usbmon: with the quirk, Linux's first config read requests 255 bytes, and the vendor channel comes alive — the dongle starts emitting event frames it never sent before. I can confirm the V2 Pro 2023 fingerprints identically to the V3 Pro. (If you're reading this after the patch is mainlined, you may only need the cmdline quirk — check whether your kernel has USB_QUIRK_CONFIG_DESC_READ_255.)

Important: after enabling the quirk you must physically unplug and replug the dongle — the poisoned state persists until power is removed.

Discovery part 2: the protocol is not the classic Razer protocol

With the channel armed, the classic 0x07/0x80 battery command still got nothing — this firmware generation speaks a different, unpublished dialect. So: Wireshark + USBPcap on a Windows machine with Synapse installed, dongle plugged in, battery visible on screen, capture everything.

The captures revealed a request/reply protocol inside 64-byte HID interrupt reports:

Host request ("PA" frame), written to the hidraw device:

[0]=0x02  [1]=0x80  [2]=inner_len  [3..4]=0x00  [5..]=inner, pad to 64
inner = 50 41 <target> 00 <payload_len> <cmd> <args...>
         'P' 'A'

Device reply ("PI" frames), read from the same hidraw device (one 64-byte report can contain multiple subframes; byte[1] of the report = total valid length, the rest of the buffer is stale garbage — ignore it):

subframe = 50 49 <source> <ctr:3> 00 00 <len:2 LE> <payload>
            'P' 'I'

Targets: 0x0e = the dongle itself, 0x08 = the headset. Commands (verified):

cmd meaning reply payload
0x02 hello / open capability blob
0x21 battery 21 <status> 01 <percent> — direct 0–100
0x2a charging 2a <status> 01 <flag> — 0 = not charging
0x20 device info (serial etc. seen in event stream)

Status byte in replies is 0x01 or 0x02 — accept both. Sources 0x01/0x11 are monitor/event channels (heartbeats ~1–5 s while the RF link is up; useful as a "headset is on" presence signal).

The headset has (at least) two target-address states. During the pre-poke investigation, there was a period where the headset ignored 0x08 entirely but answered the same commands at target 0x1c — observed while it was charging — with replies still sourced as 0x08. The heartbeat frames also carry a byte that read 0x1c during that period, which looks like the device announcing its current/alternate address on the event stream. After discovering the relay poke, 0x08 has worked in every state I've tested (charging and not), so the poke may make the distinction moot — but the dual-address behaviour is real, observed, and unexplained. If anyone digs further: the address byte in heartbeat payloads (11 <counter> <addr> on source 0x01) is where to look.

The related blackshark-linux project (BlackShark V3 Pro) documents a sibling 64-byte protocol with the same command IDs (battery 0x21 etc.) but different framing — helpful confirmation, not directly usable on the V2 Pro 2023.

Discovery part 3: the trap that cost a whole day — the relay poke

Here's the evil part. With the quirk active and the correct frames, queries sometimes worked and mostly didn't — the dongle would accept the USB write (clean completion, verified in usbmon) and then silently drop headset-addressed frames. No error, no NAK, no echo. Meanwhile heartbeats kept flowing and the dongle answered queries addressed to itself. We chased phantom theories for hours: settle time, session slots, charger state, Bluetooth interference, hidden nonces (checked — Synapse's frames are byte-identical every time, no rolling keys).

The answer was in a second capture — this time of Synapse's first contact (capture running before the dongle was plugged in). Synapse escorts every headset-addressed command with a poke to the dongle first:

→ 50 41 0e 00 02 e1 01        ; poke the dongle ("forward the next one")
→ 50 41 08 00 03 21 00 00     ; battery query to the headset

e1 01, target 0x0e, before every single command, ~50–80 ms apart. In the steady-state capture these frames were easy to misread as EQ reads (on the V3, 0xe1 is EQ-related). Sent to the dongle, it's a relay-forward poke — and without it the dongle drops your command on the floor.

With the poke: instant replies, every time, no power cycles, no settle time, fully repeatable. That one 13-byte frame was the entire "mystery".

The working solution

Prerequisites: kernel with USB_QUIRK_CONFIG_DESC_READ_255 (patch above; on Arch-likes, rebuild your kernel package with the patch — it's ~20 lines across 3 files and applies cleanly to 6.x/7.x-era trees), plus:

# kernel cmdline
usbcore.quirks=1532:0555:r

Reboot, then physically replug the dongle.

udev rule (/etc/udev/rules.d/70-blackshark.rules — must sort before 73-*-uaccess):

KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0555", TAG+="uaccess"

The query script (stdlib-only Python, no dependencies, ~1 s per read, prints e.g. 🎧 61% / 🎧⚡ 61%, empty when the headset is off):

#!/usr/bin/env python3
# Razer BlackShark V2 Pro 2023 battery for Linux
import glob, os, select, time

def find_node():
    for ue in glob.glob('/sys/class/hidraw/hidraw*/device/uevent'):
        try:
            if '00001532:00000555' in open(ue).read():
                return '/dev/' + ue.split('/')[4]
        except OSError:
            pass
    return None

def build(tgt, cmd, args=b'\x00\x00'):
    payload = bytes([cmd]) + args
    inner = bytes([0x50, 0x41, tgt, 0x00, len(payload)]) + payload
    b = bytearray(64)
    b[0] = 0x02; b[1] = 0x80; b[2] = len(inner)
    b[5:5+len(inner)] = inner
    return bytes(b)

def subframes(d):
    n = d[1]; i = 2
    while i + 10 <= 2 + n:
        if d[i] == 0x50 and d[i+1] == 0x49:
            plen = d[i+8] | (d[i+9] << 8)
            yield d[i+2], bytes(d[i+10:i+10+plen])
            i += 10 + plen
        else:
            i += 1

def main():
    dev = find_node()
    if not dev:
        return ''
    try:
        fd = os.open(dev, os.O_RDWR | os.O_NONBLOCK)
    except OSError:
        return ''
    batt = chg = None
    POKE = build(0x0e, 0xe1, b'\x01')   # the magic relay poke
    try:
        for cmd in (0x02, 0x2a, 0x21):  # hello, charging, battery
            os.write(fd, POKE); time.sleep(0.06)
            os.write(fd, build(0x08, cmd)); time.sleep(0.06)
        end = time.time() + 2.0
        while time.time() < end and (batt is None or chg is None):
            r, _, _ = select.select([fd], [], [], 0.15)
            if r:
                d = os.read(fd, 64)
                for _t, pl in subframes(d):
                    if len(pl) >= 4 and pl[1] in (0x01, 0x02):
                        if pl[0] == 0x21: batt = pl[3]
                        elif pl[0] == 0x2a: chg = pl[3]
    finally:
        os.close(fd)
    if batt is None:
        return ''
    return f'🎧{"⚡" if chg else ""} {batt}%'

if __name__ == '__main__':
    print(main())

Tray display: KDE users — Command Output plasmoid pointed at the script, 60 s interval. Waybar/Polybar users — it's just a script that prints a string; drop it in a custom module.

Caveats & notes

  • Verified on the 2023 model (RZ04-0453, dongle 1532:0555) only. The V3 family fingerprints the same way per the patch; the protocol framing likely differs per generation.
  • The e1 01 poke semantics are empirical — it works 100% of the time here, but nobody outside Razer knows its actual name.
  • If queries ever go dead: replug the dongle (any pre-quirk enumeration or power glitch re-poisons it until power is removed).
  • If 0x08 gets no reply even with the poke: try target 0x1c (the observed alternate address — seen while charging, pre-poke), or read the current address from the heartbeat stream. Easy to add as a fallback loop in the script.
  • Everything here was derived from my own hardware via standard interoperability reverse-engineering — packet captures of my own devices, public kernel patches, and open-source references (RazerBatteryTaskbar, blackshark-linux, OpenRazer source).

Credits

  • Charles D. Aoust — the config-descriptor fingerprint discovery and the kernel quirk patch on linux-usb
  • The anonymous BlackShark V3 owner on Razer Insider whose three weeks of pain pointed everyone at the firmware
  • The OpenRazer project — protocol reference for the classic command set
  • RiskRunner0's blackshark-linux — the V3 Pro protocol documentation that confirmed the command IDs

If you have this headset and try it, report back — and if you're on the V3/V3 Pro, the blackshark-linux project above is your starting point. I'll be sending a Tested-by for 1532:0555 to the lore thread so the quirk hopefully ships in mainline with both devices covered.

u/zomg_its_Calfrun — 3 days ago

Which laptop should I choose?

My use cases are photo and video editing (but nothing too intensive), really ocassional CAD (like couple to maybe several times a year) and the normal stuff. So far I've found:

  1. Lenovo ThinkPad P14s G6 with Ryzen AI 7 PRO350, Radeon 860M, 32gb RAM and 100% sRGB screen for ~ 1600 euro

  2. Lenovo Yoga Pro 7 " Ryzen AI 9 365 Radeon 880M 32GB 2.9K OLED 100% DCI-P3 but not entirely new (ex-display) ~1400 euro

  3. Lenovo Yoga Pro 7 " Ultra 9 285H with integrated GPU 32GB 2.9K OLED 100% DCI-P3 ~ 1600 euro

  4. Lenovo ThinkPad P14s G6 with Ryzen AI 7 PRO350, Radeon 860M, 32gb RAM and 2,8K (2880×1800) OLED 100% DCI-P3 ~ 1700 euro

Where I live its impossible to get the t14 gen 7 under 2000 euro, which is my max budget and I've been having a really big problem to choose which laptop to get. Maybe you have a better recomendation?

reddit.com
u/cheesemylove — 2 days ago

Debian 13.6 running in 10.1-inch mini laptop from China.

Hello,

I'd like to share my positive review of installing Debian 13.6 XFCE in a 10.1-inch chinese laptop from Aliexpress.

First of all, I bought it because I needed an ultra portable laptop to carry it easily in my backpack.

By "ultra portable," I mean lighter and smaller than MacBook Air 13. I attached a picture of them side to side.

This laptop is not for heavyweight work. It is a dual core celeron N4000 (full specs bellow).

I am using it mainly to do lightweight work (writing documents, web surfing, as well as some programming stuff in Visual Studio Code).

The laptop came with Windows 11 pré-installed, I wiped it out and installed Debian 13.6 XFCE using the live image.

The only drawback is that you have to rotate the display to "right" in XFCE Display Configuration before installation.

After installing it, I also had to change lightdm configuration to rotate the display to "right" to show the logging screen correctly.

Besides that, everything worked out of box - even the wireless adapter.

Hardware specs:

Processor: Intel Celeron N4000

RAM: 8 GB

Storage: 128 GB SSD SATA 2242 (model Wdxsky W31-128G ATA)

Wireless adapter: Realtek RTL8821CE

Resolution: 1280x800

Best regards

u/Gold-Inflation-2891 — 3 days ago
▲ 14 r/linuxhardware+1 crossposts

PSA: linux-firmware 2.27 → 2.29 (Ubuntu 24.04/Mint 22) breaks RX 6900 XT — DMCUB blob regression

This was summarized by claude that helped me pin down the problem. But I checked it for consistancy and thought maybe other people will help this.

Spent a day debugging this, sharing in case it saves someone else the trouble.

Symptom: Desktop crashes 1–3 seconds after login, half the screen showing graphical corruption. Safe mode works fine. Reboot loop follows.

Setup: Linux Mint 22.x (Ubuntu 24.04 base), kernel 7.0.0-28-generic (HWE), Mesa 25.2.8, RX 6900 XT (Navi21 / Sienna Cichlid), Xorg + XFCE, custom water loop.

Kernel log at crash:

amdgpu: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc

amdgpu: SMU: No response msg_reg: 22 resp_reg: 0

amdgpu: Failed to disable gfxoff!

amdgpu: ring gfx_0.0.0 timeout, signaled seq=1377, emitted seq=1379

amdgpu: Process Xorg

amdgpu: Ring gfx_0.0.0 reset failed

amdgpu: MODE1 reset ... GPU mode1 reset failed

amdgpu: ASIC reset failed with error, -62

amdgpu: GPU Recovery Failed: -62

Ruled out:

Mesa — identical (25.2.8-0ubuntu0.24.04.2) on both working and broken states

Kernel — identical (7.0.0-28-generic) on both; booting older kernels didn't help

Kernel params — the crash loop started ~5h before I added any ppfeaturemask/dcdebugmask tweaks

Thermals/PSU/load — BeamNG.drive runs fine on the working state; failure is at login, not under load

Root cause: Rolled back with Timeshift to a snapshot taken 5 minutes before an update batch. Diffed md5sums of all 12 sienna_cichlid_*.bin.zst blobs between the two states. Exactly one differs:

sienna_cichlid_dmcub.bin.zst

2.27 (works): 041e8ee4f578b5eccb1bb89a2f14b1db

2.29 (breaks): 8783824f37745ec5d53ee8a2d71b18f7

Package: linux-firmware 20240318.git3b128b60-0ubuntu2.27 → ...-0ubuntu2.29

DMCUB is the display microcontroller — which fits: the failure is at session/display reconfiguration (login), mpc2_assert_idle_mpcc is a display pipeline component, and the SMU errors follow as a knock-on. 3D workloads are unaffected because they don't go through DMCUB.

Workaround:

sudo apt-mark hold linux-firmware

Everything else can be updated normally.

Can anyone else on Navi21 confirm? Would like to know if this is card-specific or general before filing at gitlab.freedesktop.org/drm/amd.

reddit.com
u/Der-lassballern-Mann — 3 days ago
▲ 47 r/linuxhardware+1 crossposts

T2 Mac users who missed it

https://preview.redd.it/gjyr5uxzrijh1.png?width=1200&format=png&auto=webp&s=eda5e4258b7d93438a94babd60d5a4c3105c41f6

We have a website and a blog now. Go there to keep up with our latest upstream work.

https://kait2en.org

https://kait2en.org/blog.html

We are devs specialized on T2 Macs. We are also the providers of t2bce and other modules/fixes that currently ship with your distros like T2Linux, CachyOS etc...

Our own distro aims at users willing to test latest "bleeding edge" fixes that are going to be upstreamed. In exchange you get the latest and greatest. Like hybrid graphics on 15,1:

https://www.phoronix.com/news/Linux-2026-Patches-For-2018-MBP

or DSP support and special apps.

We are very active at the moment and our friendly little community is constantly growing and full of life. Even if you don't want to join or install KaiT2en, this place should at least be of interest for you because you get your infos directly from devs.

We will also post about latest development here every one or two weeks to remind you to remove workarounds etc we have fixed upstream.

reddit.com
u/4f1sh3r — 4 days ago

I have a 2017 Macbook 12, would it be a good idea to install Linux on it? Or should I just retire it?

Link to specs: https://support.apple.com/en-ca/111986

It is pretty old, and slow now. But the screen is still beautiful and I want to keep using it. Should I install Linux on a macbook? Or is the hardware support too poor?

I need the sleep function to work properly since I use it all the time.

And I prefer everything to just work, I dont care about tweaking the laptop or hacking it or high maintenance stuff. I want it to be carefree and useful, just like MacOS or Windows. I will use Chrome 99% of the time.

Back in the day I tried Ubuntu on a old laptop, the wifi didn't even work and there were endless bugs, just a mess, and I dont want that experience again, has LInux gotten past that point? I don't want to use the command line for anything, if possible.

After all of that, if you can suggest a distro that will work flawlessly for the laptop then I can look more into it.

u/Opposite_Cat_9085 — 4 days ago
▲ 20 r/linuxhardware+1 crossposts

is there a motherboard that is more or less linux friendly? or which brand have the best bios?

I'm building a pc and need help choosing a motherboard

reddit.com
u/headlessBleu — 5 days ago
▲ 2 r/linuxhardware+2 crossposts

Best distro to maximize CPU performance on a fanless Fujitsu tablet/2-in-1? (Core m3-7Y30 / 8GB RAM)

Hi everyone! I’m looking for lightweight or well-optimized distro recommendations to extract maximum performance out of my 2-in-1 Windows tablet.

Since the CPU is low-power (4.5W TDP) and fanless, thermal throttling can happen under heavy loads, so I need an OS with minimal background overhead.

Hardware Specs:

Device: Fujitsu ARROWS Tab V727/V (2-in-1 Detachable)

CPU: Intel Core m3-7Y30 (2 Cores / 4 Threads, 1.0 GHz up to 2.6 GHz, 4.5W TDP)

GPU: Intel HD Graphics 615

RAM: 8GB LPDDR3

Storage: 128GB SSD

Display: 12.3" IPS Touchscreen (1920x1280, 3:2 ratio)

Input: Touchscreen, Wacom AES Stylus pen

Primary Goals:

  1. Maximize CPU Performance: Minimal background resource usage to prevent thermal throttling on a fanless chip.

  2. Touch & 2-in-1 Support: Good out-of-the-box support for touchscreen gestures, screen rotation, and stylus/pen input.

  3. Battery Efficiency: Good power management out of the box (or easy setup with ⁠tlp⁠ / ⁠auto-cpufreq⁠).

What distro + Desktop Environment combination would you recommend to strike the best balance between low CPU usage and good 2-in-1 usability? Thanks in advance!

reddit.com
u/Able-Farm6295 — 4 days ago

Help choosing a laptop for a law student

Hi, I'm a law student and I'm looking for a laptop that will work with Ubuntu without any issues as I'm not really a technical guy. I prefer 32gb of RAM and really really need good battery life. I am seriously considering getting a thinkpad because they are supposedly easy to type with, but I'm open to anything good. I prefer not to get niche companies because I need good support.

Thank you

reddit.com
u/Internal_Lie_618 — 3 days ago

Better option for light Linux use?

Hi, I'm going to get a small, used machine for playing around on Linux. SSD can be either 128 or 256, doesn't really matter. Which of the following would you recommend more for a Mint or Debian distro?

Lenovo M725S Desktop PC, AMD Ryzen 3 PRO 2200G 3.70 GHz 8GB 128GB Win10Pro with Keyboard & Mouse ($100 ish)

or

Lenovo ThinkCentre M710S Desktop PC Intel Core i3-7100 3.90GHZ 8GB 128GB Win10Pro with Keyboard & Mouse ($100 ish)

or

Lenovo M715Q Tiny Desktop, AMD A6 9500E, DDR4 RAM, Solid State Drive, USB Wi-Fi, Win10Pro (Your Choice: Model) (with 128 GB $150ish)

Thanks!

reddit.com
u/OffensiveandStupid — 4 days ago
▲ 223 r/linuxhardware+2 crossposts

Happy AF with this one

T14 Gen 6 - 235H - 32 GB RAM + 512 SSD.

Got it dirt cheap, didn't have to put money on top of what I got selling my gen 5 with Ryzen 5 8540U.

Question:

I got it running on Win 11 since I keep my stuff synced in One Drive. I dont think I could do that with any Linux distro, right? If possible, how?

Many thanks

u/nikotliar — 6 days ago
▲ 4 r/linuxhardware+1 crossposts

Bluetooth Controller not working after BIOS update

So I'm running Kubuntu 26.04 and recently updated my motherboard's BIOS. I'm using the Gigabyte B850i Aorus pro Rev 1.0 motherboard. Before the update everything worked fine but after installing the latest BIOS available from the website my game controller no longer works when connected via Bluetooth. It works when connected using a cable so I know the controller is not the problem.

I tried everything. From unisntalling and resintalling xpadneo, to running sudo rfkill unblock bluetooth and even doing a full power down by disconnecting my PC PSU. Can anybody help me fix this?

My PC has a R7 9700x, 48G of DDR5 and as mentioned the motherboard is the Gigabyte B850i Aorus Pro Rev 1.0.

Please help

Edit: Fixed the problem. Turns out that after the BIOS update secure boot was turned on in the BIOS without me noticing. I turned it off and the controller works perfectly.

I Was about to completely reinstall Kubuntu until I decided to give a try to get xpadneo working. When I tried to manually get it started I got an error. After googling, it turned out that the error comes from having secure boot on and it was preventing the xpadneo driver from recognizing the controller input even though it was properly connected via Bluetooth.

reddit.com
u/Blackirean — 4 days ago