this post was submitted on 20 Aug 2026
16 points (100.0% liked)

technology

24455 readers
220 users here now

On the road to fully automated luxury gay space communism.

Spreading Linux propaganda since 2020

Rules:

founded 6 years ago
MODERATORS
 

So the HP zionist-despair Envy 2 in 1 I have which runs Endeavour OS is one of those Ryzen machines that uses the Sensor Fusion Hub [1022:15e4] to rotate. This sensor fusion hub has been around since the first mobile Ryzen gen and is still used in the Ryzen 5000 mobile machines, mostly convertibles. But it don't rotate.

Setting KDE's tablet mode does nothing, iio-sensor-proxy is installed but will not return anything, monitor-sensor --accel just waits infinitely. Force starting iio with systemctl and checking it shows No sensors or missing kernel drivers for the sensors. Exiting and deactivates. Modprobing pcie_mp2_amd gives FATAL: Module pcie_mp2_amd not found in directory /lib/modules/7.1.8-arch1-3 which is cool. You can also modprobe amd_sfh to no avail.

I found this totally useless archbbs thread full of dead links, and funny enough I was dual booting Windows 10 on this machine, but no amount of rebooting nor disabling Fast Boot in Windows nor entirely reinstalling EndeavourOS fixes this. A live image of Cachy OS behaves the same.

If you know anything about amd_sfh or pcie_mp2_amd I am begging you, just let me rotate my screen automatically. Or y'know, if you wanna write a patch to make it work, together. Totally.

Bugzilla thread about this gamer hardware issue

EDIT: after a bit of research I see that the Linux kernel has been fighting for its life against AMD's shitass SFH driver... For over six years...

top 34 comments
sorted by: hot top controversial new old
[–] Snort_Owl@hexbear.net 5 points 2 weeks ago (1 children)

Im not cringe enough to have a HP but poking around I don’t think that arch kernel has the driver for the sensor at all.

zgrep -E "AMD_SFH|MP2" /proc/config.gz

Suggestion is to try the LTS kernel or force loading the module

sudo modprobe amd_sfh_hid sensor_mask=1

From what I see I don’t think you can enable a kernel module it says doesn’t exist but without a device that has the same sensor whomst knows. Try some other kernels out or look for one has has explicit support

[–] ashinadash@hexbear.net 3 points 2 weeks ago (1 children)

I don’t think that arch kernel has the driver for the sensor at all.

200% mad kitty-cri but yea that's the gist I was getting. According to this post as well as this one the driver does exist, but has never worked that well. Truly epic :)

[–] Snort_Owl@hexbear.net 4 points 2 weeks ago (1 children)

Ok I think I have figured it out. Basically ur kernel isnt compiled with it at all so you cant turn it on but I tried on my Thinkpad with Fedora and the kernel module exists and can be loaded there on 7.0.11 with fedoras compiled kernel.

So step 1 would probably be install fedora just to confirm it works conceptually then if it does recompile the arch kernel with the flag on so the module exists.

It does also look like one of AMDs usual shitass drivers and has issues since implementation but supposedly fixed past 6.11?

But yeah looks like you'll need to recompile the kernel with CONFIG_AMD_SFH_HID=m or use fedora like the real redhat brainwashed cool kids (me)

[–] ashinadash@hexbear.net 3 points 2 weeks ago (2 children)

Oh shit I've never compiled a kernel before, should I be scared omori-afraid

But yeah, I thought it was fixed too, alas the bugzilla thread in the OP is still open and it persists across several distros, so not Arch specific. I can run Debian but Fedora, eh. Ty for checking though.

[–] Snort_Owl@hexbear.net 3 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Its not that scary more boring. Real compiling fear is wine x86 build on apple silicon that sent me into the silly zone trying to get rosettax87 jit working

Dont have to run fedora permanently just use it to see if its worth going the recompile route. Hope it works out!

