Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
shackleford
Sep 4, 2006

also what does "very old hardware" mean

like older than 11th generation intel

or like atom N2800 netbooks with 1366x768 screens

or the absolute weirdos still trying to run linux on 32-bit x86 CPUs without the CMOV instruction

Adbot
ADBOT LOVES YOU

pseudorandom name
May 6, 2007

Beeftweeter posted:

so how come this can't use the mesa implementation of vulkan while using the nvidia poo poo for whatever else (proprietary crap i guess? wayland supports vulkan, so...)

or is that what it already does and the performance suffers for it?

mesa doesn't have a vulkan implementation, it has several different vulkan implementations for several different hardware devices, one of which is nvk.

vulkan has very little in the way of common infrastructure, it is a thin layer that translates between the hardware-agnostic and the hardware-specific. nvk is already using what little common infrastructure it does have (mostly related to e.g. memory management of CPU-side objects and the shader compiler front end).

The_Franz
Aug 8, 2003

akadajet posted:

sounds like a waste of time

you'd probably say the same about radv when it was a novelty rendering 1 triangle at 3fps or whatever. now it's better than amd's own drivers, and runs many windows games better than amd's actual windows drivers

nvk running real software at playable speeds in an alpha state is amazing, especially considering that it has yet to have any real optimization work done on it

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

pseudorandom name posted:

mesa doesn't have a vulkan implementation, it has several different vulkan implementations for several different hardware devices, one of which is nvk.

vulkan has very little in the way of common infrastructure, it is a thin layer that translates between the hardware-agnostic and the hardware-specific. nvk is already using what little common infrastructure it does have (mostly related to e.g. memory management of CPU-side objects and the shader compiler front end).

so what gets installed with a mesa-vulkan-loader package or something like that (i'm using ios right now and don't specifically remember what the packages are called)? some llvmpipe implementation? reading this i realized i've never actually bothered to check

The_Franz
Aug 8, 2003

Beeftweeter posted:

so what gets installed with a mesa-vulkan-loader package or something like that (i'm using ios right now and don't specifically remember what the packages are called)? some llvmpipe implementation? reading this i realized i've never actually bothered to check

the vulkan loader is just a shim that redirects the calls to the underlying driver, and maybe loads some layers if needed (validation, debug, etc…)

Sapozhnik
Jan 2, 2005

Nap Ghost
regarding the gtk thing, drawing bezier curves using a machine that executes programs across the pixels inside a triangle is a rather square-peg-in-round-hole situation. web browsers have similar code inside them, but they have orders of magnitude greater developer resources than gtk has.

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Sapozhnik posted:

regarding the gtk thing, drawing bezier curves using a machine that executes programs across the pixels inside a triangle is a rather square-peg-in-round-hole situation. web browsers have similar code inside them, but they have orders of magnitude greater developer resources than gtk has.

a postscript printer from like 1986 also has code in it that draws bezier curves without using pixels

akadajet
Sep 14, 2003

The_Franz posted:

now it's better than amd's own drivers, and runs many windows games better than amd's actual windows drivers

amd lol. was that ever really a high bar?

Mr. Crow
May 22, 2008

Snap City mayor for life

Beeftweeter posted:

so wouldn't this make this ngl renderer much slower on older hardware? :thunk:

e: oh i should've kept on reading. the answer is yes*

*as noted above, the vulkan renderer is apparently pretty close in performance. but i'd say the problem they apparently can't track down is "you're using very complex shaders"

although idk if that 60/144 fps figure is for the old renderer or these new ones, sounds like it's maybe all of them? so idk if it's really an issue

e2: lol

the vulkan renderer also apparently can't do media surfaces yet

why is it everything in the graphics stack of linux is magic env variables for configuration all the way down why cant we just have some loving files in etc

outhole surfer
Mar 18, 2003

Mr. Crow posted:

why is it everything in the graphics stack of linux is magic env variables for configuration all the way down why cant we just have some loving files in etc

i give you /etc/environment

Mr. Crow
May 22, 2008

Snap City mayor for life

outhole surfer posted:

i give you /etc/environment

i can't lookup the values or defaults or explanation of any of it in that file

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

outhole surfer posted:

i give you /etc/environment

why am i just learning about this now

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
btw that ngl opengl renderer is now the default on all nightly builds of gtk 4 lol

maybe we'll find out what older hardware means pretty quickly

Visions of Valerie
Jun 18, 2023

Come this autumn, we'll be miles away...

akadajet posted:

amd lol. was that ever really a high bar?

Not sure what you're on about - AMD's stack is fine in Windows, and it's not like the cards aren't competitive. Plus, NVidia doesn't get money when you buy them :)

pseudorandom name
May 6, 2007

Beeftweeter posted:

so what gets installed with a mesa-vulkan-loader package or something like that (i'm using ios right now and don't specifically remember what the packages are called)? some llvmpipe implementation? reading this i realized i've never actually bothered to check

vulkan-loader or whatever your distro calls it is https://github.com/KhronosGroup/Vulkan-Loader, a vendor-neutral library unrelated to Mesa that parses JSON config files in a couple of well known locations that list installed Vulkan drivers and Vulkan layers, which is basically an official hooking mechanism blessed by Khronos.

mesa-vulkan-drivers or whatever your distro calls it includes the various different Vulkan drivers included in the Mesa project and their Vulkan Loader JSON configuration files. this does include a particularly weird Vulkan driver called lavapipe that's actually built on top of gallium and llvmpipe, but that's a pure-software Vulkan implementation. no other Vulkan driver uses Gallium because it isn't remotely suited to implementing Vulkan. (There's actually a Gallium driver called Zink which is implemented on top of Vulkan.)

I think part of your confusion may be Mesa-the-project vs. Mesa-the-OpenGL-implementation, Mesa-the-project includes several Vulkan drivers but very little of Mesa-the-OpenGL-implementation gets shared with the Vulkan drivers and consequently very little gets shared between the various different Vulkan drivers.

outhole surfer
Mar 18, 2003

i use a pure romulan graphics stack

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Mr. Crow posted:

why is it everything in the graphics stack of linux is magic env variables for configuration all the way down why cant we just have some loving files in etc

Lots of things are environment variables. That's just the predominant way of configuring things and always has been.

See also: /etc/default/, those files are typically sourced to form the environment of the daemon, even if the daemon has a dedicated configuration file.

code:
[Unit]
Description=OpenBSD Secure Shell server
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
[…]

Mr. Crow
May 22, 2008

Snap City mayor for life

Antigravitas posted:

Lots of things are environment variables. That's just the predominant way of configuring things and always has been.

See also: /etc/default/, those files are typically sourced to form the environment of the daemon, even if the daemon has a dedicated configuration file.

code:
[Unit]
Description=OpenBSD Secure Shell server
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
[…]

the point is not that they use environment variables its that it's not documented anywhere, except in this one blog about this new feature they added. or maybe it's in the readme for the source code if you're lucky. and on the right branch. and in the maintained project.

https://man7.org/linux/man-pages/man1/ssh.1.html#ENVIRONMENT

https://www.man7.org/linux/man-pages/man5/ssh_config.5.html#ENVIRONMENT_VARIABLES

see the difference?

Mr. Crow
May 22, 2008

Snap City mayor for life
https://docs.gtk.org/gsk4/?q=GSK_RENDERER

lol

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Mr. Crow posted:

the point is not that they use environment variables its that it's not documented anywhere,

the only linux i have immediately available to me is iSH/alpine on ios, but `cat /etc/environment` outputs this

code:
#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
seems like some minimal documentation at least? and the syntax is at least intuitive for environment variables

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Mr. Crow posted:

the point is not that they use environment variables its that it's not documented anywhere, except in this one blog about this new feature they added. or maybe it's in the readme for the source code if you're lucky. and on the right branch. and in the maintained project.

https://man7.org/linux/man-pages/man1/ssh.1.html#ENVIRONMENT

https://www.man7.org/linux/man-pages/man5/ssh_config.5.html#ENVIRONMENT_VARIABLES

see the difference?

Oh, you mean GTK? That's just Gnome for you.

pseudorandom name
May 6, 2007

Mr. Crow posted:

why is it everything in the graphics stack of linux is magic env variables for configuration all the way down why cant we just have some loving files in etc

its not end-user configuration, it's a development override, and it's documented in the gsk_renderer_new_for_surface page

Mr. Crow
May 22, 2008

Snap City mayor for life

pseudorandom name posted:

its not end-user configuration, it's a development override, and it's documented in the gsk_renderer_new_for_surface page

exactly

Sapozhnik
Jan 2, 2005

Nap Ghost
it's a pre-release feature that's still in testing, so it's not going to be prominently documented since it is intended for use by developers at the moment.

there are plenty of other obtuse hidden configuration things in linux to complain about, like fontconfig, or polkit.

