[-] edinbruh@feddit.it 49 points 1 month ago

So glad I study CS and our teachers are just "here's a LaTeX template for the thesis, it will do the formatting for you". You can always use word and follow the formatting guidelines yourself, but that would be stupid

1074
submitted 2 months ago by edinbruh@feddit.it to c/memes@lemmy.world
[-] edinbruh@feddit.it 65 points 2 months ago

Tech Bros make a panopticon and call it a novel approach

[-] edinbruh@feddit.it 56 points 3 months ago

Download Firefox/ Look inside/ Still Firefox.

Download thunderbird/ Look inside/ Older Firefox.

28
submitted 4 months ago* (last edited 4 months ago) by edinbruh@feddit.it to c/linux@lemmy.ml

I'm using sunshine for remote gaming on my Linux PC. Because I use Wayland and don't have an Nvidia I use kmsgrab for capture (under the hood sunshine uses ffmpeg).

I have noticed that I can enter tty and kmsgrab will capture it as well. If it just captured after logging in my user I wouldn't be surprised, but it also captures the login screen.

I autostart it at login using my systemd user configuration (not systemwide) so it should just have my user's permission level. I get the same results if I put it in KDE's autostart section, so it's not a systemd thing.

Why does that work? Shouldn't you need special privileges to capture everything?

The installation instructions tells you to do sudo setcap -r $(readlink -f $(which sunshine)) is this the reason why it works? What does the command do exactly?

[-] edinbruh@feddit.it 50 points 4 months ago* (last edited 4 months ago)

So, I'm going for a long explanation just in case, just skip the parts you already know.

tl;dr: Wayland is more modern and potentially better, but development on the linux desktop is slow so some parts are not ready yet. You should use it for future-proofing, unless there is some X11 feature that you really really need. But you probably won't notice much on the surface. Check your drivers/desktop environment versions if you have flickers on nvidia, you need the very latest versions because of a recently resolved issue.

Backstory:
Xorg is a program, X11 is the protocol used by said program. Xorg is old, insecure, inefficient, it is based on an idea of how graphics work that is outdated and doesn't reflect modern hardware. But most of all, its code is a mess, and it is impossible to update it to fix those issue. Thus, the Wayland protocol was born as clean-slate replacement, meant to solve some issue (make it more secure), clean up the software (Xorg is unmaintainable), and make it reflect the way modern graphics work (less intermediary, no network transparency, no per-vendor implementation), but as a consequence, it breaks compatibility with old software.
Also the developer of xorg were so traumatized by x11 that when making Wayland they went to much in the opposite direction and were reluctant to implement some features, most of which have now been added as protocol extensions or separate software, but some are considered against the protocol design principles and will never be implemented. One of the differences is that there's no standalone display server, but you have a window manager+compositor+display manager, so Desktop environments need to make their own or support the one made for other environments, that's why only a few of the long-standing DE support wayland, for now.

What makes Wayland good (plus drawbacks):
Less intermediaries mean theoretically more efficiency, thus speed. Of course, that is only true if the compositor is mature enough, after all X11 software is very mature.
In ye olden times every vendor provided a closed source implementation of the x11 protocol, and that's how drivers worked. That is objectively a bad idea, so during the years glamor was developed, to run Xorg directly on OpenGL instead of on an ad hoc driver (put a pin on this for later). In Wayland you don't need ad hoc drivers, they just need to provide Egl (not to be confused with EglStreams) and a library called GBM, that are used for managing frame buffers.
Xorg used to manage a huge part of the devices (even printers...), and due to antiquate design, it was unable to handle trackpads correctly (e.g. no proper kinetic scrolling), Wayland does less, and relies on other more modern input management libraries, this theoretically allows input devices to work better, but only if the related new libraries and protocols are ready. E.g. he trackpad part is ready, the drawing tablet part is not.
It is more secure, for example it doesn't allow programs to just read the screen. It is absolutely possible to do screen recording, but you need modern software, and some applications (e.g. discord) are really reluctant to update their libraries (discord is using electron from 2018), so they don't get recording. A problem is that it doesn't allow applications to move windows, some protocols are being worked on, but right now, software that relies on moving or placing windows will not work.