[–] ashinadash@hexbear.net 1 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Hey so what should I do if this doesn't work on a live Fedora, is that normal? I don't really have a spare NVME drive so I'm not really into installing Fedora. The live image is new and on 6.19...

[–] Snort_Owl@hexbear.net 2 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

I could be more helpful but I'd have to like setup stuff in a vm and try to emulate your scenario and I've been bedridden for days due to migraines.

First have you tried just using the LTS kernel at all? You can switch to it using pacman

sudo pacman -S linux-lts linux-lts-headers

https://forum.endeavouros.com/t/how-to-install-lts-kernel-in-addition-to-my-current-one/58730/2

Some other commands here so you can switch kernels

[–] ashinadash@hexbear.net 1 points 2 weeks ago

I always install several kernels :> Arch LTS is 6.18.x but yeah of course it doesn't work lol. Where in the make menuconfig for kernel building is that CONFIG_AMD_SFH_HID=m hiding?

[–] ashinadash@hexbear.net 1 points 2 weeks ago (1 children)

...I was told not to be scared of kernel but after setting amd_sfh support in make menuconfig, compiling always exits with error2 (prepare0) in the makefile.

user@system ~/D/linux-7.2> make -j$(nproc)

DESCEND objtool

DESCEND bpf/resolve_btfids

/bin/sh: line 1: bc: command not found

make[2]: *** [Kbuild:24: include/generated/timeconst.h Error 127

make[2]: *** Waiting for unfinished jobs....

make[1]: *** [/home/user/Downloads/linux-7.2/Makefile:1408: prepare0] Error 2

make[1]: *** Waiting for unfinished jobs...

INSTALL libsubcmd_headers

make: *** [Makefile:248: __sub-make] Error 2

[–] Snort_Owl@hexbear.net 1 points 2 weeks ago (1 children)

/bin/sh: line 1: bc: command not found

install the thing, then run again and discover the next thing in the toolchain you dont have rinse and repeat

[–] ashinadash@hexbear.net 1 points 2 weeks ago (2 children)

Oh I didn't realise bc was a package bleh holy shit it's actually building, ty for your help.

[–] Snort_Owl@hexbear.net 2 points 1 week ago (1 children)

Have you done it yet or did you explode your computer

[–] ashinadash@hexbear.net 2 points 1 week ago (1 children)

Okay so a Ryzen 4500U took one hour thirty five minutes to compile but:

And despite that:

The output of lspci -knn is exactly the same. Y'know fuck AMD, Lisa Su is my greatest foe.

[–] Snort_Owl@hexbear.net 2 points 1 week ago* (last edited 1 week ago) (1 children)

Well it was a fun journey to get here lmao.

You wanna sudo modprobe to start it idk if it makes a difference without sudo by probably.

sudo modprobe amd_sfh

dmesg | grep -i sfh

Dmesg output is important for debugging if the module loaded correctly or had errors

Apparently some need a parameter to work so you could try

sudo modprobe -r amd_sfh # to remove the loaded module

sudo modprobe amd_sfh sensor_mask=1 # Load with the mask

Also imagine not letting me see your lan ip, how am i supposed to ping your computer when im in your walls

[–] ashinadash@hexbear.net 2 points 1 week ago (1 children)

There's much going on in my walls already, I'd never let you ping me madeline-smug

Check this fuckin' shit out:

>Module amd_sfh is builtin.

>Missing kernel drivers for the sensors.

<3 u AMD!

[–] Snort_Owl@hexbear.net 2 points 1 week ago* (last edited 1 week ago) (1 children)

sudo dmesg | grep -i amd_sfh

sudo dmesg | grep -i "sfh|sensor"

lspci -nn | grep -i amd

Sudo ur dmesg silly I wanna see what the output is. Modprobe doesnt really print anything useful

[–] ashinadash@hexbear.net 2 points 1 week ago* (last edited 1 week ago) (2 children)

catgirl-disgust You and the archwiki both, demanding sudo but not listing sudo!! Smhd!!!

Holy shit grep -i amd output a lot of stuffash@x360 ~> sudo dmesg | grep -i amd_sfh

[sudo] password for ash:

ash@x360 ~ [0|1]> sudo dmesg | grep -i

Usage: grep [OPTION]... PATTERNS [FILE]... Try 'grep --help' for more information.

ash@x360 ~ [SIGPIPE|2]> sudo dmesg | grep -i "sfh|sensor"

ash@x360 ~ [0|1]> sudo dmesg | grep -i amd

[ 0.010609] RAMDISK: [mem 0x8a855000-0x9f966fff]

[ 0.077773] AMD-Vi: ivrs, add hid:AMDI0020, uid:_SB.FUR0, rdevid:0xa0

[ 0.077775] AMD-Vi: ivrs, add hid:AMDI0020, uid:_SB.FUR1, rdevid:0xa0

[ 0.077776] AMD-Vi: ivrs, add hid:AMDI0020, uid:_SB.FUR2, rdevid:0xa0

[ 0.077777] AMD-Vi: ivrs, add hid:AMDI0020, uid:_SB.FUR3, rdevid:0xa0

[ 0.077778] AMD-Vi: Using global IVHD EFR:0x206d73ef22254ade, EFR2:0x0

[ 0.207566] smpboot: CPU0: AMD Ryzen 5 4500U with Radeon Graphics (family: 0x17, model: 0x60, stepping: 0x1)

[ 0.207761] Performance Events: Fam17h+ core perfctr, AMD PMU driver.

[ 0.518125] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported

[ 0.519435] AMD-Vi: Extended features (0x206d73ef22254ade, 0x0): PPR X2APIC NX GT IA GA PC GA_vAPIC

[ 0.519445] AMD-Vi: Interrupt remapping enabled

[ 0.519446] AMD-Vi: X2APIC enabled

[ 0.593077] AMD-Vi: Virtual APIC enabled

[ 0.595674] perf: AMD IBS detected (0x000003ff)

[ 0.595677] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).

