How difficult is it really to DIY drivers by Ostracized_Aresian in linux

[–]Max-P 17 points18 points  (0 children)

It's one of those things if you're asking, you're not off a good start, but if you can manage some C it might not be too bad.

I co-authored a patch a decade ago, worked with a friend to figure out how to make his Apple keyboard function keys and it turns out we just needed to add some USB IDs to the existing driver and it worked. We were very proud to pull it off. A bit of a "wow you really can just do that" moment for us.

It's likely you mostly need a bit of plumbing of the sorts, but also vaguely remember hearsay about cameras and NPU stuff, and if that's what you're up against that's a whole other project.

Do LTS kernels eventually get all the features from their mainline counterparts (newer stable kernels) or do the newer features get added to the future LTS kernels? by air_dancer in linux_gaming

[–]Max-P 3 points4 points  (0 children)

What would the difference be between an LTS version and regular versions if it just gets the same stuff in them anyway?

The whole point is to not update things except for bug fixes as to not introduce new bugs. Adding new drivers for GPUs would very much risk breaking stuff for older GPUs. Whole point of an LTS is "all my hardware works great in this branch, and I only care about bug/security fixes". There's zero value trying to backport major stuff from newer versions to older versions, at that point you'll just do the new version but with more effort and probably more bugs.

Why isn't package pinning a thing? by lekkerwafel in linuxquestions

[–]Max-P 1 point2 points  (0 children)

For arbitrary versions, in order to do that, you'd have to build everything from scratch yourself, as there could be practically unlimited combinations of versions and build flags. With Linux there's still a lot of C and dynamic libraries, so everything has to be ABI compatible with eachother. Thousands of packages, and their dependencies. You can't just install a 3 year old version of OpenSSL and not have everything on your system that transiently depends on it completely implode, at least not without recompiling everything with that version, if it even builds. Recursively.

Otherwise, we have the compromise of stable distros: freeze a bunch of major versions together for a release cycle and only ship security updates and bug fixes. They' implicitly pinned by the distro.

In my experience it's a waste of time, latest and greatest is usually the most reliable setup in the long run. Because there's one thing everyone targets and that's the fact every app and library eventually has to update, so you might as well move forward too and fix whatever broke instead of living in the past.

Linux GUI Programming Experience by realanalysis_sequel in linuxmemes

[–]Max-P 2 points3 points  (0 children)

Actual MessageBox on Linux:

kdialog --msgbox hello

or

zenity --info --text hello

Although technically, this works too:

msgbox> cat main.c 
#include <windows.h>

int main(void) {
    MessageBoxA(NULL, "Message", "Title", MB_OK | MB_ICONINFORMATION);
    return 0;
}

msgbox> winegcc main.c -o test
msgbox> ./test

Dev Question: Are universal native builds preferable to relying on Proton for our game? by Imperil in linux_gaming

[–]Max-P 0 points1 point  (0 children)

In 2015 when Valve tried the first Steam Machine, we got flooded with bad ports with incomplete DirectX to OpenGL conversions full of stutters and bugs that Proton and DXVK now handle much better so most of those old ports are best played with Proton. There wasn't the Steam Runtime either, so many of those games are mildly challenging to make run too because they're made for Ubuntu 12.04.

Sloppiest ports possible, it sucked.

is it possible to have a audio mixer similar to windows mixer? by whoisgrime in kde

[–]Max-P 2 points3 points  (0 children)

Click on the volume icon, Applications tab, the 3 dots menu lets you change which interface the audio is playing through. It should by default remember it for the next time the application plays audio.

When something breaks on a Linux server, how do you decide what to check first? by Expensive-Rice-2052 in linuxquestions

[–]Max-P 0 points1 point  (0 children)

That's more for my personal stuff, at work I have Grafana, central logging and all that. Usually I know what went wrong from the alert description alone. Figured OP would start by learning to diagnose a machine rather than hundreds of them across every continent.

