Resistive touchscreen only marginally less unusable after calibration

I am attempting to calibrate a resistive touchscreen, as out of the box it is completely unusable. All taps within approximately the left half of the screen go up to the top left corner, and all taps in approximately the right half do nothing at all. However, it is not going very well. It seems that the commonly recommended method to calibrate them is xinput_calibrator. However, it only accepts the first tap in the top left corner, and ignores all attempts to perform the second tap in the top right corner, which is in the “dead” area. As a result, the calibration cannot be completed. Additionally, attempting to manually mess around with /etc/X11/xorg.conf.d/99-calibration.conf (which is where xinput_calibrator would have told me to put the calibration data to make the change permanent) did absolutely nothing.

The fact that editing this file does absolutely nothing implies that the touchscreen uses libinput rather than xinput, so I need to use xlibinput_calibrator instead. This worked only marginally better. It now considers the second tap to be a misclick and restarts calibration about 90% of the time, but once the second tap is recognized, calibration continues smoothly. However, the result is still not usable. Now it seems like taps across the whole screen are recognized, but all taps in the top half of the screen go to the same spot near the top left corner, and all taps in the bottom half of the screen go the same spot in the bottom right corner.

Is there anything else I can try to get this touchscreen calibrated?

We don’t know what device you are using and mentioning what tool you used for calibration without knowing what drivers, is not making things easier to guess.
Have you consulted the Touchscreen - ArchWiki ?

The touchscreen is some random unbranded thing from ebay, so I don’t know exactly what it is either. The only real clue I have is that lsusb calls it ID 0eef:0001 D-WAV Scientific Co., Ltd Titan6001 Surface Acoustic Wave Touchscreen Controller [eGalax] and xinput list calls it eGalax Inc. USB TouchController.

And I have consulted that page. It is what told me to use xinput-calibrator.

Aha, so you installed the proper driver ? See here AUR (en) - xf86-input-egalax and also see the comments.
More about it on Multitouch displays - ArchWiki and probably the ID can be changed to match yours, but only after you install the driver and in case is not working only with it.

I hadn’t tried that yet. The wiki page said to try the default FOSS drivers first, so I assumed that because those worked other than calibration, they were the correct drivers to use. I tried the eGalax AUR drivers as well. It made no difference when attempting to calibrate with xinput_calibrator, and made it impossible to get past the first tap on xlibinput_calibrator.

I didn’t understand what to do based on the comments. One complained about the contents of /etc/modprobe.d/eGTouchD.conf, and one asked for it to be moved to etc/modules-load.d/. I found a file etc/modules-load.d/eGTouchD.conf that contained hid-multitouch, which the comment said should be options <module> <options>. However, I do not know what to put in options.

Are you sure the Multitouch displays article is applicable here? This is not a multitouch display. It can only handle single touch.