[ 1.130355] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled

[ 1.144670] pcie_mp2_amd 0000:04:00.7: enabling device (0000 -> 0002)

[ 12.420565] amdgpu: Virtual CRAT table created for CPU

[ 12.420601] amdgpu: Topology: Add CPU node

[ 12.420872] amdgpu 0000:04:00.0: enabling device (0006 -> 0007)

[ 12.420929] amdgpu 0000:04:00.0: initializing kernel modesetting (RENOIR 0x1002:0x1636 0x103C:0x876E 0xC3).

[ 12.421169] amdgpu 0000:04:00.0: register mmio base: 0xD0400000

[ 12.421172] amdgpu 0000:04:00.0: register mmio size: 524288

[ 12.425309] amdgpu 0000:04:00.0: detected ip block number 0 <common_v2_0_0> (soc15_common)

[ 12.425314] amdgpu 0000:04:00.0: detected ip block number 1 <gmc_v9_0_0> (gmc_v9_0)

[ 12.425318] amdgpu 0000:04:00.0: detected ip block number 2 <ih_v4_0_0> (vega10_ih)

[ 12.425320] amdgpu 0000:04:00.0: detected ip block number 3 <psp_v12_0_0> (psp)

[ 12.425323] amdgpu 0000:04:00.0: detected ip block number 4 <smu_v12_0_0> (smu)

[ 12.425325] amdgpu 0000:04:00.0: detected ip block number 5 <dce_v1_0_0> (dm)

[ 12.425327] amdgpu 0000:04:00.0: detected ip block number 6 <gfx_v9_0_0> (gfx_v9_0)

[ 12.425330] amdgpu 0000:04:00.0: detected ip block number 7 <sdma_v4_0_0> (sdma_v4_0)

[ 12.425333] amdgpu 0000:04:00.0: detected ip block number 8 <vcn_v2_0_0> (vcn_v2_0)

