My new toy: first steps with AI on Linux
Ever since I bought my AI mini workstation from HP, my goal was to run hardware accelerated artificial intelligence workloads in a Linux environment. Read more to learn how things turned out on Ubuntu and Fedora!
I have been using various AI tools for a while now. Generating pictures about some impossible situations, like a dinosaur climbing the Hungarian parliament building, finding information where a simple web search is useless, or explaining syslog-ng code to me. All these are nice, sometimes even useful, however I prefer to know what is behind the magic. Well, at least part of it :-) I want to get a bottom up view of various components and processes, and getting my hands dirty. Hopefully this miniature but powerful box will help me in getting known with AI better.

AI in a miniature box :-)
Testing AI on Ubuntu
As mentioned in my installing Ubuntu blog, the 24.04 LTS installer did not work on this machine. I found a nice tutorial about AI on the Ryzen AI Max+ 395 which mentioned using 25.10, so I installed that version instead of the LTS. It installed without any troubles, 3D graphics worked out of the box.
However, AI is a different story. ROCm, hardware acceleration for AI workloads on AMD chips, is only packaged for Ubuntu LTS releases. The workaround described in the tutorial was to use distrobox. Unfortunately, the steps described in the tutorial did not work. Containerization brought in various problems with permissions, software availability, and so on. Most likely an experienced distrobox user could resolve these. In my case, after reading the distrobox documentation for hours, I just gave up.
Getting started with hardware accelerated AI on Fedora
Next, I turned to Fedora Linux 43. The wiki page of the Fedora Heterogeneous Computing Special Interest Group proved to be a good starting point. Fedora has ROCm packaged as part of the distro, and the wiki page gives clear instructions how to get started.
Once I set up user rights and installed the necessary packages, I was able to get some info about my hardware. You can see the output of rocminfo and rocm-clinfo at the bottom of this blog. I did not want to shorten those, but given the many lines of output, I was not sure if anyone would read the rest of my blog :-)
Testing with llama
Of course, seeing info about the hardware is nice, but it’s even better to see it in action. The Ubuntu ROCm tutorial mentioned llama, so I started with that one. Luckily Fedora includes it as a ready to install package, so I did not have to compile it from source. I also installed huggingface-hub, also from a package:
dnf install python3-huggingface-hub llama-cpp
This allowed me to download the model mentioned in the tutorial, and ask a few questions from the downloaded LLM. For now I just used the sample command line, but based on the output llama found the hardware and used it. Next up: learn more about the available models.
You can find the output of the following command at the end of this blog:
llama-cli -m ~/models/llama-2-7b.Q4_K_M.gguf --no-mmap -ngl 99 -p "Explain quantum computing in simple terms:" -n 256
Testing with pytorch
When I mentioned a friend that hardware accelerated AI seems to work on my Linux box, he suggested to me to try it with PyTorch. Luckily this was available as a ready to install package for Fedora as well:
dnf install python3-torch
I was quite a bit surprised, as the above command installed 8 GB worth of RPM packages (texlive accounting for a good part of it). I do not know much about PyTorch, but did a quick test anyway. Here is the really complex Pyhon code I built based on the documentation:
import torch
x = torch.rand(5, 3)
print(x)
print('Is hw AI accel available')
print(torch.cuda.is_available())
And here is the output from the above code:
tensor([[0.1034, 0.0183, 0.1233],
[0.1787, 0.0097, 0.8426],
[0.2872, 0.6351, 0.8468],
[0.8226, 0.2991, 0.8539],
[0.2061, 0.6422, 0.8146]])
Is hw AI accel available
True
It’s simple, but looks promising :-)
Outputs
Ooutput of rocminfo and rocm-clinfo
czanik@fedora:~$ rocminfo
ROCk module is loaded
=====================
HSA System Attributes
=====================
Runtime Version: 1.1
Runtime Ext Version: 1.7
System Timestamp Freq.: 1000.000000MHz
Sig. Max Wait Duration: 18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model: LARGE
System Endianness: LITTLE
Mwaitx: DISABLED
XNACK enabled: NO
DMAbuf Support: YES
VMM Support: YES
==========
HSA Agents
==========
*******
Agent 1
*******
Name: AMD RYZEN AI MAX+ PRO 395 w/ Radeon 8060S
Uuid: CPU-XX
Marketing Name: AMD RYZEN AI MAX+ PRO 395 w/ Radeon 8060S
Vendor Name: CPU
Feature: None specified
Profile: FULL_PROFILE
Float Round Mode: NEAR
Max Queue Number: 0(0x0)
Queue Min Size: 0(0x0)
Queue Max Size: 0(0x0)
Queue Type: MULTI
Node: 0
Device Type: CPU
Cache Info:
L1: 49152(0xc000) KB
Chip ID: 0(0x0)
ASIC Revision: 0(0x0)
Cacheline Size: 64(0x40)
Max Clock Freq. (MHz): 5187
BDFID: 0
Internal Node ID: 0
Compute Unit: 32
SIMDs per CU: 0
Shader Engines: 0
Shader Arrs. per Eng.: 0
WatchPts on Addr. Ranges:1
Memory Properties:
Features: None
Pool Info:
Pool 1
Segment: GLOBAL; FLAGS: FINE GRAINED
Size: 131136832(0x7d0fd40) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:4KB
Alloc Alignment: 4KB
Accessible by all: TRUE
Pool 2
Segment: GLOBAL; FLAGS: EXTENDED FINE GRAINED
Size: 131136832(0x7d0fd40) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:4KB
Alloc Alignment: 4KB
Accessible by all: TRUE
Pool 3
Segment: GLOBAL; FLAGS: KERNARG, FINE GRAINED
Size: 131136832(0x7d0fd40) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:4KB
Alloc Alignment: 4KB
Accessible by all: TRUE
Pool 4
Segment: GLOBAL; FLAGS: COARSE GRAINED
Size: 131136832(0x7d0fd40) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:4KB
Alloc Alignment: 4KB
Accessible by all: TRUE
ISA Info:
*******
Agent 2
*******
Name: gfx1151
Uuid: GPU-XX
Marketing Name: Radeon 8060S Graphics
Vendor Name: AMD
Feature: KERNEL_DISPATCH
Profile: BASE_PROFILE
Float Round Mode: NEAR
Max Queue Number: 128(0x80)
Queue Min Size: 64(0x40)
Queue Max Size: 131072(0x20000)
Queue Type: MULTI
Node: 1
Device Type: GPU
Cache Info:
L1: 32(0x20) KB
L2: 2048(0x800) KB
L3: 32768(0x8000) KB
Chip ID: 5510(0x1586)
ASIC Revision: 0(0x0)
Cacheline Size: 128(0x80)
Max Clock Freq. (MHz): 2900
BDFID: 50432
Internal Node ID: 1
Compute Unit: 40
SIMDs per CU: 2
Shader Engines: 2
Shader Arrs. per Eng.: 2
WatchPts on Addr. Ranges:4
Coherent Host Access: FALSE
Memory Properties: APU
Features: KERNEL_DISPATCH
Fast F16 Operation: TRUE
Wavefront Size: 32(0x20)
Workgroup Max Size: 1024(0x400)
Workgroup Max Size per Dimension:
x 1024(0x400)
y 1024(0x400)
z 1024(0x400)
Max Waves Per CU: 32(0x20)
Max Work-item Per CU: 1024(0x400)
Grid Max Size: 4294967295(0xffffffff)
Grid Max Size per Dimension:
x 4294967295(0xffffffff)
y 4294967295(0xffffffff)
z 4294967295(0xffffffff)
Max fbarriers/Workgrp: 32
Packet Processor uCode:: 34
SDMA engine uCode:: 18
IOMMU Support:: None
Pool Info:
Pool 1
Segment: GLOBAL; FLAGS: COARSE GRAINED
Size: 65568416(0x3e87ea0) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:2048KB
Alloc Alignment: 4KB
Accessible by all: FALSE
Pool 2
Segment: GLOBAL; FLAGS: EXTENDED FINE GRAINED
Size: 65568416(0x3e87ea0) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:2048KB
Alloc Alignment: 4KB
Accessible by all: FALSE
Pool 3
Segment: GROUP
Size: 64(0x40) KB
Allocatable: FALSE
Alloc Granule: 0KB
Alloc Recommended Granule:0KB
Alloc Alignment: 0KB
Accessible by all: FALSE
ISA Info:
ISA 1
Name: amdgcn-amd-amdhsa--gfx1151
Machine Models: HSA_MACHINE_MODEL_LARGE
Profiles: HSA_PROFILE_BASE
Default Rounding Mode: NEAR
Default Rounding Mode: NEAR
Fast f16: TRUE
Workgroup Max Size: 1024(0x400)
Workgroup Max Size per Dimension:
x 1024(0x400)
y 1024(0x400)
z 1024(0x400)
Grid Max Size: 4294967295(0xffffffff)
Grid Max Size per Dimension:
x 4294967295(0xffffffff)
y 4294967295(0xffffffff)
z 4294967295(0xffffffff)
FBarrier Max Size: 32
ISA 2
Name: amdgcn-amd-amdhsa--gfx11-generic
Machine Models: HSA_MACHINE_MODEL_LARGE
Profiles: HSA_PROFILE_BASE
Default Rounding Mode: NEAR
Default Rounding Mode: NEAR
Fast f16: TRUE
Workgroup Max Size: 1024(0x400)
Workgroup Max Size per Dimension:
x 1024(0x400)
y 1024(0x400)
z 1024(0x400)
Grid Max Size: 4294967295(0xffffffff)
Grid Max Size per Dimension:
x 4294967295(0xffffffff)
y 4294967295(0xffffffff)
z 4294967295(0xffffffff)
FBarrier Max Size: 32
*******
Agent 3
*******
Name: aie2
Uuid: AIE-XX
Marketing Name: AIE-ML
Vendor Name: AMD
Feature: AGENT_DISPATCH
Profile: BASE_PROFILE
Float Round Mode: NEAR
Max Queue Number: 1(0x1)
Queue Min Size: 64(0x40)
Queue Max Size: 64(0x40)
Queue Type: SINGLE
Node: 0
Device Type: DSP
Cache Info:
L2: 2048(0x800) KB
L3: 32768(0x8000) KB
Chip ID: 0(0x0)
ASIC Revision: 0(0x0)
Cacheline Size: 0(0x0)
Max Clock Freq. (MHz): 0
BDFID: 0
Internal Node ID: 0
Compute Unit: 0
SIMDs per CU: 0
Shader Engines: 0
Shader Arrs. per Eng.: 0
WatchPts on Addr. Ranges:0
Memory Properties:
Features: AGENT_DISPATCH
Pool Info:
Pool 1
Segment: GLOBAL; FLAGS: KERNARG, COARSE GRAINED
Size: 131136832(0x7d0fd40) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:4KB
Alloc Alignment: 4KB
Accessible by all: TRUE
Pool 2
Segment: GLOBAL; FLAGS: COARSE GRAINED
Size: 65536(0x10000) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:0KB
Alloc Alignment: 4KB
Accessible by all: TRUE
Pool 3
Segment: GLOBAL; FLAGS: COARSE GRAINED
Size: 131136832(0x7d0fd40) KB
Allocatable: TRUE
Alloc Granule: 4KB
Alloc Recommended Granule:4KB
Alloc Alignment: 4KB
Accessible by all: TRUE
ISA Info:
*** Done ***
and
czanik@fedora:~$ rocm-clinfo
Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 2.1 AMD-APP (3649.0)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback
Platform Name: AMD Accelerated Parallel Processing
Number of devices: 1
Device Type: CL_DEVICE_TYPE_GPU
Vendor ID: 1002h
Board name: Radeon 8060S Graphics
Device Topology: PCI[ B#197, D#0, F#0 ]
Max compute units: 20
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 1024
Max work group size: 256
Preferred vector width char: 4
Preferred vector width short: 2
Preferred vector width int: 1
Preferred vector width long: 1
Preferred vector width float: 1
Preferred vector width double: 1
Native vector width char: 4
Native vector width short: 2
Native vector width int: 1
Native vector width long: 1
Native vector width float: 1
Native vector width double: 1
Max clock frequency: 2900Mhz
Address bits: 64
Max memory allocation: 57070749280
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 8
Max image 2D width: 16384
Max image 2D height: 16384
Max image 3D width: 16384
Max image 3D height: 16384
Max image 3D depth: 8192
Max samplers within kernel: 16
Max size of kernel argument: 1024
Alignment (bits) of base address: 2048
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: Yes
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 128
Cache size: 32768
Global memory size: 67142057984
Constant buffer size: 57070749280
Max number of constant args: 8
Local memory type: Local
Local memory size: 65536
Max pipe arguments: 16
Max pipe active reservations: 16
Max pipe packet size: 1236174432
Max global variable size: 57070749280
Max global variable preferred total size: 67142057984
Max read/write image args: 64
Max on device events: 1024
Queue on device max size: 8388608
Max on device queues: 1
Queue on device preferred size: 262144
SVM capabilities:
Coarse grain buffer: Yes
Fine grain buffer: Yes
Fine grain system: No
Atomics: No
Preferred platform atomic alignment: 0
Preferred global atomic alignment: 0
Preferred local atomic alignment: 0
Kernel Preferred work group size multiple: 32
Error correction support: 0
Unified memory for Host and Device: 1
Profiling timer resolution: 1
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue on Host properties:
Out-of-Order: No
Profiling : Yes
Queue on Device properties:
Out-of-Order: Yes
Profiling : Yes
Platform ID: 0x7ffb97d11d80
Name: gfx1151
Vendor: Advanced Micro Devices, Inc.
Device OpenCL C version: OpenCL C 2.0
Driver version: 3649.0 (HSA1.1,LC)
Profile: FULL_PROFILE
Version: OpenCL 2.0
Extensions: cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_media_ops cl_amd_media_ops2 cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_depth_images cl_amd_copy_buffer_p2p cl_amd_assembly_program
Output from llama
root@fedora:~# llama-cli -m ~/models/llama-2-7b.Q4_K_M.gguf --no-mmap -ngl 99 -p "Explain quantum computing in simple terms:" -n 256
ggml_cuda_init: GGML_CUDA_FORCE_MMQ: no
ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no
ggml_cuda_init: found 1 ROCm devices:
Device 0: Radeon 8060S Graphics, gfx1151 (0x1151), VMM: no, Wave Size: 32
build: 0 (unknown) with HIP version: 6.4.43484-9999 for x86_64-redhat-linux-gnu
main: llama backend init
main: load the model and apply lora adapter, if any
llama_model_load_from_file_impl: using device ROCm0 (Radeon 8060S Graphics) - 64031 MiB free
llama_model_loader: loaded meta data with 19 key-value pairs and 291 tensors from /root/models/llama-2-7b.Q4_K_M.gguf (version GGUF V2)
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv 0: general.architecture str = llama
llama_model_loader: - kv 1: general.name str = LLaMA v2
llama_model_loader: - kv 2: llama.context_length u32 = 4096
llama_model_loader: - kv 3: llama.embedding_length u32 = 4096
llama_model_loader: - kv 4: llama.block_count u32 = 32
llama_model_loader: - kv 5: llama.feed_forward_length u32 = 11008
llama_model_loader: - kv 6: llama.rope.dimension_count u32 = 128
llama_model_loader: - kv 7: llama.attention.head_count u32 = 32
llama_model_loader: - kv 8: llama.attention.head_count_kv u32 = 32
llama_model_loader: - kv 9: llama.attention.layer_norm_rms_epsilon f32 = 0.000010
llama_model_loader: - kv 10: general.file_type u32 = 15
llama_model_loader: - kv 11: tokenizer.ggml.model str = llama
llama_model_loader: - kv 12: tokenizer.ggml.tokens arr[str,32000] = ["<unk>", "<s>", "</s>", "<0x00>", "<...
llama_model_loader: - kv 13: tokenizer.ggml.scores arr[f32,32000] = [0.000000, 0.000000, 0.000000, 0.0000...
llama_model_loader: - kv 14: tokenizer.ggml.token_type arr[i32,32000] = [2, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, ...
llama_model_loader: - kv 15: tokenizer.ggml.bos_token_id u32 = 1
llama_model_loader: - kv 16: tokenizer.ggml.eos_token_id u32 = 2
llama_model_loader: - kv 17: tokenizer.ggml.unknown_token_id u32 = 0
llama_model_loader: - kv 18: general.quantization_version u32 = 2
llama_model_loader: - type f32: 65 tensors
llama_model_loader: - type q4_K: 193 tensors
llama_model_loader: - type q6_K: 33 tensors
print_info: file format = GGUF V2
print_info: file type = Q4_K - Medium
print_info: file size = 3.80 GiB (4.84 BPW)
load: special_eos_id is not in special_eog_ids - the tokenizer config may be incorrect
load: special tokens cache size = 3
load: token to piece cache size = 0.1684 MB
print_info: arch = llama
print_info: vocab_only = 0
print_info: n_ctx_train = 4096
print_info: n_embd = 4096
print_info: n_layer = 32
print_info: n_head = 32
print_info: n_head_kv = 32
print_info: n_rot = 128
print_info: n_swa = 0
print_info: is_swa_any = 0
print_info: n_embd_head_k = 128
print_info: n_embd_head_v = 128
print_info: n_gqa = 1
print_info: n_embd_k_gqa = 4096
print_info: n_embd_v_gqa = 4096
print_info: f_norm_eps = 0.0e+00
print_info: f_norm_rms_eps = 1.0e-05
print_info: f_clamp_kqv = 0.0e+00
print_info: f_max_alibi_bias = 0.0e+00
print_info: f_logit_scale = 0.0e+00
print_info: f_attn_scale = 0.0e+00
print_info: n_ff = 11008
print_info: n_expert = 0
print_info: n_expert_used = 0
print_info: causal attn = 1
print_info: pooling type = 0
print_info: rope type = 0
print_info: rope scaling = linear
print_info: freq_base_train = 10000.0
print_info: freq_scale_train = 1
print_info: n_ctx_orig_yarn = 4096
print_info: rope_finetuned = unknown
print_info: model type = 7B
print_info: model params = 6.74 B
print_info: general.name = LLaMA v2
print_info: vocab type = SPM
print_info: n_vocab = 32000
print_info: n_merges = 0
print_info: BOS token = 1 '<s>'
print_info: EOS token = 2 '</s>'
print_info: UNK token = 0 '<unk>'
print_info: LF token = 13 '<0x0A>'
print_info: EOG token = 2 '</s>'
print_info: max token length = 48
load_tensors: loading model tensors, this can take a while... (mmap = false)
load_tensors: offloading 32 repeating layers to GPU
load_tensors: offloading output layer to GPU
load_tensors: offloaded 33/33 layers to GPU
load_tensors: ROCm0 model buffer size = 3820.94 MiB
load_tensors: CPU model buffer size = 70.31 MiB
..................................................................................................
llama_context: constructing llama_context
llama_context: n_seq_max = 1
llama_context: n_ctx = 4096
llama_context: n_ctx_per_seq = 4096
llama_context: n_batch = 2048
llama_context: n_ubatch = 512
llama_context: causal_attn = 1
llama_context: flash_attn = 0
llama_context: freq_base = 10000.0
llama_context: freq_scale = 1
llama_context: ROCm_Host output buffer size = 0.12 MiB
llama_kv_cache_unified: ROCm0 KV buffer size = 2048.00 MiB
llama_kv_cache_unified: size = 2048.00 MiB ( 4096 cells, 32 layers, 1 seqs), K (f16): 1024.00 MiB, V (f16): 1024.00 MiB
llama_kv_cache_unified: LLAMA_SET_ROWS=0, using old ggml_cpy() method for backwards compatibility
llama_context: ROCm0 compute buffer size = 288.00 MiB
llama_context: ROCm_Host compute buffer size = 16.01 MiB
llama_context: graph nodes = 1158
llama_context: graph splits = 2
common_init_from_params: setting dry_penalty_last_n to ctx_size = 4096
common_init_from_params: warming up the model with an empty run - please wait ... (--no-warmup to disable)
main: llama threadpool init, n_threads = 16
system_info: n_threads = 16 (n_threads_batch = 16) / 32 | ROCm : NO_VMM = 1 | PEER_MAX_BATCH_SIZE = 128 | CPU : LLAMAFILE = 1 | REPACK = 1 |
sampler seed: 2232334333
sampler params:
repeat_last_n = 64, repeat_penalty = 1.000, frequency_penalty = 0.000, presence_penalty = 0.000
dry_multiplier = 0.000, dry_base = 1.750, dry_allowed_length = 2, dry_penalty_last_n = 4096
top_k = 40, top_p = 0.950, min_p = 0.050, xtc_probability = 0.000, xtc_threshold = 0.100, typical_p = 1.000, top_n_sigma = -1.000, temp = 0.800
mirostat = 0, mirostat_lr = 0.100, mirostat_ent = 5.000
sampler chain: logits -> logit-bias -> penalties -> dry -> top-n-sigma -> top-k -> typical -> top-p -> min-p -> xtc -> temp-ext -> dist
generate: n_ctx = 4096, n_batch = 2048, n_predict = 256, n_keep = 1
Explain quantum computing in simple terms: what is it, how does it work, and what are its potential benefits?
This is a difficult question to answer because quantum computing is not yet a well-defined field of study, and many of the potential applications are still being researched. However, we can say that quantum computing is a type of computation that relies on the principles of quantum mechanics (the branch of physics that describes the behaviour of particles such as electrons and photons).
These particles obey a set of rules that are different from those obeyed by classical computers, which rely on the principles of classical mechanics. Quantum computing uses a particle’s quantum state (such as its spin) to store information. This means that quantum computers can perform computations that are not possible on classical computers.
In the simplest terms, quantum computing is a type of computation that takes advantage of the unique properties of quantum mechanics. These properties include superposition, entanglement, and non-locality. Superposition is the ability of a quantum system to exist in multiple states simultaneously.
This means that a quantum system can be in two different places at the same time, or have two different properties at the same time. Entanglement is the ability of two quantum systems to be inter
llama_perf_sampler_print: sampling time = 4.27 ms / 265 runs ( 0.02 ms per token, 62075.43 tokens per second)
llama_perf_context_print: load time = 631.46 ms
llama_perf_context_print: prompt eval time = 63.57 ms / 9 tokens ( 7.06 ms per token, 141.57 tokens per second)
llama_perf_context_print: eval time = 7110.09 ms / 255 runs ( 27.88 ms per token, 35.86 tokens per second)
llama_perf_context_print: total time = 7184.25 ms / 264 tokens
Closing words
These are just my first steps. Most of the time I was not even fully aware what I was doing, just reused some sample command lines and code. These experiments were good enough to see that AI works on Linux as well, not just on Windows.
This blog is part of a longer series about my adventures with my new machine and AI. You can reach me to discuss this blog on one of the contacts listed in the upper right corner. You can read the rest of the blogs under the toy tag.
Lanzados Krita 5.3 y Krita 6.0
El desarrollo de las aplicaciones más destacadas de la Comunidad KDE no se para nunca. ¡Y que siga así para siempre! Hoy me complace compartir con vosotros que han sido lanzados Krita 5.3 y Krita 6.0, una más que feliz noticia que demuestra el buen estado de desarrollo de la mejor (según nosotros y mucha más gente) aplicación para artistas digitales.
Lanzados Krita 5.3 y Krita 6.0
Nada tiene que envidiar Krita a otras aplicaciones de edición de imágenes, siendo el complemento perfecto a Gimp e Inkscape, si queremos tener una suite de edición de imágenes digitales.
Y este párrafo anterior se podría resumir en esta pequeña tabla:
Así que, no puede llenarme de más orgullo que el desarrollo de las tres aplicaciones sigue activo. La última versión estable de GIMP fue publicada el 24 de enero de este año, mientras que la última versión estable de Inkscape (la 5.2.15) ha sido publicada el 28 de enero.
Pues bien, hoy toca hablar la evolución de Krita, que el pasado martes ha lanzado las versiones estables en dos de sus ramas: la 5.x y la 6.x.

En palabras de los desarrolladores:
Krita 5.3/6.0 es el resultado de muchos años de trabajo por parte de los desarrolladores de Krita.
Algunas funciones se han reescrito desde cero, mientras que otras hacen su primera aparición.
Disfruta de la nueva función de texto completamente renovada: edición directamente sobre el lienzo, compatibilidad total con OpenType y flujo de texto dentro de formas. Ahora es más fácil que nunca crear paneles basados en vectores para páginas de cómics.
Las herramientas se han ampliado: por ejemplo, la herramienta de relleno ahora puede cerrar huecos. El modo de licuar de la herramienta de transformación es mucho más rápido.
Hay nuevos filtros: un filtro de propagación de colores y un filtro de restablecer transparencia. Se ha mejorado el soporte para pintura en HDR.
El panel de grabación ahora puede funcionar en tiempo real. También se ha mejorado la compatibilidad con formatos de archivo, como el soporte para objetos de texto en archivos PSD.
¡Y mucho, mucho, mucho más!
Para una descripción completa de todas las novedades, consulta nuestras notas de lanzamiento.
Video cortesía de David Revoy.
Y entre las novedades más destacadas de la Krita 5.3 podemos hablar, extraídas de las notas de lanzamiento, de:
- Herramienta de texto completamen/te reescrita, permitiendo edición directa en el lienzo, ajuste en formas vectoriales y soporte avanzado de OpenType.
- Nueva herramienta de cuchillo para dividir o fusionar objetos vectoriales, ideal para paneles de cómics.
Mientras que para Krita 6.0, que heredará también todas las características de Krita 5.3, tenemos grandes cambios bajo el capó como:
- Migración completa a Qt6 para mejor rendimiento y compatibilidad moderna, aunque con bugs pendientes.
- Soporte nativo para Wayland en Linux con gestión de color, escalado fraccional y HDR (10 bits).
- Mejoras en estabilizador para pixel art en la herramienta de dibujo libre y rendimiento optimizado en licuar.
- Nuevo modo de textura suave en motores de pincel patrón, más filtros como propagación de colores.
Más información: Krita
La entrada Lanzados Krita 5.3 y Krita 6.0 se publicó primero en KDE Blog.
Mejoras en las animaciones en Plasma 6.7
Hoy toca hablar de una de las novedades que nos vendrá en la próxima interacción de nuestro entorno de trabajo favorito. Y es que gracias al trabajo Vlad Zahorodnii se están implementando mejoras en las animaciones en Plasma 6.7 con el objetivo de tener una mejor experiencia visual en nuestro escritorio. ¿Quieres saber de qué se trata? Sigue leyendo.
Mejoras en las animaciones en Plasma 6.7
Realmente,si se piensa con detenimiento, la animaciones no aportan una mejora en la rapidez de nuestro sistema pero sí se convierten en unas pequeños alivios visuales cuando estamos mucho tiempo trabajando con nuestro entorno de trabajo.
Cuando te acostumbras a ellos resulta llamativo encontrarte con un escritorio que no tiene nada de ello, o al menos a mi me pasa cuando me siento delante de un sistema de ventanas donde éstas se mueven como si fuera un ladrillo.
Este aspecto ha sido muy cuidado por la Comunidad KDE, buscando el equilibrio entre estas frivolidades visuales y el consumo de recursos.
Prueba de ello es esta noticia que leemos en el blog de Vlad Zahorodnii, desarrollador que cuenta como está trabajando para mejorar la fluidez de las animaciones en el escritorio, específicamente para la próxima versión de Plasma 6.7.
Según explica Vlad, uno de los problemas de las animaciones es el de los saltos de las mismas. Esto se produce porque las animaciones suelen avanzar calculando el tiempo transcurrido desde el último cuadro (frame). Si el sistema se bloquea brevemente (por cargar un archivo o tareas del procesador), el «salto» de tiempo es muy grande y la animación se salta varios cuadros para intentar ponerse al día, lo que resulta en un movimiento brusco y discontinuo.

Por esa razón, el desarrollar está elaborando una solución que evite los saltos temporales ilimitados de forma que ahora el compositor (KWin) limitará el intervalo de tiempo máximo que una animación puede avanzar en un solo paso. Este límite se basa en la tasa de refresco del monitor (por ejemplo, ~16.6ms para 60Hz).

Con esto se conseguirá que si ocurre un retraso, la animación no «teletransportará» el objeto a su posición final, sino que continuará desde donde se quedó. Aunque esto pueda causar una ligera desincronización temporal, visualmente se percibe como un movimiento mucho más suave y menos entrecortado.
Como he dicho al inicio, esta mejora se implementará en Plasma 6.7 y afectará principalmente a las animaciones gestionadas por el compositor, como la apertura y cierre de ventanas o efectos de escritorio. No afecta directamente a las animaciones internas de las aplicaciones.
Lo cierto es que tengo curiosidad en cómo se visualizará esta nueva forma de gestionar las animaciones, aunque como se suele decir, por probar no perdemos nada y si no gusta seguro que se puede volver al anterior método.
La entrada Mejoras en las animaciones en Plasma 6.7 se publicó primero en KDE Blog.
Himmelblau Workshop – Hands-On Integration on April 21 in Germany
On April 22, 2026—one day after the 25th sambaXP—the first official Himmelblau Workshop will take place in Göttingen, Germany.
At last year’s sambaXP, I presented “Azure Entra ID Authentication in Samba Using the Himmelblaud Daemon”.
Since then, the project has evolved rapidly, moving from a technical introduction to practical deployment.
My workshop this year builds on that foundation and is aimed at:
- Linux system administrators
- Identity and Entra ID engineers
- Intune and device management teams
- IT professionals managing hybrid Linux environments
Participants will work hands-on with Linux clients, both with and without a GUI, and will configure:
- Entra ID authentication
- Multi-factor authentication
- Policy enforcement
- License management
- Intune-based device management
The session uses the current stable Himmelblau release. Entra ID accounts will be provided, so no personal tenant or prior setup is required.
If you are responsible for integrating Linux systems with Entra ID and want to move from protocol discussion to real-world implementation, this workshop provides a structured, practical environment.
Registration for the workshop is required and available at sambaxp.org.
Also, take the opportunity to explore this year’s sambaXP: my talk, “Linux Meets Intune: From Enrollment to Enforcement in Himmelblau,” is scheduled for Day 1 of the conference—I’d be glad to have you join!
Publicado Agama 19. Un nuevo comienzo para el nuevo instalador de SUSE y openSUSE
Agama 19 no es solo otro cambio incremental. Esta nueva versión de Agama representa en realidad un nuevo punto de partida en varios aspectos, desde el diseño arquitectónico hasta la organización de la interfaz web, incluyendo algunos componentes reescritos y mucho más.

Desde la anterior actualización de Agama 18 en noviembre de 2025, han sucedido muchas cosas en el instalador Agama de SUSE y openSUSE, que trae esta versión de Agama 19, con muchos cambios internos y actualizaciones.
Vamos a echar un vistazo a esas novedades de Agama 19.
Renovación de la arquitectura interna
Agama 19 representa una renovación en la arquitectura interna del programa bastante significativa, necesaria para dejar atrás todas las peculiaridades que venía arrastrando la arquitectura que tenía antes y definir mecanismos que puedan ser la piedra angular de cualquier desarrollo futuro.
Por supuesto, un cambio tan drástico abre la puerta a posibles errores. Así que las pruebas, comentarios y reportes de errores les ayudarán a consolidar los nuevos mecanismos en las próximas versiones de Agama. Cabe señalar que, a pesar del rediseño de la interfaz de programación, el formato de configuración basado en JSON sigue siendo totalmente compatible en versiones anteriores. Cualquier perfil JSON o Jsonnet que funcionara en versiones anteriores de Agama seguirá funcionando en Agama 19 y posteriores.
Reorganización de la interfaz de usuario web
Contar con una mejor API ha permitido ajustar la interfaz web para que se acercara más a la visión original del equipo de desarrollo. Aún queda mucho camino por recorrer en el camino hacia una interfaz totalmente utilizable, pero la nueva experiencia de navegación, basada en una mejor página de resumen y un diálogo de confirmación más útil, marca la dirección a seguir.
Aunque la mayoría de las secciones de configuración siguen siendo similares a las versiones anteriores de Agama, se planea renovar algunas de ellas. El proceso ya ha comenzado para algunas secciones.
En cuanto a la sección de red, hay dos cambios importantes. Por un lado, ahora la interfaz de usuario reacciona dinámicamente a los cambios en el sistema subyacente. Por ejemplo, cuando se conecta un cable nuevo o un adaptador WiFi nuevo. Por otro lado, ahora es posible definir nuevas conexiones ethernet. Esto es muy relevante en escenarios de instalación con varios adaptadores de red que deben configurarse de diferentes maneras.
La interfaz de usuario web también recibió una nueva opción para descargar la configuración actual del instalador en el formato JSON usado por las herramientas de línea de comandos de Agama y para instalaciones sin supervisión. Ese es el primer paso para convertir la interfaz web en una herramienta útil de aprendizaje y prototipado para escenarios más avanzados, aunque esta nueva funcionalidad podría beneficiarse de varias mejoras en la usabilidad.
Todos los cambios mencionados en la interfaz de usuario requerirán varias actualizaciones de las capturas de pantalla y guías disponibles en la página principal del proyecto. Eso no ocurrirá de la noche a la mañana, así que si queréis podéis colaborar enviando vuestros aportes al repositorio de GitHub.
Componentes internos reescritos
YaST sigue viviendo en el núcleo de Agama. Muchas tareas como gestionar dispositivos de almacenamiento o configurar el cargador de arranque se realizan en secreto por los módulos correspondientes de YaST (es decir, yast2-storage-ng o yast2-bootloader).
Pero últimamente el uso de algunos módulos concretos de YaST se ha convertido más en un factor limitante que en una ventaja. Ese es el caso de los usuarios yast2 y el software yast2. Ambos son muy complejos por razones históricas y por su capacidad tanto para instalar un sistema nuevo como para administrar uno ya instalado, algo que está fuera del alcance de Agama.
Por ello, el equipo de desarrollo aprovechó la renovación arquitectónica como una oportunidad para reemplazar esas piezas de YaST por implementaciones más sencillas que les permitan evolucionar más rápido en el futuro. Agama 19 incluye su propia gestión de usuarios y, aún más importante y ambiciosa, su propia gestión del software, incluyendo el registro de SUSE Linux Enterprise y productos y extensiones asociados.
Modos de instalación
Pero Agama 19 no solo trae reestructuraciones y reescrituras de componentes como hemos visto, también viene con un montón de nuevas funcionalidades, como la nueva capacidad de instalar algunas distribuciones en diferentes modos llamados de instalación.
Al instalar las versiones experimentales de SLES 16.1 o la versión correspondiente de SLES para aplicaciones SAP, ahora es posible seleccionar entre los modos Estándar e Inmutable.
Otras distribuciones («productos» en la jerga de Agama) como openSUSE Leap o Tumbleweed podrían utilizar modos en el futuro para redefinir su software y configuraciones de almacenamiento, ofreciendo diferentes variantes de un mismo sistema operativo.
Más opciones de configuración
Aunque los modos son la más visible de las nuevas características, también se han añadido otras nuevas capacidades a Agama que, al menos por ahora, solo son accesibles mediante la configuración JSON. Esto hace que esas nuevas funciones estén disponibles para los usuarios de la interfaz de línea de comandos y de las instalaciones no atendidas.
Probablemente, la más esperada de esas nuevas funciones es la capacidad de instalarse en un grupo de volúmenes LVM existente. Al hacerlo, es posible crear nuevos volúmenes lógicos dentro del grupo de volúmenes preexistente y también es posible reutilizar, eliminar o redimensionar los volúmenes lógicos existentes. Agama 19 incluso permite añadir nuevos volúmenes físicos a un grupo de volúmenes existente como parte del proceso. La mayoría de esas capacidades se añadirán pronto a la interfaz de usuario web.
Por último, pero no menos importante, ahora es posible especificar varias claves públicas SSH para autenticar al usuario root y también usar claves SSH como mecanismo de autenticación para el usuario no root creado por Agama.
Tienes toda la información de primera mano, en el anuncio oficial que ha publicado el equipo de desarrollo de Agama 19:
3 novedades destacadas de Plasma 6.6
El pasado 17 de febrero fue lanzado Plasma 6.6, el mejor escritorio del universo conocido (según nosotros), el cual ha llegado cargado de nuevas funcionalidades, así que es conveniente ir desglosándola poco a poco. Así pues, os invito a conocer 3 novedades destacadas de Plasma 6.6, algo muy subjetivo pero que el equipo de promoción considera que son las más importantes.
3 novedades destacadas de Plasma 6.6
Creo que es la primera vez que realizo este tipo de entradas pero es que en esta ocasión estas novedades destacadas me han parecido suficientemente significativas.

Nuevo teclado Virtual
Con el nombre de «Plasma Keyboard» la Comunidad KDE ofrece un teclado en pantalla completamente renovado y con sustanciales mejoras para dispositivos táctiles.
De esta forma, Plasma Keyboard es:
- Más rápido y fluido: Aparece al instante cuando tocas donde hay que escribir y desaparece rápido cuando terminas.
- Muy considerado: Ahora las ventanas se apartan automáticamente para que el teclado no te tape lo que estás escribiendo.
- Se parece a tu móvil: Es mucho más parecido al teclado de un Android o iPhone. Puedes poner emojis fácilmente y mover el cursor deslizando el dedo por la barra espaciadora.
- Más bonito: Cambia de color solo para ir a juego con el resto de tu escritorio (si tienes el escritorio oscuro, el teclado sale oscuro).
- Ideal para tablets: Está hecho para que usar Linux con los dedos sea tan cómodo como usar una tablet de Apple o Samsung, mientras esperamos que tengamos un buen móvil libre.
Reconocimiento de texto de Spectacle
Nuestra estrella a la hora de capturar pantallas sigue mejorando sin perder rapidez y frescura, si en lanzamientos pasados ganó la funcionalidad de lanzarse a pantalla completa, en esta ha ganado la funcionalidade de reconocer y extraer texto de las imágenes que escanea, lo cual es un gran avance tanto para la accesibilidad como para la eficiencia.
Configuración de Plasma
Para finalizar esta podio de funcionalidades de Plasma 6.6 os presento el nuevo asistente para configurar una cuenta de usuario después de instalar el sistema operativo, el cual tiene una pinta excelente, sin opciones superfluas y con una precisión al elegir la configuración regional que me ha soprendido.
Evidentemente, son grandes novedades, aunque seguro que tú tienes alguna que te gusta más. Si es así, déjala en comentarios.
La entrada 3 novedades destacadas de Plasma 6.6 se publicó primero en KDE Blog.
3 juegos deportivos para linux
Hace un tiempo os presenté varios vídeos con juegos nativos para linux. De esta serie de momento llevamos los siguientes géneros: RTS (estrategia en tiempo real), RPG (juego de rol), FPS (disparos en primera persona) y de conducción, demostrando que no solo se puede jugar en nuestro sistema libre sino que además, se puede hacer de forma 100% libre. Hoy continúo con 3 juegos deportivos para linux, ya que Planeta Tecno tiene todavía más de la serie.
3 juegos deportivos para linux
De nuevo de la mano de Planeta Tecno (que además tienen una web) os presento el siguiente vídeo donde nos presenta 3 juegos excelentes para instalar de forma nativa en Linux.
En esta ocasión se trata de tres juegos deportivos, juegos que debo confesar que desconocía ya que no suelen ser un género que me entusiasme.
Los juegos que nos presenta Planeta Tecno son Freetennis (simulador de tenis con varias opciones y una IA avanzada que aprende tácticas y estilos de juego), Tux Foootball (juego de fútbol estilo arcade muy sencillo, inspirado en clásicos como Kick Off y Sensible Soccer) y Foobillard++ (un juego de billar clásico en 3D, donde se puede jugar contra el ordenador.)
Sin más, os dejo con el vídeo.
Freetennis
Freetennis es una simulador realista de tenis libre, creada por un exjugador profesional en OCaml (GPLv2, v0.4.8, 2005). Destaca por su física precisa: controlas la parábola completa del golpe con ratón, tácticas auténticas (volée, diagonal, efectos) y IA estratégica. Soporta multijugador LAN/internet, superficies variadas (arcilla, cemento, hierba), modos realista/newbie y dificultad ajustable (0-250). Jugadores únicos como Ivan (fondo), Mats (preciso), Pete (volée).

Tux Foootball
Tux Football es un arcade 2D de fútbol inspirado en clásicos como Sensible Soccer y Kick Off, con jugabilidad rápida y divertida para Windows/Linux (GPLv2, v0.3.1). Controlas al jugador más cercano al balón con dos botones de pase/disparo, aftertouch (mantener dirección para curvar), placajes, cabezazos y física realista (rebotes en postes). Modos 1-2 jugadores o CPU vs CPU, configurable en duración, controles y fullscreen.

Foobillard++
Foobillard++ es un simulador 3D de billar OpenGL basado en foobillard 3.0a, con modos 8-ball, 9-ball, snooker y carambol (incluyendo torneos). Ofrece mesa de madera con reflejos en bolas, sombras, zoom/rotación, vista aérea, taco animado con fuerza y golpe excéntrico, jumpshots, snipping avanzado, HUD detallado, sonido/música, modo tron y stereo rojo/verde. Fácil localización, red multijugador y física realista.

Contribuye al avance del Software Libre: difunde el conocimiento
Si os gusta el vídeo no dejéis pasar la oportunidad de pagar a su creador Planeta Tecno, en esta ocasión, utilizando las forma que te permite la plataforma de vídeos Youtube:
- Subscríbete a su canal.
- Ponle un comentario
- Comparte en redes sociales
- O cualquier otra forma que se te ocurra.
Hoy es un buen día para insistir que ayudar al desarrollo del Software Libre también se hace simplemente dando las gracias, ayuda mucho más de lo que os podéis imaginar, recordad la campaña I love Free Software Day 2017 de la Free Software Foundation donde se nos recordaba esta forma tan sencilla de colaborar con el gran proyecto del Software Libre y que en el blog dedicamos un artículo.
La entrada 3 juegos deportivos para linux se publicó primero en KDE Blog.
VLM + CNN + Agentes: Como Resolver o “ECA Digital” no Linux sem Nuvem e preservando a privacidade do usuário.

Nos últimos dias, muito se discutiu muitas vezes com desinformação sobre a aplicação de conceitos do chamado “ECA Digital” (ou apelidado de “Lei Felca”) no ecossistema Linux. A narrativa dominante sugere restrições, controle excessivo ou até inviabilidade do uso de sistemas abertos.
E esse problema já tem solução.
É possível implementar mecanismos de proteção infantil diretamente no sistema operacional Linux, de forma 100% offline, sem coleta de dados e sem dependência de cloud, utilizando o estado da arte em Inteligência Artificial: VLMs (Vision-Language Models), redes neurais convolucionais (CNNs) e agentes inteligentes.
O Problema: Controle de Acesso por Idade no Linux
Ambientes Linux tradicionalmente utilizam autenticação baseada em senha, chave ou biometria simples. Porém, nenhum desses mecanismos responde a uma pergunta essencial no contexto do ECA Digital:
Quem está tentando obter privilégios administrativos é realmente um adulto autorizado?
Isso abre espaço para cenários comuns:
- Crianças tentando instalar software inadequado
- Uso indevido de credenciais dos pais
- Escalada de privilégio sem contexto de idade
A Solução: VLM + CNN com Agentes Inteligentes
A arquitetura proposta combina três componentes principais:
1. VLM (Vision-Language Model)
O VLM atua como camada semântica, interpretando a cena capturada pela câmera:
- Contexto do usuário diante do dispositivo
- Interação com prompts de validação
- Auxílio na inferência de idade com base visual
2. CNN (Redes Neurais Convolucionais)
As CNNs são responsáveis pela parte crítica:
- Detecção facial em tempo real
- Estimativa de idade (age estimation)
- Classificação etária (criança vs adulto)
Esse modelo é otimizado para execução local (edge), sem necessidade de GPU de alto custo.
3. Agentes de Decisão
Agentes inteligentes orquestram o fluxo:
- Validam se a ação requer privilégio root
- Disparam a análise visual
- Decidem permitir ou bloquear a operação
Teste de Vivacidade (Liveness Detection)
Um dos pontos mais importantes do sistema é evitar fraudes. Não basta detectar um rosto é necessário garantir que ele é real. O sistema impede ataques usando foto impressas e Vídeos doa pais.
Privacidade por Design: 100% Offline
Diferente de soluções comerciais, este modelo segue um princípio fundamental:
Nenhum dado é armazenado. Nenhuma imagem sai da máquina.
Características:
- Processamento local (edge computing)
- Sem envio para APIs externas
- Sem armazenamento de imagens ou embeddings
- Apenas decisão binária em tempo real (permitir/bloquear)
Isso elimina riscos de:
- Vazamento de dados
- Compliance com LGPD
- Dependência de serviços cloud
Integração Profunda com Linux via PAM
Toda essa inteligência não roda como um aplicativo isolado. Ela foi integrada diretamente ao sistema de autenticação do Linux através do PAM (Pluggable Authentication Modules).
Como funciona na prática:
- Usuário executa um comando com
sudoou tenta acesso root - O PAM intercepta a requisição
- O módulo customizado ativa o pipeline de IA
- A câmera captura o rosto do usuário
- O modelo CNN + VLM analisa idade e vivacidade
- O agente decide:
-
Adulto → libera autenticação -
Criança → bloqueia operação
-
Tudo isso acontece antes da concessão de privilégios.
Vantagens dessa abordagem:
- Transparente para o usuário
- Integrado ao sistema operacional
- Funciona com qualquer aplicação que use PAM (sudo, login, ssh, etc.)
- Baixo impacto de performance
Impacto no Mercado: Linux Compatível com ECA Digital
Essa abordagem resolve diretamente o principal argumento usado contra o Linux em ambientes regulados:
“Linux não tem controle de acesso por idade”
Agora tem e de forma mais avançada que qualquer sistema tradicional.
Benefícios:
- Adequação ao conceito de ECA Digital
- Controle parental real, não apenas superficial
- Segurança sem invasão de privacidade
- Total soberania de dados (zero cloud)
Conclusão
O debate sobre restrições ao Linux baseado em desinformação ignora o avanço tecnológico disponível hoje.
Combinando:
- VLM
- CNN
- Agentes inteligentes
- Integração via PAM
é possível criar um sistema de controle de privilégios inteligente, privado e totalmente offline.
Isso não apenas resolve as preocupações do mercado como posiciona o Linux à frente, oferecendo uma solução mais segura, auditável e alinhada com princípios modernos de privacidade. Vejam o sistema funcionando abaixo:
Linux Saloon 192 | Storm OS Distribution Exploration
Desfases horarios y escritura anticipada en el escritorio – Esta semana en Plasma
Es increíble el trabajo de promoción que está realizando Nate (ahora con ayuda de otros desarrolladores) en su blog, desde hace más del tiempo que puedo recordar. Cada semana hace un resumen de las novedades más destacadas, pero no en forma de telegrama, sino de artículo completo. Su cita semanal no falla y voy a intentar hacer algo que es simple pero requiere constancia. Traducir sus artículos al castellano utilizando los magníficos traductores lo cual hará que la gente que no domine el inglés esté al día y que yo me entere bien de todo. Bienvenidos pues a «Desfases horarios y escritura anticipada en el escritorio» de Esta semana en Plasma. Espero que os guste.
Desfases horarios y escritura anticipada en el escritorio – Esta semana en Plasma
Nota: Artículo original en Blogs KDE. Traducción realizada utilizando Perplexity. Esta entrada está llena de novedades de la Comunidad KDE. Mis escasos comentarios sobre las mejoras entre corchetes. Por cierto, ya se nota que la resaca de 6.6 ya está pasando, grandes cosas nos vienen para 6.7.
¡Bienvenido a una nueva edición de This Week in Plasma!
Esta semana se han incorporado varias nuevas funciones, además de diversas mejoras en la interfaz de usuario, algunos buenos ajustes de rendimiento y correcciones de errores. A continuación te las mostramos:
Nuevas funciones destacables nuevas
Plasma 6.7
Para cada zona horaria adicional que añadas al widget Reloj Digital, ahora también se muestra cuántas horas adelanta o retrasa respecto a la tuya. (Nate Graham, plasma‑workspace MR #6417) [Esto me va a venir muy bien ya que cada vez más interacciono con gente del otro lado del charco].


Si desactivas la opción de invocar KRunner escribiendo sobre el escritorio, en su lugar escribir en el escritorio activa la escritura anticipada (“type‑ahead”), que permite seleccionar archivos tecleando las primeras letras de sus nombres. (Guillermo Steren, KDE Bugzilla #427961) [Se viene tomar una decisión sobre Krunner y su comportamiento].
Ahora puedes invertir el orden de los elementos en el widget Bandeja del sistema. (Nathaniel Krebs, KDE Bugzilla #517016) [Para personalizar 100% nuestro escritorio].
Mejoras en la interfaz de usuario
Plasma 6.7.0
Discover ahora ordena las listas de aplicaciones por número de reseñas de forma predeterminada, lo que ofrece resultados mucho más relevantes al navegar, en lugar de buscar. Por supuesto, el antiguo método de ordenación por valoración sigue estando disponible. (Nate Graham, discover MR #1274) [Esto tiene mucha más coherencia].


Discover ahora filtra las aplicaciones no‑aplicación de su página principal, evitando espirales de negatividad en las que la gente dejaba valoraciones de 1 estrella diciendo que estaban rotas (al no ser aplicaciones lanzables, el botón “Iniciar” no funcionaba), haciendo que subieran más arriba en la lista. (Nate Graham, discover MR #1287)
Los Ajustes del sistema y KWin ahora usan de forma consistente la palabra “cursor” para referirse al puntero del ratón/panel táctil. (Philipp Kiemle, plasma‑workspace MR #6425 y kwin MR #8982)
El des‑atenuado de la pantalla es ahora más rápido que el atenuado, ya que el des‑atenuado significa que estás listo para volver a usar el sistema. (Kai Uwe Broulik, kwin MR #8963) [Detalles importantes que no se piensan a la primera ya que el mundo, en realidad, no es simétrico].
La tarea actualmente activa en el tooltip de un grupo de tareas ahora aparece en negrita, para ayudarte a identificarla. (Christoph Wolk, KDE Bugzilla #516278) [Estos detalles de accesibilidad se agradecen].
Las etiquetas de los dispositivos Bluetooth en el widget Bandeja del sistema se han reorganizado de modo que siempre puedas ver el nivel de batería, independientemente de la longitud del nombre del dispositivo. (Kai Uwe Broulik, KDE Bugzilla #515090) [Otro detalle que muestra que en ocasiones es más importante la información que el formato].
Los resaltados del menú del widget Menú global ahora son redondeados de forma consistente con los resaltados de otros menús. (Akseli Lahtinen, libplasma MR #1459) [Y nos obsequian con un meme].

Ahora puedes asignar una tecla modificador por sí sola para enfocar un panel de Plasma. (Christoph Wolk, plasma‑desktop MR #3547)
La ventana de configuración de los paneles de Plasma ahora solo ofrece opciones de opacidad si el estilo de Plasma activo la soporta. (Filip Fila, KDE Bugzilla #516042)
Corrección de errores importantes
[No comento las correcciones de errores ya que son bastante evidentes].
Plasma 6.5.6
Se ha corregido un problema que distorsionaba la imagen en ciertos monitores con orientación vertical al mostrar el Gestor de inicio de sesión de Plasma. (Anton Gobulev, KDE Bugzilla #517409)
Plasma 6.6.3
Se ha corregido un caso en el que KWin podía bloquearse después de cambiar la configuración del efecto Zoom de ciertas formas concretas. (Ritchie Frodomar, KDE Bugzilla #517073)
Se han corregido dos casos en los que KWin podía bloquearse cuando estaba mal configurado o recibía contenido no válido. (Nicolas Fella, KDE Bugzilla #517137 y KDE Bugzilla #517711)
Se han corregido varios casos en los que el sistema de gestión de impresión de KDE podía bloquearse debido a información incorrecta de las impresoras sobre sus niveles de tinta. (Mike Noe, print-manager MR #311)
El tooltip del botón de Actualizar en la sección de Actualizaciones de Discover ya no muestra “F5 (QQuickShortcut(gobbledygook))”, arreglando un efecto secundario inesperado de una actualización reciente de KDE Frameworks. (Akseli Lahtinen, KDE Bugzilla #516392)
Plasma 6.6.4
Se ha corregido un problema que hacía que la función de accesibilidad “teclas de repetición” rompiera la repetición de teclas en el navegador Brave. (Ritchie Frodomar, KDE Bugzilla #513268)
En el diálogo de conflicto de atajos que abre la página de Atajos de Ajustes del sistema, la acción “Reasignar” ahora funciona. (Dávid Bácskay‑Nagy, KDE Bugzilla #471370)
Se ha mejorado la precisión del recuento de actualizaciones en las notificaciones de Discover. (Akseli Lahtinen, discover MR #1284)
Frameworks 6.25
Se ha revertido un cambio aparentemente inofensivo que rompía los iconos de algunas aplicaciones como OBS y Ungoogled Chromium debido a una deficiencia subyacente en el renderizador SVG del kit de herramientas Qt. (Nate Graham, KDE Bugzilla #516007)
Mejoras de rendimiento y aspectos técnicos
Plasma 6.6.4
Se ha reducido la carga de CPU y GPU en ventanas a pantalla completa (también conocida como “direct scan‑out”) en pantallas donde no se encuentra el puntero. (Xaver Hugl, KDE Bugzilla #516808)
Plasma 6.7
Se ha añadido soporte para “LUTs 3D” en KWin, lo que reduce el uso de recursos en GPUs que admiten pipelines de color en hardware. (Xaver Hugl, kwin MR #8475)
El widget de Redes ahora solo recupera información de velocidad de red mientras esa información está visible. (Ser Freedman, plasma‑nm MR #544)
Se ha dejado de crear contextos de OpenGL innecesarios para aplicaciones que no usan OpenGL, lo que reduce su uso de memoria en unos 10‑15 MB o más por aplicación y también acelera los tiempos de inicio. (Vlad Zahorodnii, plasma‑integration MR #209)
Qt 6.10.3
Se ha corregido un problema que rompía el soporte HDR al usar el renderizador Vulkan en cierto hardware. (Joshua Goins, Qt patch #711621)
Se mejoró la robustez con la que las aplicaciones en sandbox pueden iniciar solicitudes de screen-casting y escritorio remoto. (Gabriel Maizo, xdg-desktop-portal-kde MR #526)
Si tienes múltiples GPUs y alguna de ellas no soporta aceleración 3D OpenGL, esto ya no impide que las más capaces proporcionen aceleración 3D. (Xaver Hugl, KDE Bugzilla #441409)
Cómo puedes ayudar
KDE se ha vuelto importante en el mundo, y tu tiempo y contribuciones han ayudado a llegar hasta aquí. A medida que crecemos, necesitamos tu apoyo para mantener KDE sostenible.
¿Te gustaría ayudar a preparar este informe semanal? Preséntate en la sala de Matrix y únete al equipo.
Más allá de eso, puedes ayudar a KDE involucrándote directamente en cualquier otro proyecto. Donar tiempo es realmente más impactante que donar dinero. Cada colaborador marca una gran diferencia en KDE — ¡no eres un número ni un engranaje en una máquina! No tienes que ser programador, existen muchas otras oportunidades.
También puedes ayudar haciendo una donación. Esto ayuda a cubrir costes operativos, salarios, gastos de viaje para colaboradores y, en general, a mantener KDE llevando Software Libre al mundo.
La entrada Desfases horarios y escritura anticipada en el escritorio – Esta semana en Plasma se publicó primero en KDE Blog.
Adulto → libera autenticação
Criança → bloqueia operação