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
Notorious b.s.d.
Jan 25, 2003

by Reene

Suspicious Dish posted:

I, too, as a software engineer, have opinions on NeWS. They do not hold NeWS very highly regarded. It's a similar system to Plan 9's rio, and I don't like either architecture.

I won't go into detail.

oh please do

even a dead os is still a piece of poo poo

Adbot
ADBOT LOVES YOU

theadder
Dec 30, 2011


Notorious b.s.d. posted:

begging for emptyquotes is just sad

:laffo:

Cybernetic Vermin
Apr 18, 2005

Notorious b.s.d. posted:

X predated NeWS, and NeWS was proprietary.

well, yeah, unsurprisingly there are *reasons* why x11 stuck around (and 11 was predated by news). does not change that x11 was total poo poo when it was new. and to be quite honest that is rather irrelevant for the fact that x11 is triple-loving-poo poo in tyool 2014, but i couldn't help pointing out the shitness of x11 since it annoys a lot of the same people who hilariously imagine that oss needed to be replaced by alsa and other later abortions

Cybernetic Vermin
Apr 18, 2005

x11: single-handedly killed unix in the early desktop wars, but lets keep it around for another 20 years since enumerating 12389 atoms in network roundtrips starting a terminal is p. neat i guess

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER
This is where I complain about Mint again for being a bunch of goddamn know-it-all amateurs.

There are three tiers of dependency relationships in .deb packages: Depends, where the package manager refuses to install without them, Recommends, where apt installs them by default but doesn't force the parent package's removal if you remove them, and Suggests, where the package manager doesn't install them by default. This was defined in the standard, but for a while apt wasn't actually installing Recommends by default.

4 years ago or so, the Debian and Ubuntu developers changed this to respect the standard. This of course required going through the archive and removing a bunch of things that didn't actually need to be Recommends, which were instead demoted to Suggests. It also involved demoting a few Depends to Recommends, since strictly speaking the package could run without them they were just really nice to have.


Mint, in their infinite wisdom, decided to revert this behavior in their latest version. This means that Recommends are now treated the same as Suggests in Mint, and you won't get them unless you explicitly go out looking for them.

Here is what installing Wine without Recommends gets you:
- No print support
- No replacement fonts (some apps will show literally no text)
- Broken sound
- No SSL connections (all DRM will break)
- Plus about 14 other "optional" stuff Wine expects that make random apps work better

The only redeeming fact here is that Mint also installs a whole bunch of crap by default, so there's a slight chance the user will have these Recommended packages anyway.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Cybernetic Vermin posted:

x11: single-handedly killed unix in the early desktop wars, but lets keep it around for another 20 years since enumerating 12389 atoms in network roundtrips starting a terminal is p. neat i guess

Uh? Enumerating a bunch of atoms requires one roundtrip. That's it.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Cybernetic Vermin posted:

well, yeah, unsurprisingly there are *reasons* why x11 stuck around (and 11 was predated by news). does not change that x11 was total poo poo when it was new. and to be quite honest that is rather irrelevant for the fact that x11 is triple-loving-poo poo in tyool 2014, but i couldn't help pointing out the shitness of x11 since it annoys a lot of the same people who hilariously imagine that oss needed to be replaced by alsa and other later abortions

If NeWS had stuck around today, we'd be in the same pickle. It makes the exact same assumptions and with its drawing model that does not work well with modern GPUs, and then slaps a non-parallelable programming model on top of it built on a stack language designed for low-cost printers in the interest of removing latency across slow wires.

NeWS's big claim to fame was that its xeyes clone was lower latency when ran across the network, because all it did was pass a program to the display server to be embedded in it on startup. There were some APIs to talk to your "real" process with message passing.

There's a comparison to the web browser and JavaScript and AJAX to be made. But unfortunately, it's even more low-level than JavaScript. NeWS programs could interact with each other. There were APIs in the NeWS scripting system to do low-level file access. Hey, look, just read from /dev/cdrom as your extremely privileged display server process! There was an API for a loving ioctl. An *ioctl*.

That's not the poo poo you want in a secure desktop.

OS X moved away from "Display PostScript" very early on in their OS, because it turns out that while it's convenient to have a vector representation of the drawing on the server side, it wastes a ton of memory for a web page, you can't really have GIFs or anything like that on the server side without catapulting buckets of data across every frame, and even then, you can't do any effects like blurs or reflections in it.

