Live data from Hacker News

Linux 7.1 Removes Drivers for Bus Mouse Support

phoronix.com

31–40 of 69 posts

Re: Linux 7.1 Removes Drivers for Bus Mouse Support

#31

This makes me sad. Now, most will say "but why, 1995 is ancient history, no such hardware exists anymore". The thing is ... should Linux get rid of what is old? I understand you have a smaller kernel when you have less code, less cost to maintain, I get it. Still, I wonder whether this should be the only allowed opinion. Would it not be better to, kind of, transition into a situation where any hardware built in the f…

That date feels a little bit late. The PS/2 devices that superseded the bus mouse started appearing around 1987. There were certainly still bus mice around in 1995, but they were thoroughly obsolete.

Re: Linux 7.1 Removes Drivers for Bus Mouse Support

#32
post #7

Microkernels have lost the open kernel wars because of their speed problems, but this is a great example of a driver that should have been running in userspace a long time ago, just like how Windows has been moving in that direction. Isn't Linux planning to do the same?

> this is a great example of a driver that should have been running in userspace a long time ago, just like how Windows has been moving in that direction.

Hasn't windows (nt lineage) moved solidly in the opposite direction? Used to be you could reload/restart the video card ("GPU") driver if the driver crashed?

Re: Linux 7.1 Removes Drivers for Bus Mouse Support

#33

This makes me sad. Now, most will say "but why, 1995 is ancient history, no such hardware exists anymore". The thing is ... should Linux get rid of what is old? I understand you have a smaller kernel when you have less code, less cost to maintain, I get it. Still, I wonder whether this should be the only allowed opinion. Would it not be better to, kind of, transition into a situation where any hardware built in the f…

> Would it not be better to, kind of, transition into a situation where any hardware built in the future, would be supported?

easier said then done -- the kernel's internal interfaces aren't static, they change often. The project has never committed to stabilizing it's driver api, so every driver takes non-zero work to maintain.

I would assume computers that are still running these old ISA mouses (mice?) probably are also running an older version of linux; and if they're running a new kernel then it'll be somebodys job to port the drivers forward. There's some likelihood this will end up maintained by someone out-of-tree, which is a nice way of saying "we've sent your dog to a farm upstate..."

Re: Linux 7.1 Removes Drivers for Bus Mouse Support

#35
post #32
post #7

Microkernels have lost the open kernel wars because of their speed problems, but this is a great example of a driver that should have been running in userspace a long time ago, just like how Windows has been moving in that direction. Isn't Linux planning to do the same?

> this is a great example of a driver that should have been running in userspace a long time ago, just like how Windows has been moving in that direction. Hasn't windows (nt lineage) moved solidly in the opposite direction? Used to be you could reload/restart the video card ("GPU") driver if the driver crashed?

No it's the opposite. WDDM and DirectX are constantly being updated and have been improving crash recovery of the GPU, updating its driver, power management, abstracting features like video encoding and storage DMA, among many things. In Linux it is taking ages, the first proposal for DRM to support 2010 era WDDM features was in 2021 and it still does not exist. Graphics is one of the few places some of Microsoft still innovates. Although not in the sense of having great code, they just put in the work to coordinate these changes from the handful of vendors. If only someone hosted more steak dinners for Linux.

Re: Linux 7.1 Removes Drivers for Bus Mouse Support

#36
post #13

Earlier quoted context omitted.

ISA slots are all identical. If you have one slot, you can multiply it to 100 slots just by connecting the wires.

I'm pretty sure the host will run out of IRQs long before 100. Don't most systems only have 16?

You don't really need IRQs for most ISA boards. OPL3/Adlib sound cards don't need one, MIDI doesn't, joystick port doesn't. I saw various I/O boards that don't need IRQ. Soundblaster does, but I don't know for what purpose. Maybe someone here can explain?

Re: Linux 7.1 Removes Drivers for Bus Mouse Support

#38
post #13

Earlier quoted context omitted.

ISA slots are all identical. If you have one slot, you can multiply it to 100 slots just by connecting the wires.

How were different devices addressed? I assume it’s a master and slave system, but even then were address collisions automatically resolved?

To avoid collisions, you moved physical jumpers on cards that might conflict, to select among a small range of addresses, I/O ports and/or IRQ numbers.

For example if you had two identical network cards, or SCSI disk controllers, you would need to physically reconfigure one of them away from its defaults.

There were only a small number of configurations available on each type of device, and some weren't configurable at all, so you could still get irreconcilable conflicts.

The Linux kernel of the time was full of hard-coded "probe" addresses and I/O ports, probe sequences to see if there was a device there, and IRQ auto-detection routines that triggered an interrupt to find out which IRQ line was asserted. Some of the probes had to be run in a particular order, so that probes for one type of device wouldn't break another type.

Later came ISAPnP, meaning Plug'n'Play for ISA, which allowed the operating system to use a clever protocol to talk simultaneously over ISA with all devices on the bus that support it, identify and select them individually, query what they required and and configure their addresses, I/O ports and IRQs to avoid overlap, or permit overlap where it was ok for IRQs. After the operating system was done configuring them, they operated as if they were configured physically like the older ISA cards. If necessary this could be implemented cheaply by adding an ISAPnP module to an existing ISA card design.

Eventually ISA was superceded by PCI which had better, well-defined enumeration and configuration methods from the start which all devices had to implement. PCI also allowed MMIO and IO base addresses to be set anywhere (32-bit), not just a small number or single option as ISA cards usually had, so there were no more address conflicts. The operating system still had to find the PCI bus registers itself, but after that, probing was simpler and more reliable than with ISA.

USB also arrived around the same time, and also had well-defined enumeration and configuration methods. Many simpler ISA devices were replaced by equivalent USB devices. Although USB was (and is) complex to implement at a low level, the complexity was handled very well by low-cost, generic USB modules on the device side, so it was easy for device manufacturers to use.

Re: Linux 7.1 Removes Drivers for Bus Mouse Support

#39
post #32
post #7

Microkernels have lost the open kernel wars because of their speed problems, but this is a great example of a driver that should have been running in userspace a long time ago, just like how Windows has been moving in that direction. Isn't Linux planning to do the same?

> this is a great example of a driver that should have been running in userspace a long time ago, just like how Windows has been moving in that direction. Hasn't windows (nt lineage) moved solidly in the opposite direction? Used to be you could reload/restart the video card ("GPU") driver if the driver crashed?

I think this conflates two different eras/layers. NT 4 famously moved the window manager/GDI/graphics subsystem into kernel mode, so that’s probably the “opposite direction” history. But modern GPU-driver recovery is WDDM/TDR, and it very much still exists: WDDM splits the display driver into user-mode and kernel-mode components, and TDR resets/recovers a hung GPU/driver instead of requiring a reboot.

https://learn.microsoft.com/en-us/windows-hardware/drivers/d... https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

I also update NVIDIA drivers regularly on Windows 11 without rebooting, though that’s install-time driver reload rather than exactly the same thing as TDR.

Re: Linux 7.1 Removes Drivers for Bus Mouse Support

#40

Earlier quoted context omitted.

How were different devices addressed? I assume it’s a master and slave system, but even then were address collisions automatically resolved?

In original ISA none of this is managed, the owner of the PC is expected to manually configure both hardware and software appropriately. So e.g. [with the PC turned off!] you move a tiny jumper (basically just a piece of conductive metal with a plastic housing) to the "IRQ 8" position and you pick "IRQ 8" in some menu or set it in an environment variable in DOS or whatever. By the time PCI is starting to appear there…

It can't be IRQ 8 on an ISA board. That's the IRQ for the RTC.
Post reply on HN