Applications (plus possible work around for freetube):
Most applications using modern libraries and toolkit don't need to care about Wayland support, the toolkit will do the job. They might be undertested on Wayland tho, and small projects might not have the resources to test and take care of both protocols, so they will choose X11 because it's still the most used.
Most older applications also don't need to care, because Xwayland works just fine (put another pin on this), but sometimes they are a bit broken. And if they are specifically tools for xorg (e.g. xscreensaver) they will of course not work.
Some times electron apps still have issues, because chrome has not had proper Wayland support for a long time. More over, Google does make a version of chrome with improved Wayland compatibility, but they ship it with chromeos. You might fix some issue by adding --disable-gpu which disables electron's gpu support.
Expect proprietary applications to not fully support native Wayland, because their vendor often don't care.
Java applications don't support native Wayland because AWT is fundamentally incompatible with Wayland. JetBrains is working on a replacement.

Nvidia, Xwayland, and Glamor (this probably concerns you):
Recall the pins from before.
Nvidia provides it's own proprietary implementation of X11, like in ye olden days. When they decided to support Wayland they decided that they wanted to use Egl+EglStreams instead of Egl+Gbm, but only gnome implemented partial support for eglstreams (so it was basically unusable), they refused to support Gbm for many years, untill about three years ago for and suddenly you mostly could use wayland on Nvidia but some things were broken, and especially Xwayland was broken and flickery. Many things were fixed but not xwayland.
Nvidia refused implement the Implicit Sync (from now IS) semantic, which was (until a couple months ago) required by linux's standards. That is to say that their drivers did not respect linux's standard and were incorrect. IS is not a good semantic for modern graphic, but that was the standard and there was no alternative.\ No one noticed for a long time because Nvidia provided it's own implementation of X11, but xwayland uses glamor which glitches when IS is not implemented causing flickers. Actually this affects everything, but for some reason xwayland is more affected.
During the past two-to-three years Wayland developers worked along side nvidia to come up with a new Explicit Sync (from now ES) semantic. ES is marginally better for IS, but most of all, Nvidia is fine working with it, so now the flickering should be fixed as well.
Why does your xwayland windows flicker? Applications can support ES and get 0.001% better performance even if they shouldn't need to (because of how it was designed), but what you need is support from your desktop environment, and from your drivers. You need the latest version of Xwayland, and Gnome 46.1+ or KDE 6.1+, plus nvidia drivers 555+. If you have those versions of the software, everything should work, if not expect flickers and wait for updates.

2

SOTTR can now run in proton-experimental (it used to crash due to a missing vulkan feature), but how does it compare to the native version?

Normally I would just use the native version, but got the game from epic, which doesn't provide the native build. So if I wanted to run native I would have to acquire the game from other sources (keep in mind that I own the game on epic), which is less than ideal. But I wouldn't do it if there's no advantage.

20
submitted 6 months ago by edinbruh@feddit.it to c/linux_gaming@lemmy.ml

SOTTR can now run in proton-experimental (it used to crash due to a missing vulkan feature), but how does it compare to the native version?

Normally I would just use the native version, but got the game from epic, which doesn't provide the native build. So if I wanted to run native I would have to acquire the game from other sources (keep in mind that I own the game on epic), which is less than ideal. But I wouldn't do it if there's no advantage.

[-] edinbruh@feddit.it 51 points 6 months ago

Straightest Griffith interaction.

Also, fuck Griffith

[-] edinbruh@feddit.it 60 points 6 months ago* (last edited 6 months ago)

