Posts Tagged ‘strix halo’

No Comments

Enable WakeOnLan (WOL) on Strix Halo

Saturday, November 15th, 2025

Enter the bios and enable Wake-On-LAN there.

Now normally, the only thing to do is sending the magic WOL packet to the correct MAC address on your LAN.

How to find the MAC address of your Strix Halo:

Boot your machine , open a terminal and type

ip a

look for eth0 or enoX and the line, link/ether

00:1A:2B:3C:4D:5E (example only)

Be aware that Wake-On-LAN can only work on Ethernet, not Wi-Fi.

Power off your Strix Halo

On another machine or laptop run:

wakeonlan <MAC-address> 
whatis wakeonlan
wakeonlan (1) - Perl script to wake up computers

If you need to install:

sudo apt install wakeonlan

But this did not work:

wakeonlan <MAC-address> 

After powering off and issuing this command from my laptop, nothing happened.

So I started Strix Halo manually by pressing the power button and started debugging.

sudo ethtool eno1 | grep Wake
Supports Wake-on: pumbg
Wake-on: d

What does this mean?

According to Qwen-Coder:

This indicates which wake-on-LAN features your NIC supports, using a code:
Letter Meaning
p Magic Packet – The standard WoL packet that can wake the machine
u Unicast – Wake from a unicast packet (specific to your MAC address)
m Multicast – Wake from multicast packets
b Broadcast – Wake from broadcast packets
g Gigabit – Wake-on-LAN over gigabit Ethernet (if applicable)

Wake-on: d means it is disabled software wise.

You have to enable it in the software as well, a bit surprising.

Enable WakeOnLan on your ethernet, also activate WOL in software

sudo ethtool -s eno1 wol g

After that.

sudo ethtool eno1 | grep Wake
Supports Wake-on: pumbg
Wake-on: g

So g means, it is enabled now.

I shutdown my Strix Halo, and now I could start it from my laptop:

wakeonlan <MAC-address>

But it stopped working after reboot, it only worked once.

Enable Wake-On-LAN on your ethernet interface, persistently

To make it persistent after reboot, you have to configure it with nmcli:

Lookup the connection name for ethernet (netplan-eno1)

sudo nmcli d

Then make it persistent:

sudo nmcli c modify "netplan-eno1" 802-3-ethernet.wake-on-lan magic

Links and resources:

  • https://wiki.debian.org/WakeOnLan
No Comments

Setting up unified memory for Strix Halo correctly on Ubuntu 25.04 or 25.10

Wednesday, November 12th, 2025

You have followed the online instructions, but upon running the Strix Halo Toolbox, you are still encountering memory errors on your 128GB Strix Halo system, and qwen-image-studio fails to launch.

File "/opt/venv/lib64/python3.13/site-packages/torch/utils/_device.py", line 104, in torch_function
return func(*args, **kwargs)
torch.OutOfMemoryError: HIP out of memory. Tried to allocate 3.31 GiB. GPU 0 has a total capacity of 128.00 GiB of which 780.24 MiB is free. Of the allocated memory 57.70 GiB is allocated by PyTorch, and 75.82 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_HIP_ALLOC_CONF=expandable_segments:True to avoid fragmentation. 

(https://github.com/kyuz0/amd-strix-halo-image-video-toolboxes/issues)

You’ve verified your configuration using sudo dmesg | grep "amdgpu:.*memory", and the output indicates that the GTT size is correct.

It is likely that you configured the GTT size using the outdated and deprecated parameter amdgpu.gttsize, which may explain why the setting is not taking effect. Alternatively, you may have used an incorrect prefix—amdttm. instead of the correct ttm..

Please verify your configuration to ensure the proper syntax is used:

How to check the unified memory setting on AMD Strix Halo/Krackan Point:

cat /sys/module/ttm/parameters/p* | awk '{print $1 / (1024 * 1024 / 4)}'

The last two lines must be the same, and the number you see is amount of unified memory in GB.

Hot to setup unified memory correctly

In the BIOS, set the GMA (Graphics Memory Allocation) to the minimum value: 512MB. Then, add a kernel boot parameter to enable unified memory support.

Avoid outdated methods, they no longer work. Also, note that the approach differs slightly depending on your hardware: AMD Ryzen processors require a different configuration (ttm) compared to Instinct-class (professional workstation) GPUs (amdttm).

To max out unified memory:

Edit /etc/default/grub for and change the GRUB_CMDLINE_LINUX_DEFAULT line to:

128GB HALO

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=off ttm.pages_limit=33554432 ttm.page_pool_size=33554432"

96GB HALO

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=off ttm.pages_limit=25165824 ttm.page_pool_size=25165824"

64GB HALO

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=off ttm.pages_limit=16777216 ttm.page_pool_size=16777216"

32GB HALO

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=off ttm.pages_limit=8388608 ttm.page_pool_size=8388608"

The math here is 32GB: 32 x 1024 * 1024 * 1024 / 4096 -> 32 * 1024 * 256

The default page = 4096.

After you’ve edited the /etc/default/grub:

sudo update-grub2
reboot

You probably should leave some memory (~4GB) for your system to run smoothly, so edit above lines accordingly.

Check your config

To check if you’ve done it correctly, reboot and check:

cat /sys/module/ttm/parameters/p* | awk '{print $1 / (1024 * 1024 / 4)}'
96
96

Here the total memory of 96GB is set on a 96GB Strix Halo

If the last two numbers are not the same, try debugging the problem.

Debugging unified memory problem

Check dmesg for AMD VRAM and GTT size:

sudo dmesg | grep “amdgpu:.*memory”

[ 10.290438] amdgpu 0000:64:00.0: amdgpu: amdgpu: 512M of VRAM memory ready
[ 10.290440] amdgpu 0000:64:00.0: amdgpu: amdgpu: 131072M of GTT memory ready.

This seem correct, but setting set the GTT size with the old method amdgpu.gtt_size, will report the right size of GTT memory, but it can’t be used by ROCm unless  you set the TTM memory correctly You’ll notice an other warning in the dmesg output during early boot.

sudo dmesg | grep “amdgpu”

[ 17.652893] amdgpu 0000:c5:00.0: amdgpu: [drm] Configuring gttsize via module parameter is deprecated, please use ttm.pages_limit
[ 17.652895] amdgpu 0000:c5:00.0: amdgpu: [drm] GTT size has been set as 103079215104 but TTM size has been set as 48956567552, this is unusual

Furthermore you see a lot of sources mentioning to set amdttm.pages_limit or amdttm.page_pool_size. This won’t work with your Strix Halo but these settings are for AMD Instinct machines.

Confusing, yes, but just be careful to use the right settings in /etc/default/grub for  GRUB_CMDLINE_LINUX_DEFAULT

And don’t forget just check it with the mentioned oneliner:

cat /sys/module/ttm/parameters/p* | awk '{print $1 / (1024 * 1024 / 4)}'

 

Links and resources:

  • https://github.com/ROCm/ROCm/issues/5562#issuecomment-3452179504
  • https://strixhalo.wiki/
  • https://blog.linux-ng.de/2025/07/13/getting-information-about-amd-apus/
  • https://www.jeffgeerling.com/blog/2025/increasing-vram-allocation-on-amd-ai-apus-under-linux