[RESPONDED] Debian 12 on Framework laptop 16

It is doable to use Debian with a FW16 - while not officially tested. So expect extra steps to get things working.

You will want the later releases of Power Profile Daemon and the kernel (6.7.x or higher). Expect challenges around suspend as there are patches that may not have made it to Debian yet (but would be coming as things flow forward).

1 Like

Moving topic to correct section.

I’m currently using Kubuntu 22.04 on my 11th Gen Intel FW13. I’ve removed Snap and replaced it with Flatpak using GitHub - popey/unsnap: Quickly migrate from using snap packages to flatpaks.

The steps I took were:

  1.   git clone https://github.com/popey/unsnap
    
  2.   cd unsnap
    
  3.   ./unsnap
    
  4.   ./00-backup
    
  5.   ./01-install-flatpak
    
  6.   sudo apt install plasma-discover-backend-flatpak
    
  7.   ./03-install-flatpaks
    
  8.   ./04-remove-snaps
    
  9.   ./99-remove-snapd
    

Edit /etc/apt/preferences.d/nosnap.pref (you’ll need to use sudo since it’s not owned by your user account) to add:
Package: snapd
Pin: release a=*
Pin-Priority: -10

Finish is all off with: sudo apt update

I haven’t had any issues doing this, but YMMV. You should also read the documentation for unsnap. It isn’t really meant for general use, and may miss some Snap packages.

1 Like

That’s really helpful. Thanks! I’m using Kubuntu currently because I’m not ready to tackle Debian. I’m having issues with the BIOS and dual boot.

Thanks for your help! Do I need to change Kernels in order to get the AMD GPU drivers? apt can’t find the firmware.

Yep, this will do it. Two things I will remind folks:

  • First, if something breaks, that is going to be a community support items. Following these steps, should be fine, but I have to get that out of the way regardless.

  • Use Popey’s repo - I know them, I trust them, I do not know those from forked repos. So using Alan Pope’s repo (popey) is going to be where you want to be for unsnap.

My FW16 is supposed to arrive on Tuesday, and I plan to install Debian 12 (Bookworm) with the bookworm-backports kernel packages (currently at 6.6.13), so it will be interesting to see how this goes. I will only be using iGPU (I did not order a dGPU and have no interest in one) so that may simplify things.

Very interested to hear how it goes, I’m still debating just going for testing. I kinda want Plasma 6 somewhat sooner than otherwise.

1 Like

Has anyone run into an issue where KDE crashes sometimes when you open the audio settings? These messages get logged when the crash happens:

Summary
kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring sdma0 timeout, signaled seq=7734, emitted seq=7736
kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process  pid 0 thread  pid 0
kernel: amdgpu 0000:c1:00.0: amdgpu: GPU reset begin!
kernel: amdgpu 0000:c1:00.0: amdgpu: MODE2 reset
kernel: amdgpu 0000:c1:00.0: amdgpu: GPU reset succeeded, trying to resume
kernel: [drm] PCIE GART of 512M enabled (table at 0x00000080FFD00000).
kernel: amdgpu 0000:c1:00.0: amdgpu: SMU is resuming...
kernel: amdgpu 0000:c1:00.0: amdgpu: SMU is resumed successfully!
kernel: [drm] DMUB hardware initialized: version=0x08000500
kernel: [drm] kiq ring mec 3 pipe 1 q 0
kernel: [drm] VCN decode and encode initialized successfully(under DPG Mode).
kernel: amdgpu 0000:c1:00.0: [drm:jpeg_v4_0_hw_init [amdgpu]] JPEG decode initialized successfully.
kernel: amdgpu 0000:c1:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 1
kernel: amdgpu 0000:c1:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 1
kernel: amdgpu 0000:c1:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
kernel: amdgpu 0000:c1:00.0: amdgpu: recover vram bo from shadow start
kernel: amdgpu 0000:c1:00.0: amdgpu: recover vram bo from shadow done
kernel: [drm] ring gfx_32793.1.1 was added
plasmashell[4086]: [GFX1-]: GFX: RenderThread detected a device reset in PostUpdate
kwin_wayland_wrapper[1441]: kwin_scene_opengl: A graphics reset not attributable to the current GL context occurred.
kernel: [drm] ring compute_32793.2.2 was added
kernel: [drm] ring sdma_32793.3.3 was added
kernel: [drm] ring gfx_32793.1.1 test pass
kernel: [drm] ring gfx_32793.1.1 ib test pass
kernel: [drm] ring compute_32793.2.2 test pass
kernel: [drm] ring compute_32793.2.2 ib test pass
kernel: [drm] ring sdma_32793.3.3 test pass
kernel: [drm] ring sdma_32793.3.3 ib test pass
kernel: amdgpu 0000:c1:00.0: amdgpu: GPU reset(1) succeeded!
kwin_wayland_wrapper[1441]: kwin_scene_opengl: Waiting for glGetGraphicsResetStatus to return GL_NO_ERROR timed out!
kwin_wayland_wrapper[1441]: OpenGL vendor string:                   AMD
kwin_wayland_wrapper[1441]: OpenGL renderer string:                 AMD Radeon Graphics (gfx1103_r1, LLVM 15.0.6, DRM 3.49, 6.1.0-20-amd64)
kwin_wayland_wrapper[1441]: OpenGL version string:                  4.6 (Core Profile) Mesa 22.3.6
kwin_wayland_wrapper[1441]: OpenGL shading language version string: 4.60
kwin_wayland_wrapper[1441]: Driver:                                 Unknown
kwin_wayland_wrapper[1441]: GPU class:                              Unknown
kwin_wayland_wrapper[1441]: OpenGL version:                         4.6
kwin_wayland_wrapper[1441]: GLSL version:                           4.60
kwin_wayland_wrapper[1441]: Mesa version:                           22.3.6
kwin_wayland_wrapper[1441]: X server version:                       1.22.1
kwin_wayland_wrapper[1441]: Linux kernel version:                   6.1
kwin_wayland_wrapper[1441]: Requires strict binding:                no
kwin_wayland_wrapper[1441]: GLSL shaders:                           yes
kwin_wayland_wrapper[1441]: Texture NPOT support:                   yes
kwin_wayland_wrapper[1441]: Virtual Machine:                        no
kwin_wayland_wrapper[1441]: BlurConfig::instance called after the first use - ignoring
kwin_wayland_wrapper[1441]: ZoomConfig::instance called after the first use - ignoring
kwin_wayland_wrapper[1441]: WindowViewConfig::instance called after the first use - ignoring
kwin_wayland_wrapper[1441]: SlidingPopupsConfig::instance called after the first use - ignoring
kwin_wayland_wrapper[1441]: SlideConfig::instance called after the first use - ignoring
kwin_wayland_wrapper[1441]: OverviewConfig::instance called after the first use - ignoring
kwin_wayland_wrapper[1441]: KscreenConfig::instance called after the first use - ignoring
kwin_wayland_wrapper[1441]: DesktopGridConfig::instance called after the first use - ignoring