All for the flawed notion that vector graphics are infinitely scalable, and that it's useful to take the same image data intended for one resolution, and silently bump it up to another. That ain't the case.

It's also extremely wasteful with modern GPUs.

GIMP would be extremely slow under NeWS because by design its job is to manipulate bitmaps. This is something the designers of NeWS intentionally made inefficient (no support for image compression, and they vehemently rejected the idea), because they thought that bitmaps were the way of the past. The model was that you uploaded your ten icons in your UI, and then your UI scripting, and then you're done.

If the world chose NeWS, I'd say that we'd be in a much worse place, with a lot bigger security issues to deal with, a bigger compatibility problem, and a larger code base to replace in the world.

At least the compatibility constraints we have to care about with X11 are limited to its dated assumptions, and not its broken programming model.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

ShadowHawk posted:

This is where I complain about Mint again for being a bunch of goddamn know-it-all amateurs.

There are three tiers of dependency relationships in .deb packages: Depends, where the package manager refuses to install without them, Recommends, where apt installs them by default but doesn't force the parent package's removal if you remove them, and Suggests, where the package manager doesn't install them by default. This was defined in the standard, but for a while apt wasn't actually installing Recommends by default.

4 years ago or so, the Debian and Ubuntu developers changed this to respect the standard. This of course required going through the archive and removing a bunch of things that didn't actually need to be Recommends, which were instead demoted to Suggests. It also involved demoting a few Depends to Recommends, since strictly speaking the package could run without them they were just really nice to have.


Mint, in their infinite wisdom, decided to revert this behavior in their latest version. This means that Recommends are now treated the same as Suggests in Mint, and you won't get them unless you explicitly go out looking for them.

Here is what installing Wine without Recommends gets you:
- No print support
- No replacement fonts (some apps will show literally no text)
- Broken sound
- No SSL connections (all DRM will break)
- Plus about 14 other "optional" stuff Wine expects that make random apps work better

The only redeeming fact here is that Mint also installs a whole bunch of crap by default, so there's a slight chance the user will have these Recommended packages anyway.

Why do you ship things in eight billion subpackages? Why are they "optional" at all if you complain when the user doesn't install them?

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Every other OS: don't remove those parts, they're required for the app to function.

Linux: it's optional, go ahead, remove the parts you don't need! Except don't remove those parts, because then the app won't function.

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER

Suspicious Dish posted:

Why do you ship things in eight billion subpackages? Why are they "optional" at all if you complain when the user doesn't install them?
The Recommends I'm referring to are not subpackages of Wine at all - they're other libraries on the system. There's a very good reason libgnutls isn't part of the Wine package :D

http://packages.ubuntu.com/trusty/wine1.6-amd64


Debian made the mistake of having a billion subpackages for Wine and it's one of the reasons Ubuntu has a completely different non-debian-derived package for them.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Why not mark them as Requireds, then?

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER

Suspicious Dish posted:

Every other OS: don't remove those parts, they're required for the app to function.

Linux: it's optional, go ahead, remove the parts you don't need! Except don't remove those parts, because then the app won't function.
To be clear, on Ubuntu, the normal use case is you get a fully working app by default. If you deliberately explicitly go into the package manager and remove a system library for some reason, then the package manager will do its best to respect that you don't want it and keep the rest of your software working as best it can rather than delete them for you.

This way you can have things like embedded apps or VM appliances without having to completely give up on the package manager.

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER

Suspicious Dish posted:

Why not mark them as Requireds, then?
Because Wine can still run usefully and run a bunch of apps without them. Not every app uses every piece of the Windows API Wine has implemented. Some of those pieces pull in other libraries.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
What's the use case for removing libgnutls and breaking literally all DRM? Is that a use case Ubuntu really wants to support out of the box?

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
OK, so it sounds like the reason is "my crazy special case setup really, really wants to use WINE, but have a small footprint, so instead of rebuilding this software to have a smaller footprint and disable some of the options to fit my use case which I'll also be doing to set the whole system on musl instead, I'll use this feature of my system manager that allows me to hacksaw off half of WINE's functionality in an undetectable way that silently breaks apps"

Good idea.

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER

Suspicious Dish posted:

What's the use case for removing libgnutls and breaking literally all DRM? Is that a use case Ubuntu really wants to support out of the box?
It doesn't break on Ubuntu out of the box since we install the Recommends by default. "Recommends" is a pretty strong Recommends (eg if a Recommends is uninstallable at package install time apt will throw an error rather than just charge ahead -- it's more like "depends that are able to be manually removed if you insist".)

If you're asking "why not make all defaults mandatory for everyone" then, well, there are different use cases. For Wine as well as any other package.

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

ShadowHawk posted:

It doesn't break on Ubuntu out of the box since we install the Recommends by default. "Recommends" is a pretty strong Recommends (eg if a Recommends is uninstallable at package install time apt will throw an error rather than just charge ahead -- it's more like "depends that are able to be manually removed if you insist".)

If you're asking "why not make all defaults mandatory for everyone" then, well, there are different use cases. For Wine as well as any other package.

yeah then make them reqs and if idiots want to remove them they can use --force on dpkg or something


stop optimizing for edge cases

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER

Malcolm XML posted:

yeah then make them reqs and if idiots want to remove them they can use --force on dpkg or something


stop optimizing for edge cases
It's not "optimizing for edge cases" so much as not actively trying to further break things for users who do manual configuration. We already hide that manual configuration from idiots.

But now Mint is forcing all their users to be idiots by default.

jre
Sep 2, 2011

To the cloud ?



ShadowHawk posted:

This is where I complain about Mint again for being a bunch of goddamn know-it-all amateurs.


:ironicat:

cowboy beepboop
Feb 24, 2001

ShadowHawk posted:

It's not "optimizing for edge cases" so much as not actively trying to further break things for users who do manual configuration. We already hide that manual configuration from idiots.

But now Mint is forcing all their users to be idiots by default.

just change them to required

VAGENDA OF MANOCIDE
Aug 1, 2004

whoa, what just happened here?







College Slice

Notorious b.s.d. posted:

begging for emptyquotes is just sad

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

ShadowHawk posted:

It's not "optimizing for edge cases" so much as not actively trying to further break things for users who do manual configuration. We already hide that manual configuration from idiots.

People who want their games and Windows apps to work without configuring anything = "idiots".

People who really care about the footprint of their OS that they uninstall random idiotic libraries and hope nothing breaks = "users who do manual configuration".

Keep in mind, I'm not saying Mint did anything right here. Their intentional incompatibility sounds just as broken. But I'm laughing at both of you here. You're both idiots complaining that trying to abuse your unfathomably complex package management system into configuring it into exactly what you want turns out to result in really complex, hard-to-debug issues and just disappointing results for users who just want things to work.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
The fact that you show no respect for users who simply want an OS to work out of the box and instead call them "idiots" tells me that you aren't trying one bit to make Linux a viable OS for these users. And that's disappointing, given Ubuntu's target market and goals.

Notorious b.s.d.
Jan 25, 2003

by Reene

Suspicious Dish posted:

The fact that you show no respect for users who simply want an OS to work out of the box and instead call them "idiots" tells me that you aren't trying one bit to make Linux a viable OS for these users. And that's disappointing, given Ubuntu's target market and goals.

i can't believe i'm defending shadowhawk, manchild volunteer for ubuntu, the world's worst linux. but here i am

ubuntu ootb has the correct behavior: you install wine, it pulls in all the "weak" dependencies so that you get a ton of technically-optional stuff.

mint changed the dependencies to turn "weak" deps into completely optional ones. so installing wine is default-broken on mint.

seeing as shadowhawk is not a volunteer for the mint project i don't know what you expect him to do about that

Sapozhnik
Jan 2, 2005

Nap Ghost
yeah this apt behaviour seems reasonable actually

so why hasn't anybody made a solid effort to get native direct3d support into gallium3d anyway

fund the right 20 people to do the work and you could get oss graphics drivers into an actually useful state. i think noveau is finally getting to the point where they're like 50% of the proprietary driver performance instead of 2% of the proprietary driver performance because they finally figured out how to reprogram the clock generators from their power-on reset state in the modern nvidia gpus without setting them on fire. also maybe they wrote a replacement for nvidia's binary on-gpu operating system written in some secret vliw monstrosity architecture