[ 12.425335] amdgpu 0000:04:00.0: detected ip block number 9 <jpeg_v2_0_0> (jpeg_v2_0)

[ 12.425360] amdgpu 0000:04:00.0: Fetched VBIOS from VFCT

[ 12.425365] amdgpu 0000:04:00.0: [drm] ATOM BIOS: 113-RENOIR-037, build: 603187 , ver: 017.010.000.031.000000, 2022/02/23

[ 12.443502] amdgpu 0000:04:00.0: vgaarb: deactivate vga console

[ 12.443506] amdgpu 0000:04:00.0: Trusted Memory Zone (TMZ) feature enabled

[ 12.443543] amdgpu 0000:04:00.0: vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit

[ 12.443553] amdgpu 0000:04:00.0: VRAM: 512M 0x000000F400000000 - 0x000000F41FFFFFFF (512M used)

[ 12.443556] amdgpu 0000:04:00.0: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF

[ 12.443563] amdgpu 0000:04:00.0: [drm] Detected VRAM RAM=512M, BAR=512M

[ 12.443565] amdgpu 0000:04:00.0: [drm] RAM width 128bits DDR4

[ 12.445260] amdgpu 0000:04:00.0: 512M of VRAM memory ready

[ 12.445264] amdgpu 0000:04:00.0: 3656M of GTT memory ready.

[ 12.445289] amdgpu 0000:04:00.0: [drm] GART: num cpu pages 262144, num gpu pages 262144

[ 12.445636] amdgpu 0000:04:00.0: [drm] PCIE GART of 1024M enabled.

[ 12.445638] amdgpu 0000:04:00.0: [drm] PTB located at 0x000000F41FC00000

[ 12.446616] amdgpu 0000:04:00.0: [drm] Loading DMUB firmware via PSP: version=0x0101002B

[ 12.447408] amdgpu 0000:04:00.0: [VCN instance 0] Found VCN firmware Version ENC: 1.24 DEC: 8 VEP: 0 Revision: 9

[ 12.448744] amdgpu 0000:04:00.0: reserve 0x400000 from 0xf41f800000 for PSP TMR

[ 12.556760] amdgpu 0000:04:00.0: RAS: optional ras ta ucode is not available

[ 12.571184] amdgpu 0000:04:00.0: RAP: optional rap ta ucode is not available

[ 12.578917] amdgpu 0000:04:00.0: psp gfx command LOAD_TA(0x1) failed and response status is (0x7)

[ 12.579248] amdgpu 0000:04:00.0: smu driver if version = 0x0000000e, smu fw if version = 0x0000000e, smu fw program = 0, smu fw version = 0x00375c00 (55.92.0)

[ 12.580313] amdgpu 0000:04:00.0: SMU is initialized successfully!

[ 12.581564] amdgpu 0000:04:00.0: [drm] Display Core v3.2.384 initialized on DCN 2.1

[ 12.581571] amdgpu 0000:04:00.0: [drm] DP-HDMI FRL PCON supported

[ 12.582371] amdgpu 0000:04:00.0: [drm] DMUB hardware initialized: version=0x0101002B

[ 12.935962] amdgpu 0000:04:00.0: [drm] Alt mode has timed out after 202 ms

[ 12.938244] amdgpu 0000:04:00.0: kiq ring mec 2 pipe 1 q 0

[ 12.944871] amdgpu: Virtual CRAT table created for GPU

[ 12.944979] amdgpu: Topology: Add GPU node [0x1002:0x1636]

[ 12.944996] amdgpu 0000:04:00.0: SE 1, SH per SE 1, CU per SH 8, active_cu_number 6

[ 12.945003] amdgpu 0000:04:00.0: ring gfx uses VM inv eng 0 on hub 0

[ 12.945005] amdgpu 0000:04:00.0: ring comp_1.0.0 uses VM inv eng 1 on hub 0