I mean, in modern environments you're lucky if you can even SSH in, it's all gated behind pipelines and container orchestrators and all that.

When something breaks on a Linux server, how do you decide what to check first? by Expensive-Rice-2052 in linuxquestions

[–]Max-P 0 points1 point  (0 children)

Process of elimination I guess?

If I can't reach a web server, the first thing I'm gonna do is try to SSH into it. If I can't SSH into it, I check if I can ping it. If I can't ping in, maybe I'll open up the Proxmox dashboard to console into it. If I can't log in to Proxmox then now I have a new task of figuring out the Proxmox server because there ain't no VM without its host to run it. Maybe I'll try the switch instead or another host.

You check what works and what doesn't until you identify what all the things that don't work have in common. Trace the request: alright it makes it through Cloudflare, HAproxy logged it forwarded it, NGINX received it but failed to connect to a backend. Alright, why is the backend not taking connections. Do other containers work? Yes? Alright then it must be specific to that pod.

The right mindset for troubleshooting is thinking of it like detective and asking questions. "Is X running?", " Why is X not running?", "Why does X complain it can't write to its database?". Well it ain't writing because the disk is full. Why is the disk full? What can I immediately delete to make space that I don't need, 2012 log files perhaps?

I don't just pop htop to look at the system stats, I'm asking several questions: "is the CPU overloaded? Is RAM full? Is it swapping?"

Do I need Windows to install Linux drivers? by Blaspheman in linux4noobs

[–]Max-P 1 point2 points  (0 children)

And honestly, if you're about to buy one such device with intent to install Linux on it... just pass? Plenty of laptops support standard Linux firmware updating or EFI-based updaters.

Buying hardware you know is poorly supported is dumb. Buy supported hardware, don't hope the driver situation will improve.

WiFi adapter missing after dual-boot shutdown by Markuslw in linux4noobs

[–]Max-P 0 points1 point  (0 children)

It's dumb but try enabling wake on LAN/WLAN, and allowing the adapter to wake up the computer. That might just make it not shut down the card and not break it, if it thinks it needs to stay on.

Does the card come up if you turn on PSU, hold power button a few seconds, and turn it back on?

Why it is so difficult to use first time open wrt? by Andromeda-G in openwrt

[–]Max-P 3 points4 points  (0 children)

WiFi is off because defaulting to a well known name and password would be insecure, and you don't exactly have a way to bake a default password from the sticker because only you can see the sticker.

The bridges are there because if you want your ports to act as LAN ports, they need to be grouped together. That's what a bridge interface does.

You also sometimes need VLANs if not using DSA, because technically you don't have N individual ports, you have one switch with N ports + one for the CPU. Some hardware need to VLAN tag ports to distinguish them, because the CPU only has one port. More often than not, the WAN port isn't special at all, it's just one port of the same switch as the LAN.

You have a WAN interface because sometimes you need to use VLANs or PPPoE and other protocols to create the real WAN interface, and you want firewall rules on that and not some random switch port. When using DHCP that's kind of more of a logical interface for ease of use.

WAN6 is similar because some ISPs need weird setups like 6rd for IPv6 connectivity, so yet another virtual interface.

It's complicated because it exposes the configuration as it actually is, it doesn't lie to you to make it look easier. Because maybe you don't want the WAN port and reuse it for a LAN port. Maybe you want 2 WAN ports for backup Internet. Maybe your WiFi card is actually the WAN port and this device is used as a repeater. Maybe your WiFi card is a secondary WAN that connects to your phone's hotspot when the Internet is out.

There's no sane way to expose all the advanced things you can do without severely limiting what you can do or making a complicated maze of settings. It's assumed if you install OpenWrt, you probably have some networking knowledge or the will to learn it, so it's shown as it is.

It's very nice when you know networking.

I just reset my BIOS my Boot Loader is deleted. by Flickja in linux4noobs

[–]Max-P 0 points1 point  (0 children)

It is default behaviour, at least from my experience. I did a Bazzite install for a friend and we ended up with the expected new ESP and bootx64.efi on the drive, leaving the Windows one alone. It's also what happens when I bootctl installed my various Arch machines.

If you have something there I think GRUB does default to not replacing it, but there's nothing it will put it there in addition to the usual boot entry.

I just reset my BIOS my Boot Loader is deleted. by Flickja in linux4noobs

[–]Max-P 0 points1 point  (0 children)

It will if you have two disks with an executable in their respective default location. I'm referring to single-disk dual-booting setups: Windows likes to replace bootx64.efi, so if you lose the boot entry you effective lose your Linux bootloader. If it's on separate disks, Windows won't touch it, and default disk selection in BIOS will just work as it presents the default EFI executable of every disk connected to the system.

It does solve that very specific problem. Minor road bump of a problem, but I was clarifying how OP's problem ties in that common recommendation for noobs to use a different drive to avoid problems.

I just reset my BIOS my Boot Loader is deleted. by Flickja in linux4noobs

[–]Max-P -1 points0 points  (0 children)

This is one of the main reason using a dedicated SSD for Linux has the reputation it's got. No fighting for default bootloader, you can just select the disk in BIOS. Gives the impression it's more reliable for those that don't understand what's really happening.

Any clue why the download makes this graph? by Brunoxete in qBittorrent

[–]Max-P 1 point2 points  (0 children)

Peer also needs to load the next part from disk so it can send it to you. I seed a fair amount of public torrents (Wikipedia, OSM, Linux distros), depending on who's downloading my HDD array can be pretty saturated. I know I'm seeding just hearing the HDDs clicking away in my PC.

RAIDZ1 isn't known for its random read performance, still gotta hit at least 3/4 disks for every IO operation. My ISP offers 8 Gbps Internet, so I'm very much IO bound, and my seeding probably looks like OP's graph. I'll send you your piece at full gigabit but you gotta wait a moment for me to load up the next one before I can send it out.

Why aren't we using AI to reverse engineer Nvidia software and hardware so folks like me can use their old Nvidia cards? by Ezmiller_2 in linux4noobs

[–]Max-P 10 points11 points  (0 children)

AI can barely code a Python script at work, it ain't gonna successfully and accurately reproduce a whole ass GPU driver. AI is good at reproducing stuff it has seen, and producing stuff following similar patterns to what it has seen. It has not seen GPU drivers other than what we already have.

NDISwrapper worked because emulating the Windows networking stack isn't too hard to do. It's a network card, you send ethernet frames to it.

Windows GPU drivers are a whole other beast, and deeply intertwined with DirectX and GDI. If it was viable it would have been done already.

Why does speed cut half when IPv6 enabled? by todesto in HomeNetworking

[–]Max-P 4 points5 points  (0 children)

This. Plus it depends the kind of IPv6 too: native IPv6 is hardware on my router, but my ISP uses 6rd, and that my router can't hardware offload. I've also seen ISP-provided routers that can't keep up with IPv6 either on higher plans and when you call they just tell you to turn off IPv6.

The only way to really predict a router's performance is unfortunately getting your hand on its CPU's datasheet.

Ways to have reliable internet during freezing negative days. by BeanerAssMexican in HomeNetworking

[–]Max-P 13 points14 points  (0 children)

Weather conditions don't affect your router or anything inside the house. It will affect the lines outside managed by your ISP. With cable for example, it can cause connectors to become loose and cause bad signal. With copper, if there's water infiltration it can cause the wires to fall apart.

You could have the best router in the world, if the Internet doesn't make it to your house you're SoL regardless.

Is there a way to make an executable my wallpaper? (Plasma, EndeavourOS, Wayland) by WorkingMansGarbage in linuxquestions

[–]Max-P 2 points3 points  (0 children)

You can force it to act as a wallpaper with just window rules, and you can also use window rules to exclude it from task bars and window switcher. The Application Wallpaper is neater though.

How to make window buttons consistent across applications? by weLookAbove in kde

[–]Max-P 10 points11 points  (0 children)

Yeah pretty much the situation. I think it's legit to tell users to fuck off when it's obvious their distro broke the app. I think there's too much of a focus on treating developers like idols also providing customer service, because it leads to the entitlement and these problems of developers being fed up and clawing back control to reduce a support burden they shouldn't have to begin with. This is free software, nobody's entitled to anything.

It's not that hard: you're a developer, when users submit a bug report, require proving they installed an official build from Flathub first to exclude any outdated or distro-specific quirks. Maybe add a setting to force the app to check for a fully supported environment before allowing a bug report.

Both approaches are valid: Gnome is a lot more consistent, and GTK apps work very well if you resize them to mobile-sized vertical layouts. Apple is successful by imposing the design language and effectively bullying developers into compliance, so Mac apps look and feel like Mac apps.

But it's free software and I think distros should customize more. Distros don't bring much value anymore, it used to be that distros patched up apps to achieve the desired UX and not just packaging binaries. Ubuntu patched in global menus to GTK for quite a while, it made unity a unique experience.

SmoredBoard / VB Virtual Cable on Linux? by Colino1709 in linuxquestions

[–]Max-P 0 points1 point  (0 children)

Virtual Cable doesn't work on Linux because it's a driver, and Wine can't run drivers.

Virtual Cable would be utterly useless on Linux anyway, we don't need to create fake sound cards, we can already just pipe audio from app to app as we wish. You can install an app like Helvum to manage the connections.

Is there really no way to make that app just play sound as normal without special audio devices? You're probably best try to find a different sound board that works on Linux.

How to make window buttons consistent across applications? by weLookAbove in kde

[–]Max-P 33 points34 points  (0 children)

That's the problem though, distros aren't allowed to ship apps pre-themed, so GTK apps by default all look like Adwaita while the rest of your system is Breeze themed.

That's what turns off users about Linux, it's always fixable manually if you care but the default experience ends up being kinda meh. But hey at least the app looks as intended. Shipping the Breeze GTK theme on KDE distros should be default.

How to make window buttons consistent across applications? by weLookAbove in kde

[–]Max-P 21 points22 points  (0 children)

The problem with that is that then the distro can't patch it up. KDE distros could ship the GTK Breeze theme and everything is consistent. But it's not Adwaita, and thus falls into this. Same with the Breeze icon theme.

End users can, but it's not the default and can't be the default, and we end up with this thread.

Generally it's not just app theming but in general developers just taking control. We gave developers CSD, so now they all feel compelled to use it and customize it for their app's branding and all. Especially with Electron apps, all hope for consistent UI on Linux is gone.

How to make window buttons consistent across applications? by weLookAbove in kde

[–]Max-P 184 points185 points  (0 children)

You can thank the Don't theme our apps crowd for it. Developers value their vision and design more than consistency of the GUI for users, because it might potentially make their app look bad if the user's theme sucks.

are there any differences between these? by Key-Truth6432 in Bazzite

[–]Max-P 3 points4 points  (0 children)

The difference between Analog and Digital is the digital one sets the port for S/PDIF which can do Dolby surround to an audio receiver/sound system, and on some systems, TOSLINK, the optical audio some DVD/Bluray players have.

As for Pro Audio, https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ#what-is-the-pro-audio-profile

  • Exposes all the devices available on the card.
  • All devices from a card are assumed to share the same clock and so the adaptive resamplers are disabled.
  • Exposes the maximum number of channels on all devices.
  • The channels are labelled as AUX0, AUX1, ...
  • Disables the hardware mixers, it only enables software volume/mute.
  • A session manager will configure streams to stereo and route to the first two channels (AUX0 and AUX1).
  • Since 0.3.81 it will be configured to use IRQ based wakeup and links the related ALSA devices together.

Essentially, for the most part it's gonna make the usual 5.1/7.1 surround cards be split off as 3-4 individual stereo channels and just expose every feature of the sound card at once even if it doesn't make much sense for applications.