I just tried Haiku on real hardware

So I’m new to json and yaml but from everything I’ve read, I’m guessing the json format would look like this (for mobile workstations tested with R1/Beta2 so far):

{
  "MobileWorkstations": [

  {
"Model" : "HP Pavillion dv5000 (Intel Centrino Duo + Geforce 7400 Gpu)",
"Rating" : "2/4 - Haiku needs extra options to start and/or barely works",
"Version" : "Haiku R1/Beta2 (latest stable release)",
"Architecture" : "32-bit x86 (i686, etc.)",
"Share_on_GitHub" : "Yes",
"Startup_media" : "USB storage media (using Legacy/USB 2), Standard SSD, hybrid SSHD, or hard drive (imaged or installed)",
"Startup_mode" : "(U)EFI, by choice (32-bit)",
"RAM" : "3GB available cause of 32bits (Total 4GB)",
"CPU" : "Intel Centrino Duo (Geniune Intel T2400) 1,83Ghz",
"GPU" : "Nvidia Geforce Go 7400",
"Networking_cards" : "Ethernet Intel Pro 100 + Intel Wireless 3945AGB",
"Sound_cards" : "Conexant HD Audio (chipset)",
"Boot_options" : "Blacklisted entries, Disabled APM, Disabled ACPI",
"Graphics_status" : "Graphics work, by default or out of the box",
"Sound_status" : "Sound works, but by using OpenSound, etc",
"Networking_status" : "Ethernet card(s) work",
"SD_status" : "My computer does not have a SD drive",
"Restart_status" : "Haiku restarts with special options",
"Input_status" : "Trackpad and keyboard both work",
"Power_status" : "Haiku detects the battery and shows charge time correctly",
"Cam_status" : "My computer does not have a webcam, etc.",
"Contribution_date" : "7/17/2020 13:04:28",
"Contributor" : "Kitsune64"
},

{
"Model" : "Origin EON15-X",
"Rating" : "3/4 - Haiku works with most of the components",
"Version" : "Haiku R1/Beta2 (latest stable release)",
"Architecture" : "64-bit x86 (Intel x64/AMD64, etc.)",
"Share_on_GitHub" : "Yes",
"Startup_media" : "NVMe/PCI Express drive or a M.2 drive (imaged or installed)",
"Startup_mode" : "(U)EFI, by choice (64-bit)",
"RAM" : "32 GB",
"CPU" : "AMD Ryzen 9 3950X (16-Core, 32-Thread)",
"GPU" : "NVIDIA GeForce RTX 2070 8GB",
"Networking_cards" : "Intel Wi-Fi 6 AX200",
"Sound_cards" : "Realtek High-Definition Audio",
"Boot_options" : "Used fail-safe graphics driver",
"Graphics_status" : "Graphics work, but in Safe Graphics mode or Vesa",
"Sound_status" : "Sound works, but by using OpenSound, etc",
"Networking_status" : "Both Ethernet and WiFi cards work",
"SD_status" : "SD drive works with Haiku",
"Restart_status" : "Haiku restarts smoothly",
"Input_status" : "Trackpad and keyboard both work",
"Power_status" : "Haiku does NOT detect the battery",
"Cam_status" : "Cameras do not work with Haiku on this computer",
"Contribution_date" : "7/9/2020 14:22:21",
"Contributor" : "RLeonhardt"
}

  ]
}

If I have this right, I’ll begin converting the current (beta2) files from plain text to the new format :slight_smile:

1 Like

I put on the topic yaml, because you could still have a single report readable by both humans and bots