poo poo amd and intel are doing this already and apparently the radeon gallium3d drivers are just about there now. nvidia ofc doesn't co-operate because "patents" (translation: the company with the bad silicon and the good drivers is, shockingly enough, not quite so keen on working on a universal open-source 3d driver stack as the companies with the good silicon and the bad drivers are) but even they have started sending patches to the noveau developers for some of their mobile parts.

if you get all that poo poo to work then you could actually do a full-court press for ~*gamerz*~ on linux via steam. valve has the money to fund those 20 people to do that work. games only use a tiny amount of boilerplate win32 api that hasn't changed at all in the last 10 years.

Sapozhnik
Jan 2, 2005

Nap Ghost
i'd check to see what open sores 3d driver performance looks like these days but that would mean visiting phoronix and oh christ is michael larabel ever a cretinous insufferable fuckstick

pseudorandom name
May 6, 2007

there's already a native gallium d3d9 driver and most of a d3d10 driver, wine explicitly rejected it and it's gone nowhere since

Intel not using gallium probably didn't help, and neither does everybody using nvidia's driver instead of Mesa

the irritating thing is that the gallium driver outperforms the GL emulation because you can just set the bit that says "behave like d3d9" (or d3d10) instead of jumping through hoops to accomplish the same thing with the "behave like OpenGL" bit set

Sapozhnik
Jan 2, 2005

Nap Ghost
yeah idk what's up with intel steadfastly refusing to use gallium but aiui the answer is "politics"

there's also all this gem and ttm and dma-bufs and rendernodes stuff going on in the kernel that i only vaguely understand

then of course there's wayland which i think got conceived in like 2010 or something and has been promptly working its way up the stack one layer at a time. first the patches to mesa and libdrm to make it work, then gbm came along, then it took a few years for toolkits to get ported to it, then apps had to have their hardcoded x11 dependencies fixed, somewhere along the line they split a lib called xkbcommon out of xorg to handle keyboard poo poo, then even more boilerplate got ripped out of the example wayland desktop server and turned into libinput because hey multitouch touchpads with their gestures and their soft buttons are a loving nightmare to work with and now the desktop shells themselves are finally being ported to run native wayland

out of this whole mess a beautiful architecture is beginning to arise but gently caress if it isn't taking its sweet time getting here

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Notorious b.s.d. posted:

mint changed the dependencies to turn "weak" deps into completely optional ones. so installing wine is default-broken on mint.

Sure. But there's conceptually no difference between a weak dep and an optional one. Why do you have any right to complain when your own optional deps aren't being installed? Either make them a dep or don't.

Shaggar
Apr 26, 2006
there should be 2 package modes:
Extremely Autistic - only installs the bare minimum to make the thing do core functions.
Autistic - installed by default. installs everything to make it work like a normal Linux user wants it to.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Mr Dog posted:

poo poo amd and intel are doing this already and apparently the radeon gallium3d drivers are just about there now. nvidia ofc doesn't co-operate because "patents" (translation: the company with the bad silicon and the good drivers is, shockingly enough, not quite so keen on working on a universal open-source 3d driver stack as the companies with the good silicon and the bad drivers are) but even they have started sending patches to the noveau developers for some of their mobile parts.

For reference, all the OSS stuff you see coming out of NVIDIA is from the Compute team. They love nouveau, because it's extremely simple to get up and running and debug. NVIDIA's proprietary driver has traditionally been optimized for gaming, not for compute, so the code is messy and has a lot of hacks and workarounds for plenty of programs, and I've been told it's a four or five hour process to just build the drat thing.

"Why doesn't Intel just use Gallium" is a really dumb question. The way the vmware guys present Gallium is "it's a nice, clean series of frontends and backends, with TGSI in the middle. Just write your TGSI-to-hw code and you're good!"

It's a nice premise, but the problem is that TGSI is poo poo. It's a really, really bad IR because it's designed as a network serialization protocol, not as an IR. It's a stream of bytecode which every backend has to reverse engineer back into a flow graph to do register allocation and command scheduling properly.

This isn't counting the parts of Gallium that are more framework-y like memory allocation and vram management. Intel doesn't care about any of that garbage, because all the GPUs they ship are on UMA systems. Running Gallium with the null backend is also a good 80% slower than Intel's GL driver. That's improving nowadays, but we're actually throwing more and more of Gallium out.

Valve actually did fund Linux graphics driver development. You might have heard of GlassyMesa from the LunarG guys. That just replaces Gallium with LLVM, and it's already being considered for inclusion in mesa itself.

