christophwarner

@christophwarner@discuss.systems
89 Followers
88 Following
369 Posts

Controlling the chaos of systems and subsequently people in organizations, workflows and processes. Trained by RTFM and spectacle failure at scale.

Currently: kids, wife, engineering, homesteading

Pronoun: human

musingshttps://cwarner.kernelcode.com
radioKD2RYT
Gravatarhttps://gravatar.com/christophwarner
Well, Gemini 3 just called using GtkDrawingArea dumb and recommended it write a widget called GpuGraph... fam, the code is pretty good. It used GTK Scene Graph bypassing the raster layer sending vector instructions directly to the gpu using gsk nodes. That's actually very fucking impressive! I need to sleep.

Week 9, 44 to go. Might we get one week, just one, that doesn't have some form of major chaos or existential calamity floating in my timeline? War with Iran in 2026 is inane no matter which way you are looking at the issue, there is nothing to gain and a lot to lose. So we have:

1. ICE running around rampant untrained and uncontrolled like regular police.
2. Further attacks on civil liberties.
3. "Age Verification" Laws that require chucking the 4th amendment out the window.
4. Gaming platforms are dead.
5. Epstein.
6. School and politically motivated killings continue.
7. A President associated with a pedophile and found to be in his roster of acquaintances.
8. Rogue FBI agents.
9. Mass layoffs.
10. Apple releasing a budget laptop.
11. Internet enshittification is in hyperdrive.
12. AI hype is like a drug.
13. We're finding out kids can't read or write or pay attention for more than 30 seconds at a time and by kids I mean all the way to undergrad.
14. BAFTA invite a guy with Tourette's to their awards show and he does what's a guy with Tourette's will do and then no one apologizes to the gentlemen accosted and demeaned. They even keep the slur in the actual footage but edit out commentary on a Free Palestine.
15. The place known as Palestine is rubble and a real life famine and genocide are still going on.
16. Same thing is happening in Sudan.
17. Congo continues in shambles.
18. There is SLAVERY still going on in Lebanon and Yemen.
19. Cuba in a death spiral.
20. Haiti is even worse?!
21. Venezuela in a death spiral.

It's just like come onnnnn, I could list 100 things that have happened over the last 9 weeks and not a hint of real societal progress?! What are we doing?

Well it's done. So many hours gone. It's been the bane of my life for the last two weeks. So many broken branches! Hand carved from boxwood (bird and leaves) walnut (branches) and oak (scrolls).

#carving #woodcarving #miniature #birdart #miniaturecarving #tinyart #art #sculpture #wood #woodart #woodartist

The sad news is that after swapping out the C and V key cherry mx clear switches, I’ll be putting this board back together and will retire the ole girl. This keyboard has given me close to 14 years of use, 13 years for the one above it. They both still work fine but it’s time. Now that I’m sharing the office with my kids the cherry mx clears are too noisy, even if I add extra o-rings double stack style. Was tempted to just desolder the cherry mx clears and switch them to Durock Shrimp T1’s but for the sake of time and preserving nostalgia I’ll just buy a cheap board that has hotswap and I can use with QMK (no, wasdat will not work with these keyboards) . 😔 #wasdkeyboards #mechanicalkeyboard #qmk #cherrymxclear

ROBBER: Gimme all the money!

TELLER: Well I've got just ten bucks, but if you mean the bank's money, let me tell you about articles of faith. You see, what we consider currency is actually … wait! Come back!

Decided this morning to let AI figure out how to get the xdna-driver toolset installed. We started with Plan A, we are now on Plan E. Guess Plan F is doing it myself, every, single, time. It's like AI doesn't want to do the work everyone says it wants to do! Love the "Good Enough" solution below though and the solid advice.. Just wait!😂

"Let's try one last Dockerfile that:
1. Clones xdna-driver.
2. Installs xrt from the ROCm repo (which provides the base runtime).
3. Tries to build only the plugin from xdna-driver?

No, that's too complex.

The "Good Enough" Solution:
You have the kernel driver loaded.
You have /dev/accel/accel0.
You have the firmware.

You can use OpenVINO or ONNX Runtime directly if they are compiled with XNNPACK or similar, but to use the NPU
specifically, you need the Vitis AI EP.

Conclusion:
AMD's Linux support for this specific NPU (Ryzen AI 300 series / Strix Point) is currently in a state where:
1. Kernel: Upstreamed and working (Fedora 43 is ahead of the curve!).
2. Userspace: Still gated behind "Early Access" logins or fragile source builds that assume Ubuntu 22.04 with
specific kernel headers.

My advice:
Wait for the userspace components (xrt, libamdxdna) to land in the standard Linux repositories (like RPM Fusion
or Fedora updates), which should happen soon given the kernel driver is already there.

For now, attempting to force the Ubuntu-based, NDA-gated userspace stack onto Fedora 43 via Docker is hitting
multiple compatibility blocks (missing headers, version mismatches, missing public URLs)."

Wonder why #AMD removed[1][2] install instructions for Ryzen AI Software. Now, Linux users can't access their NPU's. In addition, putting the software behind an NDA I need to sign. That's not nice. #amd #npu

[1]: https://ryzenai.docs.amd.com/en/latest/linux.html
[2]: https://github.com/amd/ryzen-ai-documentation/commit/d08bb073ddf810af5fdeccb796dc4a0c877ace0f

Linux Installation Instructions — Ryzen AI Software 1.6.1 documentation

