Markaos

joined 1 year ago
[–] Markaos@lemmy.one 11 points 1 month ago

box86/box64, and there's also FEX-emu which is used by the Asahi Linux project (Linux on Apple Silicon macbooks).

[–] Markaos@lemmy.one 1 points 1 month ago

Even on my home server (a desktop with 64 gigs of ram) the ram check takes longer than the OS.

I was pretty sure I messed something up when I upgraded the RAM in my desktop from 16 to 64 gigs and it wouldn't output any signal for solid 10 seconds, lol. And the regular 5 second black screen on normal boots was still something I had to get used to coming from maybe a second with 16 GB

[–] Markaos@lemmy.one 1 points 1 month ago (3 children)

Your argument is to have 2 subtly incompatible abis and one day binaries magically break.

Whereas your argument seems to be to have a special C variant for 32bit Linux - there's no reason to have a special time64_t anywhere else.

No program with time32_t will ever work after 2038, so any compiled that way are broken from compilation.

Yeah, so what will breaking the ABI do? Break it a bit more?

If you really want to be clever, mangle the symbols for the functions that handle time so they encode time64 as appropriate

That's what MUSL libc does, and the result is two subtly incompatible ABIs - statically linked programs are fine, but if a dynamically linked library exports any function with time_t parameter or return value, it will use whatever size was configured at build time and it becomes a part of its ABI. So fixing this properly would require every library that wants to pass time_t values in its API to implement its own name mangling. That's not a reasonable request for a barely used platform (remember, this is just 32bit userland, 64bit was always unaffected).

[–] Markaos@lemmy.one 8 points 1 month ago* (last edited 1 month ago) (5 children)

Ah, the joys of requiring non-standard library calls for apps to function.

The problem is that this approach breaks the C standard library API, which is one of the few things that are actually pretty universal and expected to work on any platform. You don't want to force app developers to support your snowflake OS that doesn't support C.

The current way forward accepted by every other distro is to just recompile everything against the new 64-bit libraries. Unless the compiled software makes weird hardcoded assumptions about sizes of structs (hand-coded assembly might be one somewhat legitimate reason for that, but other distros have been migrating to 64-bit time_t for long enough that this should have been caught already), this fixes the problem entirely for software that can be recompiled.

That leaves just the proprietary software, for which you can either have a separate library path with 32-bit time_t dependencies, or use containers to effectively do the same.

Sneaky edit: why not add new 64-bit APIs to C? Because the C standard never said anything about how to represent time_t. If the chosen implementation is insufficient, it's purely on the platform to fix it. The C17 standard:

The range and precision of times representable in clock_t and time_t are implementation-defined.

[–] Markaos@lemmy.one 3 points 1 month ago (1 children)

Yes, but these internal connections can be done in a variety of ways - for example the most common way to connect laptop displays (which I would definitely classify as internal) is using embedded DisplayPort.

[–] Markaos@lemmy.one 8 points 1 month ago (1 children)

But Wayland isn't a thing on its own, there's no "Wayland server" or anything else equivalent to the X server. The compositors like Kwin or GNOME's Mutter are Wayland implementations fully responsible for handling the display output.

You can blame Wayland for the lack of universally supported global hotkeys or for issues with apps that need to know exactly where on the screen they are - these are issues with the protocol - but not for bugs in one compositor's implementation of display management.

[–] Markaos@lemmy.one 15 points 1 month ago (3 children)

OK but Wayland is not responsible for arranging monitors

[–] Markaos@lemmy.one 4 points 1 month ago

OK, I use GNOME on Wayland on EndeavourOS and have no problems regularly running a script in my phone's internal storage root directory. Go file a bug report to your distro, or at least provide some details.

[–] Markaos@lemmy.one 40 points 1 month ago (2 children)

I can't speak for these specific laptops, but unlike x86, ARM generally doesn't have a way for an OS to discover the available hardware, and most ARM platforms historically didn't do anything to help. There is a standard for UEFI on ARM where the UEFI is supposed to tell the OS about the hardware, but as far as I know this is only a thing on ARM servers and these laptops might not support it.

Without any way of probing for hardware or getting the information from UEFI, Linux has to somehow be compiled with all the info about the hardware built-in. And the build will be model-specific (there's a way to pass a file describing the hardware to Linux from the bootloader which enables a single kernel to be used on multiple models and have just a small part of the bootloader be model-specific, but somebody still needs to make that file and the manufacturers clearly don't intend to do that).

[–] Markaos@lemmy.one 1 points 1 month ago (1 children)

This is about USB

[–] Markaos@lemmy.one 4 points 1 month ago* (last edited 1 month ago) (1 children)

As the other person said, what you're doing is pretty much emulating the behavior of tiling window managers. Edit while writing: I'm leaving the rest here because you might find it useful, but I've just realized that there's a tiling extension for GNOME (the desktop environment used by Ubuntu): Tiling Shell. That's definitely going to be the most painless way for you to try out tiling. There's also bound to be something similar available for KDE.

~~I think you will get a much better result than with virtual screens by configuring one to your taste, assuming you're willing to spend a few hours learning all the ins and outs (it's absolutely OK if you're not willing to do that).~~

Here's links to a few of them, you should be able to install them in whatever distro you prefer:

Hyprland - a tiling WM focused on good out of the box experience and animations (but it's still very configurable). If you want to get your feet wet with standalone tiling WMs as fast and painlessly as possible, this is IMHO the way

Sway - a more keyboard-centric tiling WM that leaves out the fancy stuff (for example I don't think there's any way to do window shadows or animations for all the window manipulation) and focuses on just being fast and efficient if you learn its concepts. This is the only one I've ever used for longer periods of time.

SwayFX - "Sway, but with eye candy!" - I don't think I can write a better description - has some graphics effects like window blurring or shadows.

[–] Markaos@lemmy.one 7 points 2 months ago (1 children)

They probably fixed all the bugs they considered essential, and the rest is just nice to have fixes that can be moved to the next cycle if necessary (and they still have a week to work on them before release, although they might be careful not to introduce severe bugs now).

The general idea with this approach is that it doesn't make sense to block a release on a few bugs worked on by only a subset of available developers and having the rest idle - the project can be finished faster by moving the remaining tasks over to the next release and accepting the bugs in the meantime.

view more: ‹ prev next ›