[ 12.945007] amdgpu 0000:04:00.0: ring comp_1.1.0 uses VM inv eng 4 on hub 0

[ 12.945009] amdgpu 0000:04:00.0: ring comp_1.2.0 uses VM inv eng 5 on hub 0

[ 12.945011] amdgpu 0000:04:00.0: ring comp_1.3.0 uses VM inv eng 6 on hub 0

[ 12.945012] amdgpu 0000:04:00.0: ring comp_1.0.1 uses VM inv eng 7 on hub 0

[ 12.945014] amdgpu 0000:04:00.0: ring comp_1.1.1 uses VM inv eng 8 on hub 0

[ 12.945015] amdgpu 0000:04:00.0: ring comp_1.2.1 uses VM inv eng 9 on hub 0

[ 12.945017] amdgpu 0000:04:00.0: ring comp_1.3.1 uses VM inv eng 10 on hub 0

[ 12.945019] amdgpu 0000:04:00.0: ring kiq_0.2.1.0 uses VM inv eng 11 on hub 0

[ 12.945020] amdgpu 0000:04:00.0: ring sdma0 uses VM inv eng 0 on hub 8

[ 12.945022] amdgpu 0000:04:00.0: ring vcn_dec uses VM inv eng 1 on hub 8

[ 12.945024] amdgpu 0000:04:00.0: ring vcn_enc0 uses VM inv eng 4 on hub 8

[ 12.945025] amdgpu 0000:04:00.0: ring vcn_enc1 uses VM inv eng 5 on hub 8

[ 12.945027] amdgpu 0000:04:00.0: ring jpeg_dec uses VM inv eng 6 on hub 8

[ 12.946355] amdgpu 0000:04:00.0: Runtime PM not available

[ 12.946690] amdgpu 0000:04:00.0: [drm] Using custom brightness curve

[ 12.947154] amdgpu 0000:04:00.0: [drm] Registered 4 planes with drm panic

[ 12.966455] [drm] Initialized amdgpu 3.64.0 for 0000:04:00.0 on minor 1

[ 12.975893] fbcon: amdgpudrmfb (fb0) is primary device

[ 13.709414] amdgpu 0000:04:00.0: [drm] fb0: amdgpudrmfb frame buffer device

[ 14.142410] input: ELAN2514:00 04F3:2AF2 Touchscreen as /devices/platform/AMDI0010:02/i2c-0/i2c-ELAN2514:00/0018:04F3:2AF2.0001/input/input5

[ 14.142596] input: ELAN2514:00 04F3:2AF2 as /devices/platform/AMDI0010:02/i2c-0/i2c-ELAN2514:00/0018:04F3:2AF2.0001/input/input6

[ 14.142652] input: ELAN2514:00 04F3:2AF2 as /devices/platform/AMDI0010:02/i2c-0/i2c-ELAN2514:00/0018:04F3:2AF2.0001/input/input7

[ 14.142733] input: ELAN2514:00 04F3:2AF2 Stylus as /devices/platform/AMDI0010:02/i2c-0/i2c-ELAN2514:00/0018:04F3:2AF2.0001/input/input8

[ 14.209456] input: SYNA32A0:00 06CB:CE14 Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-SYNA32A0:00/0018:06CB:CE14.0002/input/input11

[ 14.209640] input: SYNA32A0:00 06CB:CE14 Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-SYNA32A0:00/0018:06CB:CE14.0002/input/input12

[ 14.215781] input: ELAN2514:00 04F3:2AF2 as /devices/platform/AMDI0010:02/i2c-0/i2c-ELAN2514:00/0018:04F3:2AF2.0001/input/input14

[ 14.215944] input: ELAN2514:00 04F3:2AF2 UNKNOWN as /devices/platform/AMDI0010:02/i2c-0/i2c-ELAN2514:00/0018:04F3:2AF2.0001/input/input15

[ 14.216543] input: ELAN2514:00 04F3:2AF2 UNKNOWN as /devices/platform/AMDI0010:02/i2c-0/i2c-ELAN2514:00/0018:04F3:2AF2.0001/input/input16

[ 14.216659] input: ELAN2514:00 04F3:2AF2 Stylus as /devices/platform/AMDI0010:02/i2c-0/i2c-ELAN2514:00/0018:04F3:2AF2.0001/input/input17

[ 16.841411] snd_hda_intel 0000:04:00.1: bound 0000:04:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])

[ 17.013699] kvm_amd: TSC scaling supported

[ 17.013705] kvm_amd: Nested Virtualization enabled

[ 17.013707] kvm_amd: Nested Paging enabled

[ 17.013709] kvm_amd: LBR virtualization supported

[ 17.013714] kvm_amd: Virtual VMLOAD VMSAVE supported

[ 17.013715] kvm_amd: Virtual GIF supported

[ 17.184697] amd_atl: AMD Address Translation Library initialized

[ 41.148934] pcie_mp2_amd 0000:04:00.7: Failed to discover, sensors not enabled is 0

ash@x360 ~>

[–] Snort_Owl@hexbear.net 3 points 1 week ago* (last edited 1 week ago) (1 children)

Real gamers run as root 24/7

Ok so device as you know exists:

[ 1.144670] pcie_mp2_amd 0000:04:00.7: enabling device (0000 -> 0002)

Fails to communicate with device says its not enabled?:

[ 41.148934] pcie_mp2_amd 0000:04:00.7: Failed to discover, sensors not enabled is 0

Don't see anything from amd_sfh itself so it fails at the lower level call maybe amd_sfh doesnt run until pcie_mp2_amd is working

Last things I can think of is maybe it needs to be enabled at boot to initialise? Could try writing it to the boot config

echo "options amd_sfh_hid sensor_mask=1" | sudo tee /etc/modprobe.d/amd_sfh.conf

Then I guess could try

  • Bios update
  • Check the sensor has a toggle in the bios at all

Otherwise im fresh out of ideas

Shit looks like its broken on windows as well I wouldn't be surprised if the firmware itself is wank. Does it need to be flipped over to the other side to enable the sensor? https://h30434.www3.hp.com/t5/Notebook-Hardware-and-Upgrade-Questions/Accelerometer-stuck-in-tablet-mode-HP-envy-x360/m-p/9568251/highlight/true#M800826#1

Whelp this has been fun, hope you learned some stuff about compiling kernels catgirl-salute now I leave you with a shitpost as I go back to EverQuest

Sweaty the problem is ur trying to install linux on an xbox360, it only runs windows!

[–] ashinadash@hexbear.net 3 points 1 week ago* (last edited 1 week ago)

Sensor has no toggle in bios, I did check. I think I'm running the newest bios but I can check that too.

Writing that echo stuff to boot is done by editing the startup options at systemd-boot or whatever, right? (Edit: I see now those are terminal commands) Fwiw the tablet stuff did work in Windows 10 once upon a time.

This is an excellent example of AI as a lame counterfeit for a real solution. Obviously, no real person was involved with answering my question, or reading my response. HP and all the rest of us deserve the disaster we are in the process of creating.

I fuckin love the HP forums lmao.

Thank you for walking through this with me, it's actually the first time I've ever built a kernel and it rocks. Much appreciated, enjoy Everquesting lol.

Also https://consolemods.org/wiki/Xbox_360:Linux zane gottem

[–] ZWQbpkzl@hexbear.net 2 points 1 week ago (1 children)

If the command is prefixed with # instead of $ it means root.

[–] ashinadash@hexbear.net 2 points 1 week ago

Woah, and the Arch wiki displays these too! niko-wonderous Today I learned, ty!

[–] Snort_Owl@hexbear.net 1 points 2 weeks ago* (last edited 2 weeks ago)

The two problems of compiling is either missing thing or need undocumented arcane combinations of make flags

[–] PorkrollPosadist@hexbear.net 2 points 1 week ago* (last edited 1 week ago) (1 children)

Compiling a kernel is fairly easy, especially if you already have a good config and only need to flip a couple options. The trickier part is ensuring those changes survive gracefully the next time your distro wants to update the kernel.

[–] ashinadash@hexbear.net 1 points 1 week ago (1 children)

Ok but what if your dumbass distro used dracut and you had to go find out the analogues for the archwiki's mkinitcpio stuff thonk-cri That'd be super tough right.......

I will rebuild every time I update if necessary tho.

[–] ZWQbpkzl@hexbear.net 2 points 1 week ago (1 children)

Why the fuck is endeavor running dracut instead of mkinitcpio. I swear, every arch derivative that isn't just a fancy installer for arch is dangerous.

[–] ashinadash@hexbear.net 1 points 1 week ago (1 children)

My question also. I am choosing to discontinue installing Endeavour and plan to replace it with either normal Arch or CachyOS. I see lots of people gripe that Cachy uses Fish by default but dracut over mkinitcpio is way worse imo.

[–] ZWQbpkzl@hexbear.net 1 points 1 week ago (2 children)

Cachy uses Fish by default

Uhhh, if that's the default login shell I would call that worse because fish is not a POSIX compliant shell. Like I use fish, its great, but I have my bashrc drop me into fish. Like that's going to be a problem everyday.

Also I heard cachy doesn't use grub or systemd-boot but some weird bootloader called limine. So you might want to check what else they are doing weird in cachy land.

[–] h0ll0w5p4c3@hexbear.net 2 points 1 week ago

cachy doesn't use grub or systemd-boot but some weird bootloader called limine

You can choose between all three at install

[–] ashinadash@hexbear.net 1 points 1 week ago* (last edited 1 week ago) (1 children)

yea it is unending, I saw people complaining about non-posix-compliancy. "Default login shell" idk abt, fish is just what comes up when you click terminal, so I assume yes but I've never logged into a DE-less cachy.

Limine is their own ✨ special little guy! ✨ but you can use Grub or systemd-boot just fine and I do. I have one Limine test setup and I mean, it's fine, but they say "you can use it on a legacy EFI/BIOS system!" which might be cool as a Grub alternative, and you sure as hell cannot, the install errors out or fails to boot. Epic.

[–] ZWQbpkzl@hexbear.net 2 points 1 week ago (1 children)

FYI:You can always hit the kernel terminal with Ctrl+Alt+F1-12. One of those is your DE, usually F2 or F7. It depends on the DM. F1 should be the systemd boot log.

[–] ashinadash@hexbear.net 1 points 1 week ago* (last edited 1 week ago) (1 children)

Oh yeah, I forgor. So I did that and yea it's fish all the way down on Cachy. Heroic.

So, why should I care about POSIX compliance or fish over bash as an end user? I've heard a lot about it but never any reasoning and am legit curious.

[–] ZWQbpkzl@hexbear.net 2 points 1 week ago (1 children)

POSIX compliant shell means its backwards compatible with /bin/sh. If you encounter a script from some package that doesn't specify its interpreter with a shebang, #!, it default to your login shell. Usually that script will be for sh which fish will fail to parse. IIRC fish will actually refuse to execute scripts that don't have a shebang for this reason.

[–] ashinadash@hexbear.net 2 points 1 week ago (1 children)

Okay, fairly compelling. I guess I'm off to discover how to have bashrc drop me into fish instead of it being default. Ty for the knowledge.

[–] ZWQbpkzl@hexbear.net 2 points 1 week ago

There's different ways to do it but the main thing is you don't want bash to always drop into fish. Or else you could never run bash. You only want it to be fish if its in interactive mode.

Dropping this at the end of the bashrc should work:

[[ $- != *i* ]] || exec /usr/bin/fish

But I have [[ $- != *i* ]] && return at the top of my bashrc because I don't want any of the other settings processed.