# MobileWorkstations
---
Model: HP Pavillion dv5000 (Intel Centrino Duo + Geforce 7400 Gpu)
Rating: 2/4 - Haiku needs extra options to start and/or barely works
Version: Haiku R1/Beta2 (latest stable release)
Architecture: 32-bit x86 (i686, etc.)
Share_on_GitHub: Yes
Startup_media: USB storage media (using Legacy/USB 2), Standard SSD, hybrid SSHD, or hard drive (imaged or installed)
Startup_mode: (U)EFI, by choice (32-bit)
RAM: 3GB available cause of 32bits (Total 4GB)
CPU: Intel Centrino Duo (Geniune Intel T2400) 1,83Ghz
GPU: Nvidia Geforce Go 7400
Networking_cards: Ethernet Intel Pro 100 + Intel Wireless 3945AGB
Sound_cards: Conexant HD Audio (chipset)
Boot_options: Blacklisted entries, Disabled APM, Disabled ACPI
Graphics_status:"Graphics work, by default or out of the box
Sound_status: Sound works, but by using OpenSound, etc
Networking_status: Ethernet card(s) work
SD_status: My computer does not have a SD drive
Restart_status: Haiku restarts with special options
Input_status: Trackpad and keyboard both work
Power_status: Haiku detects the battery and shows charge time correctly
Cam_status: My computer does not have a webcam, etc.
Contribution_date: 7/17/2020 13:04:28
Contributor: Kitsune64
---
Model: Origin EON15-X
Rating: 3/4 - Haiku works with most of the components
Version: Haiku R1/Beta2 (latest stable release)
Architecture: 64-bit x86 (Intel x64/AMD64, etc.)
Share_on_GitHub: Yes
Startup_media: NVMe/PCI Express drive or a M.2 drive (imaged or installed)
Startup_mode: (U)EFI, by choice (64-bit)
RAM: 32 GB
CPU: AMD Ryzen 9 3950X (16-Core, 32-Thread)
GPU: NVIDIA GeForce RTX 2070 8GB
Networking_cards: Intel Wi-Fi 6 AX200
Sound_cards: Realtek High-Definition Audio
Boot_options: Used fail-safe graphics driver
Graphics_status: Graphics work, but in Safe Graphics mode or Vesa
Sound_status: Sound works, but by using OpenSound, etc
Networking_status: Both Ethernet and WiFi cards work
SD_status: SD drive works with Haiku
Restart_status: Haiku restarts smoothly
Input_status: Trackpad and keyboard both work
Power_status: Haiku does NOT detect the battery
Cam_status: Cameras do not work with Haiku on this computer
Contribution_date: 7/9/2020 14:22:21
Contributor: RLeonhard
---
comment: |
  You may also use
  the pipe symbol to have
  newlines preserved

As you see it is pretty much the same you have been doing so far, just mind the separator between reports “—”

1 Like

Thanks… but I think one of the things that felt weird to me about looking at yaml is how crunched it seemed – json feels more like writing a shell script and makes more sense to me to write out. If I switched over to yaml, would it possible to do something like this?

# HardwareCategory

Contribution 1: hardware testing

---

Contribution 2: hardware testing

Or does it have to stay bunched together for a yaml reader to read it?

# HardwareCategory
Contribution 1: hardware testing
---
Contribution 2: hardware testing

Thanks

of course, it ignores blank lines

Thanks – what’s taken a while is I’ve totally reorganized the repo to get all the changes done right.

First, the ‘archived’ files now are all labelled “r1_beta1” and the new stuff is all labelled “r1_beta2” for the current release cycle (from R2/beta2 to R2/beta3). This future proofs things for R1/beta3, the much longed for Release 1, R2/alpha1, etc (let’s hope the world :earth_americas: lasts until 2025 or whenever development for R2 starts :smiley:)

Since both yaml and json have been suggested I’ve decided rather than replace one with the other, I’ll maintain both versions (with yaml as the default). And also I’ve preserved plain text for those that want it in a plaintext folder (this really isn’t any extra trouble because when I post to the forum topic and the site it’ll be in plain text). And anyways that’s an update for you guys (@jjpx @PulkoMandy and everyone following this post) and also anyone reading it too I guess :slight_smile:

@apgreimann Today I tried Haiku on real hardware again. My keyboard is not really mechanical. It’s a cheap Chinese fake mechanical keyboard I bought from a local computer store. It let me feel I’m using a mechanical keyboard but it’s indeed still an ordinary keyboard. I tried to adjust the repeat and delay rate but it didn’t have any effects. Whenever I typed a letter it automatically duplicated and this time it’s worse as it didn’t stopped after a few iterations but keep duplicated forever. When the keyboard malfunction, the mouse malfunction, too. The final result is I have to use the reset button of my computer, same as the previous time I tried Haiku on real hardware.

Is this an USB or a PS2 keyboard? (I’m asking because it would make more sense for the keyboard to interfere with the mouse if they are both PS2).

I’ve used Haiku on a couple of desktops with both USB and PS2 membrane keyboards and notebooks and never encountered such a thing.

@alexanrsousa Both of my mouse and keyboard are USB.

I guess I’m thinking on what could be causing this… it sounds like there’s a fault in the keyboard that’s causing both devices plugged into the same USB hub to act up. Does this only happen with this one keyboard or with another keyboard plugged into the port?

I’m assuming this does not happen with other OSes, right? If that is the case, even if the keyboard is at fault, I believe you should open a ticket at Haiku’s bugtracker, as if other OSes are able to handle this gracefully without making other devices act up, so should Haiku.