The last bit (from the line about “a graphics reset not attributable” until the end) gets repeated, many times.

I’m having trouble figuring out what’s wrong and how to fix it, but one part that looks odd to me is that it says “Driver: unknown” which leads me to believe the iGPU is not supported… what that has to do with the audio menu, I don’t know.

I don’t have the dGPU.

Edit: I found these lines get logged when booting:

Summary
kernel: amdgpu 0000:c1:00.0: firmware: failed to load amdgpu/gc_11_0_1_mes_2.bin (-2)
kernel: firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
kernel: amdgpu 0000:c1:00.0: firmware: failed to load amdgpu/gc_11_0_1_mes_2.bin (-2)
kernel: amdgpu 0000:c1:00.0: Direct firmware load for amdgpu/gc_11_0_1_mes_2.bin failed with error -2
kernel: [drm] try to fall back to amdgpu/gc_11_0_1_mes.bin
kernel: amdgpu 0000:c1:00.0: firmware: direct-loading firmware amdgpu/gc_11_0_1_mes.bin
kernel: amdgpu 0000:c1:00.0: firmware: direct-loading firmware amdgpu/gc_11_0_1_mes1.bin

So something seems to be wrong with the firmware that’s installed, but I don’t know where to get the right ones - I’ve already installed the nonfree firmware-amd-graphics (it was by default), and the wiki link doesn’t have any relevant information.

Edit: Upgrading to kernel 6.6, as described here, and adding the missing firmware files as described later in the thread, seems to have fixed the issue.

1 Like

Debian stable has an ancient snapshot from before Phoenix hardware even went to market.
Please file a bug with Debian to get the snapshot updated.

I strongly suggest you update all amdgpu firmware not just the missing binaries. There are other issues that will be fixed too you just haven’t hit.

1 Like

Indeed, the debian bookworm firmware is old, as a workaround i simply took the latest firmware from here:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
and copied it over to the firmware directory.

My debian bookworm is running quite stable now, including gpu and wifi, however i do still have some problems with suspend and hibernate, so i am currently avoiding those.

I’m running Debian Bookworm / 12 on FW16, with kernel 6.6.13+bpo-amd64.
Would it be better to have a newer kernel installed?
sources.list:

deb http://deb.debian.org/debian bookworm main non-free-firmware contrib non-free
deb http://deb.debian.org/debian bookworm-updates main non-free-firmware contrib non-free
deb http://security.debian.org/debian-security/ bookworm-security main non-free-firmware contrib non-free
deb http://deb.debian.org/debian bookworm-backports contrib main non-free non-free-firmware
deb http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware

I do not see kernel 6.7 or newer as deb package elsewhere.

6.6 is the newest you’ll get on Debian with backports (for v12) or testing (trixie, future v13). You’d have to go to Sid, and even then it’s only 6.7 at the moment.

I’d avoid Sid (aka unstable), unless you really want to test things out. It’s known as unstable for a reason. If you really want a newer kernel & packages, I’d look at another distro, Debian is famously (notoriously?) slow to pull in updates, since stability is one of the major requirements, even testing is quite stable most of the time.

I installed 6.8.8-x64v4-xanmod1. Is that wise? On this FW16?

Does the system run and so on? In which case, probably fine. But now you’re responsible for issues, and keeping it up to date, etc.

Yes. I know. I have some experience with Linux :wink:
I moved from Debian 12 to Testing. I had some small issues with dependencies, but all sorted out.
Xanmod 6.8.8 is running fine, for now.

I’m unfamiliar with Xanmod kernel. You’re making me interested, I was originally just going to run Debian testing installed on ZFS root (see Debian Bookworm Root on ZFS — OpenZFS documentation), which I’ll just set the sources to testing, rather than bookworm, when doing the install.

Contemplating ZFS native encryption.

Debian testing has 6.7.12 as of May 3: https://tracker.debian.org/pkg/linux-signed-amd64

Yeah, noticed that it update just as I was installing on my FW16

I got my Framework 16 and am running Debian testing on it, with security updates from unstable. Working well for me - no complaints! I installed using the latest daily testing snapshot ISO.

1 Like