want to mount this random flash drive you found in the parking lot? sure, no problem buddy. want to mount an encrypted volume? whoa there friend i'm going to need you to enter your account password (no, not the volume passphrase, you need your account password as well) to authorize that. want to change that behavior? simple, you merely need to write a supplementary authorization policy in javascript to automatically authorize this particular action code. why yes i did just tell you to go gently caress yourself.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Polkit is a distro maintainer thing though, and they usually map common sets of actions to groups. You really aren't supposed to gently caress with polkit directly unless you are basically a distro maintainer (that's me :negative:). Like with udev rules, you aren't touching them unless you are the janitor.

akadajet
Sep 14, 2003

Visions of Valerie posted:

Not sure what you're on about - AMD's stack is fine in Windows, and it's not like the cards aren't competitive. Plus, NVidia doesn't get money when you buy them :)

can't hear you over the sound of my 4090

Mr. Crow
May 22, 2008

Snap City mayor for life
normal users will absolutely be touching udev at some point its not "just for maintainers" :psyduck:

like half the usb devices i use ive had to muck around with udev for one reason or another

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
i've been having to gently caress around with udev a lot lately actually lol

it doesn't work correctly on iSH (an ios app that uses a x86 interpreter to run alpine; it's faster than you'd expect), and since so many services depend on it i've been trying to hack my way into using busybox's mdev as a replacement. and, of course, without much success, since it's very lacking in comparison

and yeah i realize the solution is to just wait for udev to work properly on iSH (if it ever does), but meh it's been a pretty educational experience

pseudorandom name
May 6, 2007

Mr. Crow posted:

normal users will absolutely be touching udev at some point its not "just for maintainers" :psyduck:

like half the usb devices i use ive had to muck around with udev for one reason or another

to do what?

Mr. Crow
May 22, 2008

Snap City mayor for life

if your using any sort of joystick or wireless controller or headset you are probably touching udev

Mr. Crow
May 22, 2008

Snap City mayor for life
yubikeys you had to mess with udev for a while; though i dont think you do anymore

Mr. Crow
May 22, 2008

Snap City mayor for life
"using a computer"

The_Franz
Aug 8, 2003

Mr. Crow posted:

normal users will absolutely be touching udev at some point its not "just for maintainers" :psyduck:

like half the usb devices i use ive had to muck around with udev for one reason or another

normal users don't have to touch udev any more than they need to touch the windows registry

probably less so, because normal users aren't going to be messing with linux

pseudorandom name
May 6, 2007

do you use a hobbiest distro made by teenagers? none of that requires touching udev

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
hell even if you do kde, gnome and even wine support pairing controllers without having to configure anything

Visions of Valerie
Jun 18, 2023

Come this autumn, we'll be miles away...

gyro data is not exposed by default from playstation 3 and 4 controllers. (Steam is using its own driver, IIRC.)

systemd issue, but no way in hell am I talking to them: https://github.com/systemd/systemd/issues/17691

kernel commit loving it all up: https://github.com/torvalds/linux/commit/20ac95d52a28f55472a54cc751eeec49fd445cb1

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
hmm i wonder if reactos's explorer would run under wine. it'd be cool to use as a desktop manager (although just running it under wine obviously would not automatically make it a desktop manager)

the last time i tried it, it was pretty win2k-like and would probably feel better to use than a theme

Sapozhnik
Jan 2, 2005

Nap Ghost
linux probably needs to borrow windows' concept of "top-level collections" otherwise there will always be udev problems with input devices.

to reiterate a previous post i made itt, there is no such thing as a "usb keyboard" or a "usb mouse", just a device that implements usb hid (which might not even be connected over usb for that matter, it might connect via bluetooth or even i2c). this is a problem because you don't want random processes to be able to read passwords from keyboards, but you do want random games to be able to read from game controllers. so the official udev rules have to keep playing whack-a-mole with an allowlist of safely-readable usb hid products. even on the latest versions of fedora you still have to install udev rules to be able to use playstation controllers, unless that has changed in the last couple of years.

windows solves this problem by splitting hids into independent "top level collection" subdevices, which isn't really a first-class concept in hid itself, but while there is no such thing as a hid keyboard there is such a thing as a collection of inputs on a hid that is tagged as being keyboard-like, so windows walls off any such pieces of a device and allows arbitrary processes to freely access the rest. linux on the other hand takes an all-or-nothing approach and exposes things that can transmit and receive hid messages as single /dev nodes.

ironically the primary input interface presented by the linux kernel is a proprietary "evdev" input protocol that it translates actual standardized input interfaces into. you can access "hidraw" devices in addition to that, but those only exist for actual hids and not for things like ps2 keyboards or whatever so most programs don't use it. windows on the other hand uses hid as the protocol for every device, whether the underlying device actually speaks hid or not. not surprising given that microsoft basically wrote the entire hid spec.

ziasquinn
Jan 1, 2006

Fallen Rib

quote:


to reiterate a previous post i made itt, there is no such thing as a "usb keyboard" or a "usb mouse", just a device that implements usb hid (which might not even be connected over usb for that matter, it might connect via bluetooth or even i2c)
god I love it. the nerdiest poo poo

this is what keeps me coming back to the slop tbh

Adbot
ADBOT LOVES YOU

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
wouldn't a bluetooth keyboard use the bluetooth hid standard? or did you mean it's the same as usb to udev?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply