Posts
4417
Following
316
Followers
471
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1
QPU's are bit like GPU's. They perform a subset of computational problem really fast, i.e. they supplement on what we can do today with semiconductors (not repeal and replace).
0
0
0

Jarkko Sakkinen

Edited 7 months ago

https://blog.google/technology/research/google-willow-quantum-chip/

Willow performed a standard benchmark computation in under five minutes that would take one of today’s fastest supercomputers 10 septillion (that is, 10^25) years — a number that vastly exceeds the age of the Universe.

1
0
0
@johnbchron With other linkers Zed performs the best but launching e.g. Helix takes down the whole fucking GNOME session 🤷 And this has been going on for two months. Even buying 9950X based desktop did not cure the issue. I'm still happy that I got it because it does help with compiling Rust, which can be more heavy on CPU than e.g. compiling an operating system image with BuildRoot.
0
0
0
@johnbchron Eating up too much memory and whole session freezing.

This happened with GNU ld (default), mold and wild. LLVM ld seems to be only that is kind of "steady performer". Just my experience but sticking to what works (for me)...
1
0
0

Jarkko Sakkinen

I was wondering why rust-analyzer does random hickups and switching to lld finally fixed it. The choice of linker inherits from matching Rust environment of macOS, which does use LLVM ld, and never experienced similar glitches. This even happened sometimes with 9950X desktop.

So for any Rust installation in Linux I'd first and foremost always add this to .cargo/config.toml before anything else:

[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=/usr/bin/lld"]

Installation:

1. In Fedora: dnf install lld
2. In Debian: apt install lld

AFAIK, by de-facto it probably uses GNU ld, and also some flashier newer ones do not provide glitch-free result with rust-analyzer (i.e. mold and wild).

#rust #llvm
1
0
0

Jarkko Sakkinen

Hmm... I get weird subprogram names from DWARF with RV32E/RV64E on RISC-V rustc.
Or like, each have the exact same symbol name o_O.

#rust #rustlang #riscv
0
0
0
@Linux @ikkeT Bisneksessä Linux kanssa pitäisi ajatella niitä B2B voluuminmyynti-opportunityja, tai niiden enablointia, ei mitään random käyttäjän deskareita.
0
0
0

Jarkko Sakkinen

Takes some time to get a test for my "FUSE camera driver" right (it's like in ~65% done til RFC) but one additional application that came to mind for it would be provide camera access for Wine ("winecamera"). So that you could use Windows applications, which require camera access.

#linux #video4linux #wine #windows
0
1
0
@Linux @ikkeT Mä ainakin käyttäisin appeihin ennemmin mun Mac Miniä, jos valokuvaisi. Joka alustalla kannattaisi miettiä ennemmin, missä raha tehdään kuin miten haaskataan yrityksen rahoja kaatopaikkajätteeseen.
1
0
0
@ikkeT @Linux Kehittäjätarinoissa ennemmin kannattaisi miettiä, että mitä jos jostain syystä joku haluaisi kehittää SaaS:n, mitä varten pitäisi hankkia 10 000 Canonin kameraa, ja niitä hyödyntävä alusta pyörisi pilvessä Kubernetesin päällä. Ei ole hirveästi mietitty, miten työ muuttuu kasvuksi, vaan tehdään jotain täysin turhaa kaikille käyttäjäkategorioille.
1
0
0
@ikkeT @Linux Mun mielestä tässä on ehkä ennemminkin ymmärretty mahdollisimman väärin mitä kehittäjät haluaa. Tämmöinen alustatalous toimi viimeksi 90-luvulla...
1
0
0

Jarkko Sakkinen

Edited 7 months ago

Early, rudimentary and unpolished skeleton of a “server side”:

import ctypes
import fcntl
import os
import sys

V4L2_LOOPBACK_DEVICE_FILE = "/dev/v4l2loopback"

V4L2_LOOPBACK_MAGIC = 0x4C
V4L2_LOOPBACK_IOC_ADD = 0xC0004C00


class V4L2LoopbackAdd(ctypes.Structure):
    _fields_ = [
        ("card_label", ctypes.c_uint64),
        ("flags", ctypes.c_uint16),
        ("device_nr", ctypes.c_uint16),
        ("card_fd", ctypes.c_uint32),
    ]


def main():
    try:
        fd = os.open(V4L2_LOOPBACK_DEVICE_FILE, os.O_RDWR)
    except FileNotFoundError:
        sys.exit(1)

    loopback = V4L2LoopbackAdd()
    ctypes.memset(ctypes.addressof(loopback), 0, ctypes.sizeof(loopback))

    try:
        fcntl.ioctl(fd, V4L2_LOOPBACK_IOC_ADD, loopback)
        print(f"{loopback.device_nr} {loopback.card_fd}")
    except OSError:
        sys.exit(1)
    finally:
        os.close(fd)


if __name__ == "__main__":
    main()

Anyway shows the gist. The device name is due to change…

0
0
1

“Capture” for the next step, i.e. BuildRoot build for headless test.

wget https://file-examples.com/storage/fe3abb0cc967520c59b97f1/2018/04/file_example_AVI_640_800kB.avi
ffmpeg -stream_loop -1 -re -i file_example_AVI_640_800kB.avi -s 1280x720 -f v4l2 /dev/video0

Due to change for “/dev/video0” part (because capture device is a file descriptor eventually). Then I just need playback and comparison to get success/failure condition…

1
0
0

Jarkko Sakkinen

Edited 7 months ago
Video streamed with ffmpeg, and played with ffplay through with my WiP V4L2 loopback driver.

The next step is to detach the producer from /dev/videoX fops and instead return anonymous inode, which owns a file where the capture device can write the video stream.

The video resolution in this smoke test is 640x480, and the encoder scales it up in real-time to 1280x720.

#linux #kernel #media #video4linux
1
3
5
@chimbosonic @teve Feels just tragic that we've spend billions and billions to build these fast connections between computers and we still have just 2024 versions of AOL or CompuServe. No one can talk to each other in bits.
0
0
0
@chimbosonic @teve ya... it is sad

I mean I did regularly in 1996 e.g. /dcc send ;-) good times...

Or like wouldn't it be cool if you could just plain call your mates computer? WA or similar not required all-in-the-client...
1
0
0
@teve IPv6 is not really for the masses or like especially providing end user apps requiring IPv6. So not like extremely huge surprise...

I heard that recently YLE turned it on so points up for that!
0
0
0

Time is an ocean in a storm...
35 years ago today, Prince of Persia was released on Apple II.

A huge, heartfelt THANK YOU to all who've shared this incredible journey.❤️🙏🕹️

To see what the prince and I are up to these days, check out https://jordanmechner.com.

2
1
2

Itsehän myös kirjoitin tästä samasta Hesarissa pari viikkoa sitten.

X:n muutos on kuitenkin ollut nähtävissä jo kahden vuoden ajan, mutta siltä on haluttu sulkea silmät. Miltä kaikelta olisi voitu välttyä, jos globaali viestintäyhteisö olisi silloin jo tehnyt oikeat johtopäätökset?

https://www.hs.fi/mielipide/art-2000010843435.html

0
2
0
Show older