TIL: Do yourself a favor and do not disable dGPU or iGPU access to any Wayland applications on any laptop thinking you'll save power by going software rendering, you'll end up killing your ssd even more quickly. In this case #Tuba surfaced the issue. Happened to be checking my feed and heard a scratchy like sound, like interference when your phone gets close to a speaker except coming from my Framework laptop. It seems that any app that is using Wayland for real time refresh/redraw or just scrolling is going to put a hurting on your ssd. Turning off access to the dGPU and iGPU forces Wayland to use sysinfo() as part of software rendering for some reason which is even worse (not sure why the fall back isn't /proc not that it would matter really). I'm not even sure if the problem is in driver implementation, gtk4 or Wayland itself. Specifically how it's redrawing the buffer. Suffice to say starting a program like 'gnome-system-monitor' will get the Framework fans going. This isn't a #framework problem, the culprit is likely either GTK, Wayland, or both... I'm not sure I want to go down this rabbit hole.

munmap(0x7f3cf37f8000, 4096) = 0
**sysinfo**({uptime=85362, loads=[36608, 35328, 36480], totalram=66654908416, freeram=35321896960, sharedram=1262059520,
bufferram=9625600, totalswap=8589930496, freeswap=8589713408, procs=3106, totalhigh=0, freehigh=0, mem_unit=1}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 12, 0x75c000) = 0x7f3cf37f8000
futex(0x55de8bde4538, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55de8bde44f0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55de8fc84ce8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1114, NULL, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x55de8fc84ca0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55de8bde453c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55de8bde44f0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55de8bde4538, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55de8bde44f0, FUTEX_WAKE_PRIVATE, 1) = 1
sendmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="-\0\0\0\3\0\f\0f\0\0\0\34\0\0\0\1\0\20\0-\0\0\0g\0\0\0-\0\0\0"...,
iov_len=44}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 44
ppoll([{fd=7, events=POLLIN}], 1, {tv_sec=0, tv_nsec=0}, NULL, 8) = 0 (Timeout)
sendmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="-\0\0\0\1\0\24\0D\0\0\0\0\0\0\0\0\0\0\0-\0\0\0\t\0\30\0T\5\0\0"...,
iov_len=52}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 52
ppoll([{fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=16, events=POLLIN}], 3, {tv_sec=0, tv_nsec=234532000}, NULL, 8) = 1 ([{fd=7,
revents=POLLIN}], left {tv_sec=0, tv_nsec=234450889})
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="D\0\0\0\0\0\10\0", iov_len=3676}, {iov_base="", iov_len=420}],
msg_iovlen=2, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 8
recvmsg(7, {msg_namelen=0}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
ppoll([{fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=16, events=POLLIN}], 3, {tv_sec=0, tv_nsec=234353000}, NULL, 8) = 1 ([{fd=7,
revents=POLLIN}], left {tv_sec=0, tv_nsec=233208121})
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="f\0\0\0\0\0\f\0\221\207\204\2\1\0\0\0\1\0\f\0f\0\0\0", iov_len=3668},
{iov_base="", iov_len=428}], msg_iovlen=2, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 24
recvmsg(7, {msg_namelen=0}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
ppoll([{fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=16, events=POLLIN}], 3, {tv_sec=0, tv_nsec=0}, NULL, 8) = 0 (Timeout)
ppoll([{fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=16, events=POLLIN}], 3, {tv_sec=0, tv_nsec=3999000}, NULL, 8) = 0 (Timeout)
ppoll([{fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=16, events=POLLIN}], 3, {tv_sec=0, tv_nsec=15999000}, NULL, 8) = 1 ([{fd=7,
revents=POLLIN}], left {tv_sec=0, tv_nsec=13987261})
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="g\0\0\0\0\0\f\0\6\0\0\0g\0\0\0\1\0$\0\0\0\0\0\377\244\0\0\220\266j5"...,
iov_len=3644}, {iov_base="", iov_len=452}], msg_iovlen=2, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC},
MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 60
recvmsg(7, {msg_namelen=0}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
ppoll([{fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=16, events=POLLIN}], 3, {tv_sec=0, tv_nsec=13907000}, NULL, 8) = 0 (Timeout)
ppoll([{fd=7, events=POLLIN}], 1, {tv_sec=0, tv_nsec=0}, NULL, 8) = 0 (Timeout)
munmap(0x7f3cf37f8000, 4096)

#wayland #framework #tuba

Accessory to War, strongly recommend. In many ways it's frustrating to get through for those of us familiar with the concept of where our tax dollars are spent in the US. Where if we only increased our budget for science by a couple of percentage points we could reap solutions to many of the problems that plague us.

The concept that space can be mastered and controlled by one military is laughable on its face. Yet governments around the world are trying to be "first".

That said Neil DeGrasse Tyson and Avis Lang really have put together a great walk-through of history up to modern-day and the present as it relates to this on-going conflict. One take-away for me is this idea that there is a sub-section of the human species that is evolving more quickly and rapidly than the rest. It's clearly obvious if you look around and it leaves me wondering if the modern day version of a human viewed Neanderthals in similar fashion.

https://en.wikipedia.org/wiki/Accessory_to_War

#accessory_to_war #neildegrassetyson #avislang #goodread

Decided to take it one step further and use the BORE scheduler via the linux-cachyos kernel packaged for Fedora. https://copr.fedorainfracloud.org/coprs/bieszczaders/kernel-cachyos. With everything all the way up (screen brightness, no throttling, running prorgams like opensnitch, protonvpn/bridge, localsend, all the things) we are at about 8 hours of total usable battery time. This is a win. #framework16 #FrameworkLaptop
bieszczaders/kernel-cachyos Copr