I think, but quite sure, it’s the same problem I have, if so other keyboards works and it’s specific for that keyboard. I tested mine in more than 3 haiku machines x86 and x86_64 with no luck. @alexanrsousa : I’m quite sure that his keyboard, with other OSes, works fine as for me, linux windows and other OSes handle fine mine, I think it’s a Haiku USB subsystem fault, which doesn’t handle well those keyboard firmwares or something else…

I believe the root of the problem is switch bounce. Key repeat settings don’t help because it isn’t registering a stuck key, it is registering a single key pressed multiple times really fast. You push the key just once, but the switch contacts, or electric wave form due to capacitance continues to oscillate, thus it registers a new keypress for each oscillation. Same can happen with mice buttons.

This isn’t an issue when Haiku is virtualized because the host OS takes care of debouncing the IO. All it takes to fix is for the driver to ignore keystrokes for a few milliseconds after the first is received. Most good keyboards implement it inside the keyboard controller before even sending the keypress to the pc. For peripherals, in the interest of cost savings, or faster time time to market, or just too lazy to test and adjust delay constants for new hardware, and to market “faster rates”, debouncing delays are shortened or eliminated.

I have had the same problem intermittently on Windows, Linux and a BeOs machine when certain keyboards or mice are plugged in. I used to be a tech at Best Buy before they were called geek squad so I had a chance to work with a wide range of machines on the same keyboard/mouse. Once in a while you get a bad combo. Just swapping either keyboard or mouse with a different station usually solved it when they were PS2. USB was more rare to have a problem and it followed a peripheral so you had to just throw it out. The peripherals weren’t “bad”. They worked perfectly on most machines, but a few peripherals, when paired with just the wrong PC had exactly the problems you described. I assumed the combined capacitance had something to do with it, but never tested because it was such an easy fix to toss a keyboard and get another when we collected them from every computer return. I think that overlapping interrupts eventually confused the HID controller. All just theory of course.

I do have a Corsair wired USB keyboard and Asus wireless USB mouse that exhibit the problem somewhat regularly, though still intermittent on most machines. If someone is serious about digging into this I can donate them to the cause.

1 Like

Switch bounce is solved at the keyboard level. No OS will take care of such low-level details for ps2 or usb keyboards.

It’s more likely to be a compatibility problem between our USB or HID driver and the keyboard, leading to missing some key press/release events.

My Input preference looks weird, not like that on your image:
WeirdInput

And can’t be resized to see the devices… weirdowindow

Regards,
RR

What are your font settings? (font name and size)

Good day @PulkoMandy,

Damn! Issue due to font settings:
InputChangeFont

The font I regularly use is Monoid, 12pt. Changing the font to default Noto Sans, then I can see my “four” USB keyboards and “two” USB mouses. Thank god I have six arms, so I can use all six :rofl: :rofl: :rofl: :rofl: :rofl:

Changing Monoid font size to 8 pt, the text list fits everything, though way too small. 9 pt is the biggest font size that allows the text to fit. Anything bigger makes the list view narrower and narrower…

Now, seriously, shouldn’t widget be font independent? I mean, theoretically, widget should scale to fit text as long as there is free space inside the window, as it’s the case? Remember I still don’t know a thing about the Haiku layout API (hopefully soon will), so I’m sure mistaken on what I said.

Regards,
RR

PS.: Shouldn’t this be split from the topic?

3 Likes

It should, but that doesn’t work yet for this particular window and widget :slight_smile:
The layout API cannot guess what a particular widget will draw, so it just asks the widget “what is your preferred size? what is your minimal size? what is your maximal size?” and then tries to create a layout that makes all widgets happy (it’s not always possible). In this case, it looks like the list view on the left does not know what a good minimal size would be, and gives a too small one.

1 Like

Should have been a bugreport, but anyway, problem fixed in hrev54534, now it should set itself to a more appropriate size.

1 Like

Good day @PulkoMandy,

Fixed as you said:
InputFix

Thanks a lot!!
I should do more bug reporting, though sometimes I just try to reproduce things in order to file a proper report and, to be honest, sometimes I’m a bit lazy. I should be finishing the game instead of doing things on Haiku :grin: , but then again, I enjoy Haiku :wink:

I need to check a bit more on the multiple keyboard/mouse thing before reporting, and verifying that there is no filed bug already.

Regards,
RR

4 Likes

I’d like to see a split view here so that you can make the input list wider and narrower… but I can live without one.