https://bugs.winehq.org/show_bug.cgi?id=56735
Bug ID: 56735 Summary: Rekordbox: Mark drive as external to support library export/sync Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: johannespfau@gmail.com Distribution: ---
Created attachment 76513 --> https://bugs.winehq.org/attachment.cgi?id=76513 Registry keys for patched wine to report drive as external
Hello all,
to support library syncing in rekordbox (rekordbox.com), a drive must be recognized as an external device. Rekordbox uses a combination of GetVolumeInformationW/GetDriveTypeW/QueryDosDeviceW and setupapi to detect if a drive is external.
I've filed individual bug reports for the sub-problems involved:
* Specify filesystem type for folder-backed drives: https://bugs.winehq.org/show_bug.cgi?id=56731 * setupapi: Registry information for drives missing: https://bugs.winehq.org/show_bug.cgi?id=56732 * setupapi: SPDRP_PHYSICAL_DEVICE_OBJECT_NAME not implemented: https://bugs.winehq.org/show_bug.cgi?id=56734 * GetDriveTypeW aways returns DRIVE_FIXED: https://bugs.winehq.org/show_bug.cgi?id=16091
I've attached a reduced test-case program (in D) and compiled which performs all steps that are required by rekordbox. Please note that the program is dumb and assumes that a R drive exists.
Unpatched wine output: ---------------------------------------------------------------------------------------- GetVolumeInformationW: Path: USB_STICK Name: FAT32 Serial: 2923885786 Len: 255 Flag: 2 GetDriveTypeW: 3 QueryDosDeviceW: \Device\HarddiskVolume3 Querying SetupAPI DeviceSet is 6FFEE0. Valid: true std.windows.syserror.WindowsException@test.d(43): No more data available. (error 259) ----------------------------------------------------------------------------------------
Patched wine + usb_final.reg output: ---------------------------------------------------------------------------------------- GetVolumeInformationW: Path: USB_STICK Name: FAT32 Serial: 2923885786 Len: 255 Flag: 2 GetDriveTypeW: 2 QueryDosDeviceW: \Device\Harddisk1 Querying SetupAPI DeviceSet is 8506C0. Valid: true Entry: 0 SetupDiGetDeviceRegistryPropertyW 1 \Device\Harddisk1 std.windows.syserror.WindowsException@test.d(43): No more data available. (error 259) ----------------------------------------------------------------------------------------
Windows output: ---------------------------------------------------------------------------------------- GetVolumeInformationW: Path: USB_STICK Name: FAT32 Serial: 2923885786 Len: 255 Flag: 131590 GetDriveTypeW: 2 QueryDosDeviceW: \Device\HarddiskVolume2 Querying SetupAPI DeviceSet is 456B80. Valid: true Entry: 0 SetupDiGetDeviceRegistryPropertyW 1 \Device\HarddiskVolume2 Entry: 1 SetupDiGetDeviceRegistryPropertyW 1 \Device\HarddiskVolume1 std.windows.syserror.WindowsException@test.d(43): No more data available. (error 259) ----------------------------------------------------------------------------------------
As a workaround / proof-of-concept, my patched branch here has some minor changes that enable this to work: https://github.com/jpf91/proton-wine/commits/Proton8-26/#
In addition to this patched wine, you will also need to load the attached usb_final.reg file. Then create a symlink for the r drive: ---------------------------------------------------------------------------------------- cd $WINEPREFIX/dosdevices ln -s /run/media/jpfau/USB_STICK r: ----------------------------------------------------------------------------------------
This should be enough to get library sync to an external device working in Rekordbox.
Best Johannes