The USB protocol was simple by design, so it could be implemented in small dumb devices like pen drives. More specifically, it used two couples of cables, one couple was for power and the other for data (four wires in total). Having a single half-duplex data line means you need some way of arbitrating who can send data at any time. The easiest way to do it is having a single machine that decides who gets to send data (master), and the easiest way to decide the master is to not do it and have the computer always do the master. This means you couldn't connect two computers together because they would both try to be the master.

I used the past tense because you may have noticed that micro USB have 5 pins and not 4, that's because phones are computers and they use the 5th pin to decide how to behave. If it's grounded they act as a slave (the male micro to male A cable grounds it). If it has a resistor (the otg cable has it) it act as master. And if the devices are connected with a wire on that pin (on some special micro to micro) they negotiate the connection.

When they made usb 3.0 and they realized that not having the 5th wire on the usb-A was stupid, so they put it (along side some extra data lines) that's why they have an odd number of wires. So with usb 3 you can connect computers together, but you need a special cable that uses the negotiation wire. Also I don't know what software you need for it to work.

Usb-c is basically two USB 3.0 in the same cable, so you can probably connect computers with that. But often the port on the devices only uses one, so it might not be faster. Originally they put the pins for two connections so you could flip the connector, but later they realized they could use them to get double speed.

8
submitted 6 months ago by edinbruh@feddit.it to c/linux@linux.community

Do you have an AMD aura GPU? Do you also use Linux? There's this this driver that needs to be tested.

It allows you to control the lighting of the GPU using programs like openRGB.

I wrote that PR that should make it work for more GPUs, but I only have an RX 480 so I can only test that one. It would be useful to try it on a Vega gpu.

If you have an rDNA 1/2/3 GPU, it most likely won't work, but without the card there's nothing I can do.

On a side note, if you are interested in maintaining the driver it would be great.

5
submitted 7 months ago by edinbruh@feddit.it to c/linux@linux.community

Detailed issue

Basically Kwin and other programs (simple xdg-desktop-portal or even gimp) crash and they bork the entire screen with no recovery other than rebooting. When the program that crash is Kwin it's particularly bad because it happens at login.

[-] edinbruh@feddit.it 92 points 7 months ago

AI upscaling, I think

[-] edinbruh@feddit.it 92 points 8 months ago

I am a computer scientist after all

356
submitted 8 months ago* (last edited 8 months ago) by edinbruh@feddit.it to c/linux@lemmy.ml

This is a short appreciation/user experience story. Tl;Dr I'm enjoying my time on linux

I have been using Linux for a while (gnome for a year with an Intel UHD gpu, and KDE for a couple of months on a recent AMD gpu), and till now there was no brightness slider. Moreover, I have used the same display with windows for several years and there was no slider as well.

As far as I know (I looked up online some years ago, but this info is sometimes hard to find) my display supports DDC/CI but doesn't expose brightness (haven't actually tried).

For some reason, about a week ago a brightness slider appeared on KDE but it didn't do anything. Yesterday while updating some unrelated stuff I noticed the slider again and moved it for shit and giggles, and the brightness actually changed...

I have several questions... and I don't even know which piece of software is responsible for this... but thanks

I have been using Linux on and off for several years, often alongside windows, but I have entirely switched to it (almost, I still have a windows PC that I use once in a while) about 16 months ago. I have to say that Linux does take a lot more effort in getting some things to work, but when everything goes smoothly it's sooo good, and improves every month.

In the span of a year my desktop experience has only got better. But the shock was when I booted up an Ubuntu 16.04 cd I had lying around to fix grub on a dual boot machine and it was barely usable. Now instead it's almost "plug and play". Plus Nvidia cards are getting more and more usable with every update, explicit sync is almost merged, and prime works fine already.

There won't be a year of the Linux desktop anytime soon (there's still too much that needs improvement), but the next years will definitely be exciting.

P.s.: does any of you know why display brightness works now?

13
submitted 9 months ago by edinbruh@feddit.it to c/linux_gaming@lemmy.ml

I have a Nvidia gpu with the latest proprietary drivers, and I'm trying to play BAA from egs (using heroic) but physX doesn't work.

I have run the automatic winetricks (I don't know which ones because heroic doesn't tell) and I have tryed this also the environment variable PROTON_ENABLE_NVAPI=1, but it still doesn't run on the gpu, even if the message "no hardware physx detected" stopped showing.

And if hardware acceleration doesn't work, I get the same behaviour on arkham city, but the game runs at double the framerate, even if using the cpu. Would it be possible to get asylum to run like city? I have tried swapping some dlls but nothing.

8

I have a Nvidia gpu with the latest proprietary drivers, and I'm trying to play BAA from egs (using heroic) but physX doesn't work.

I have run the automatic winetricks (I don't know which ones because heroic doesn't tell) and I have tryed this also the environment variable PROTON_ENABLE_NVAPI=1, but it still doesn't run on the gpu, even if the message "no hardware physx detected" stopped showing.

And if hardware acceleration doesn't work, I get the same behaviour on arkham city, but the game runs at double the framerate, even if using the cpu. Would it be possible to get asylum to run like city? I have tried swapping some dlls but nothing.

[-] edinbruh@feddit.it 53 points 10 months ago

Home is pretty useful actually, just like end. Ins can go fuck itself

7
submitted 10 months ago by edinbruh@feddit.it to c/linuxquestions@lemmy.zip

Can I get a better Nvidia+Wayland experience by using prime and connecting the display to an AMD iGPU? I saw that in the last year Nvidia Prime had some improvements, do they make it feasible?

I can't just try it because I have yet to buy said AMD iGPU. And I'd like to know it before buying

[-] edinbruh@feddit.it 106 points 10 months ago

If I get back to 2005 I can easily get more than 10 millions by the time it's 2024 again. Plus all the other perks of restarting your life

[-] edinbruh@feddit.it 78 points 11 months ago

Dude what are you talking about, it was still here less than 15 years ago. The Nintendo Wii literally had an ATI GPU

46
submitted 11 months ago by edinbruh@feddit.it to c/linux@lemmy.ml

I don't like my ssh keys being stored in plain sight, I also don't like having to type a passphrase to use them.

On windows, once you run ssh-add, the key is stored in a secure way and managed by some kind of session manager (source), at that point you can delete the key file and go about your life knowing that the key is safe and you won't need to type a password again.

I would like something similar on linux, like storing the key via libsecret as you do with git, so that you can access your servers without having a key in plain text.

I think it's possible to generate a key with a passphrase and have gnome-keyring or kwallet remember the passphrase, but it would be nicer to just securely store the key itself.

Can that be done?

16
submitted 1 year ago by edinbruh@feddit.it to c/linux@lemmy.ml

I have a projector that needs limited rgb range, but for some reason (maybe a faulty hdmi-vga dongle) the intel driver selects full range. I want to force the limited rgb range when I plug the projector, but I need it set to auto normally, because my usual monitor needs full range.

I read this guide that explains how to use proptest to switch mode when in wayland. The problem is that running the command when the gnome session is open doesn't work and returns an error 243 (I can't find it in errno.h, but google says its EACCESS). The guide deals with this by launching the command with systemd before gdm starts, but as I said, I only want to force the limited range when using the projector.

I noticed that I can switch to a tty, set the range, and switch back to gnome while everything is still running and it works, which is my current "workaround", and I'd like to automate it. So I thought that there's a moment when gnome "takes control" of a screen where this can be set. I tried to use a udev rule to switch as soon as a monitor is plugged, but it exits with 243 as usual. I suspect gdm has a way to automate such things that might possibly work, but I can't find it, I only read about some xorg scripts.

Also, there's this issue that's being worked on. One of the commenters uses an udev rule as a work arount but it doesn't work for me.

[-] edinbruh@feddit.it 54 points 1 year ago

There! Now try to make a doubly linked list

view more: next ›

edinbruh

joined 2 years ago