Last Chance
Dec 31, 2004

Mint does Suck though

Sapozhnik
Jan 2, 2005

Nap Ghost
So what's Gallium being replaced with? OpenGL comes in several mostly-but-not-quite copy-pasted flavours and Direct3D is deliberately engineered with the objective of being as difficult to reconcile with OpenGL as possible because Microsoft gonna Microsoft. Some sort of middle layer is required in order to re-use all the boilerplate crap between drivers, surely.

e: and uuh nVidia's compute team being interested in Noveau is very surprising to me, surely they'd want to lean on their CUDA vendor lock-in as much as possible. nV's contributions to noveau are exclusively around Tegra, which makes sense because those mobile GPUs aren't doing so well in Android handsets, so they might as well try pushing them for non-Android embedded Linux where open source drivers are going to get them into more applications than a whole slew of different binary blobs.

Sapozhnik fucked around with this message at 19:40 on Jul 17, 2014

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Well, Direct3D is deliberately unlike OpenGL, but not because of vendor lock-in, but because OpenGL is a terrible API that nobody should try to emulate.

Gallium, the architecture, is probably going to stick around. I'd bet that some of the components TGSI is going to go away in the near term, at least for radeon/nouveau/freedreno, while other parts of the architecture stick around. It's not like there's going to be one giant replacement where Gallium is phased out and some new replacement is phased in. Pieces and parts are going to be merged, code is going to be cleaned up, and TGSI is going to be relegated a network IR for vmware and virgl.

At the same time, low-overhead APIs like Metal and Mantle are gaining popularity with the developer market. A large amount of gallium, the OpenGL state tracker, can simply go away. In fact, Metal and Mantle are really the API you want to expose to game developers, since it mirrors a modern GPU architecture very well. It wouldn't be too much work to expose a new API like one of those two, but based on Gallium.

Metal and Mantle both replace GLSL with their own weird custom shading language. I think that's going a bit far. I think combining GLSL with a lower overhead wrapper could do very well. I hope GL5 looks more like this.

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER

Suspicious Dish posted:

Sure. But there's conceptually no difference between a weak dep and an optional one. Why do you have any right to complain when your own optional deps aren't being installed? Either make them a dep or don't.
Should gnome-desktop be forcefully uninstalled when a user removes the weather app?

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER

Shaggar posted:

there should be 2 package modes:
Extremely Autistic - only installs the bare minimum to make the thing do core functions.
Autistic - installed by default. installs everything to make it work like a normal Linux user wants it to.
The latter is Ubuntu and Debian
The former is typing apt-get --no-install-recommends into the console. And now Mint.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

ShadowHawk posted:

Should gnome-desktop be forcefully uninstalled when a user removes the weather app?

gnome-desktop does not depend on the weather app, so no.

ShadowHawk
Jun 25, 2000

CERTIFIED PRE OWNED TESLA OWNER

Suspicious Dish posted:

gnome-desktop does not depend on the weather app, so no.
And if you were a developer that wanted it installed by default when a user installs gnome-desktop, what would you do?

(Or the default theme, or the clock, or...)

Captain Pike
Jul 29, 2003

ShadowHawk posted:

Should gnome-desktop be forcefully uninstalled when a user removes the weather app?

package systems are funny to me :)

Adbot
ADBOT LOVES YOU

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
The only reason that you'd want the weather app to be installed when you install the gnome-desktop package is because packaging is the only way you have of installing and distributing software.

So the user model is that installing the gnome-desktop package installs "the GNOME desktop", and since the GNOME desktop includes a weather application, the user expectation of installing the GNOME desktop is that it also installs the weather app. And to do that, you clearly have to have some metadata that says that the GNOME desktop has a weather app, and it should be installed by default.

(I thought you were talking about libgnome-desktop, which is why I replied it wasn't a dependency. I don't usually think about weird metapackages like "gnome-desktop" because it's a broken model)

Why is the configuration of the installed system components, at a coarse level, done through a file distribution and versioning system? Why isn't the part that says "I want the GNOME desktop" a separate set of configuration that tell it the list of system components needed for the desktop and the list of default applications?

"Everything is a package" leads to weird mistakes like these for configuration and metapackages and other stuff that doesn't nicely fits into the package model.

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