Closed MartinBriza closed 8 years ago
Apologizes for the lack of feedback here. I have been testing it out on Fedora, which has been working fine, but I've been struggling for the past month to get a Windows 8 VM setup for it.
I'm currently working on Windows builds - initial work can be seen on http://ma.rtinbriza.cz/w/liveusb-creator.zip . It's possible to run the thing using WINE if you're still struggling with VM setup. Warning: It just shows the GUI - the user is not actually able to access the USB drives due to a bunch of errors I've introduced with my changes to the backend. These are easy to fix though and will be fixed once I've figured out the whole build process - the archive linked above had to be partially done by hand, not just scripts. So far, I'm trying to be able to create a spec file to compile the executable using PyInstaller in WINE to get rid of the dependency on Windows machines for building. There is a few things I've not yet sorted out, like importing QtQuick libraries and library stripping but I'm getting there.
Being able to build a Windows package without Windows would be great :) I basically gave up on Win8, and was about ready to start playing with AppVeyor, but it sounds like you're working on a much better solution.
Yeah, I already got it working - answering from mobile though so I don't have the link to an archive. But getting the build requirements is quite a pain, I'll have to automate it for you.
After install python-pyquery and python-qt5 on F21, I ran make and:
QQmlApplicationEngine failed to load component
qrc:/liveusb.qml:4 module "QtQuick.Dialogs" is not installed
qrc:/liveusb.qml:2 module "QtQuick.Controls" is not installed
qrc:/liveusb.qml:4 module "QtQuick.Dialogs" is not installed
qrc:/liveusb.qml:2 module "QtQuick.Controls" is not installed
Traceback (most recent call last):
File "./liveusb-creator", line 103, in <module>
main()
File "./liveusb-creator", line 94, in main
LiveUSBApp(opts, sys.argv)
File "/home/pierrey/repos/gitrepo/liveusb-creator/liveusb/gui.py", line 989, in __init__
engine.rootObjects()[0].show()
IndexError: list index out of range
Since the spec file has been removed, I do not know which dependency I am missing. Could you consider re-including it? (This way I could also test the new UI via the RPM directly)
@pypingou Hi, yes, this is caused by the fact you don't have QtQuick Controls installed. In Fedora, these are contained in the qt5-qtquickcontrols
package.
Also, I maintain a Copr repository with occasionally updated packages on https://copr.fedoraproject.org/coprs/mbriza/unstable/ . There's quite an old version so I recommend rather sticking to this repository if you want to test the fresh stuff.
Keeping the spec files in the sources would help people that want to test HEAD rather than the occasionally updated
copr :)
Unless this occasionally is in fact fairly often :) (Know about dgroc? pypingou/dgroc)
Hmm, for some reason I thought the specfile included previously was for PyExe. I'll have to readd it too. I do know now! Good idea, I'll go set up the builds right now, thank you
Right when I open the app, it messes with the drive label without me interacting with the interface at all.
[creator:773] Verifying filesystem...
[creator:783] Setting /dev/sdb2 label to LIVE
I'm getting the error message 'T' in the gui. And after that error message, it sat there chewing up 100% CPU
Traceback (most recent call last):
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/gui.py", line 244, in run
self.copyImage(now)
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/gui.py", line 266, in copyImage
self.live.check_free_space()
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/creator.py", line 263, in check_free_space
str(freebytes/1024**2) + "MB")))
LiveUSBError: (u'T', u'h', u'e', u'r', u'e', u' ', u'i', u's', u' ', u'n', u'o', u't', u' ', u'e', u'n', u'o', u'u', u'g', u'h', u' ', u'f', u'r', u'e', u'e', u' ', u's', u'p', u'a', u'c', u'e', u' ', u'o', u'n', u' ', u't', u'h', u'e', u' ', u's', u'e', u'l', u'e', u'c', u't', u'e', u'd', u' ', u'd', u'e', u'v', u'i', u'c', u'e', u'.', u' ', u'R', u'e', u'q', u'u', u'i', u'r', u'e', u'd', u':', u' ', u'1', u'3', u'6', u'5', u'M', u'B', u'.', u' ', u'F', u'r', u'e', u'e', u':', u' ', u'0', u'M', u'B', u'.')
Thanks, these problems should be fixed now
The binary Fedora packages are residing in this repo: https://copr.fedoraproject.org/coprs/mbriza/liveusb-creator/
I still get an error after installing it :
file:///usr/lib64/qt5/qml/QtQuick/Controls/ComboBox.qml:513:5: QML Menu: Binding loop detected for property "" TypeError: unable to convert a Python 'list' object to a C++ 'QString' instance
Thanks for reporting but this should not affect the running process in any way. If the app is unusable, please describe more symptoms of the problem.
Here is the full log :
file:///usr/lib64/qt5/qml/QtQuick/Controls/ComboBox.qml:513:5: QML Menu: Binding loop detected for property "" TypeError: unable to convert a Python 'list' object to a C++ 'QString' instance QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram::uniformLocation( pixelSize ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram::uniformLocation( pixelSize ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( qt_Matrix ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( textureScale ): shader program is not linked QOpenGLShaderProgram::uniformLocation( color ): shader program is not linked QOpenGLShaderProgram::uniformLocation( alphaMin ): shader program is not linked QOpenGLShaderProgram::uniformLocation( alphaMax ): shader program is not linked QOpenGLShaderProgram::uniformLocation( fontScale ): shader program is not linked QOpenGLShaderProgram::uniformLocation( vecDelta ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( textureScale ): shader program is not linked QOpenGLShaderProgram::uniformLocation( color ): shader program is not linked QOpenGLShaderProgram::uniformLocation( alphaMin ): shader program is not linked QOpenGLShaderProgram::uniformLocation( alphaMax ): shader program is not linked QOpenGLShaderProgram::uniformLocation( fontScale ): shader program is not linked QOpenGLShaderProgram::uniformLocation( vecDelta ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( qt_Matrix ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( textureScale ): shader program is not linked QOpenGLShaderProgram::uniformLocation( color ): shader program is not linked QOpenGLShaderProgram::uniformLocation( alphaMin ): shader program is not linked QOpenGLShaderProgram::uniformLocation( alphaMax ): shader program is not linked QOpenGLShaderProgram::uniformLocation( fontScale ): shader program is not linked QOpenGLShaderProgram::uniformLocation( vecDelta ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram::uniformLocation( pixelSize ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( textureScale ): shader program is not linked QOpenGLShaderProgram::uniformLocation( color ): shader program is not linked QOpenGLShaderProgram::uniformLocation( alphaMin ): shader program is not linked QOpenGLShaderProgram::uniformLocation( alphaMax ): shader program is not linked QOpenGLShaderProgram::uniformLocation( fontScale ): shader program is not linked QOpenGLShaderProgram::uniformLocation( vecDelta ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QOpenGLShader: could not create shader shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram: could not create shader program QOpenGLShader: could not create shader QSGMaterialShader: Shader compilation failed: "" QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked QOpenGLShaderProgram::uniformLocation( pixelSize ): shader program is not linked
Huh, what machine are you running on? Do you have an OpenGL-capable graphics card/driver?
Fedora 22 GTX 770 with latest stable (closed-source) driver
Well now that's odd. Can you run any other Qt5 (ideally QML) application? Obviously I should recommend using the opensource driver but being completely unable to run a QML application with the closed one is really weird.
Do you know any QML app I might try?
hmm, for starters, I'd try running https://github.com/MartinBriza/2048.qml/blob/master/2048.qml
with qmlscene-qt5:
qmlscene-qt5 2048.qml
It seem to work.
Then it seems to be caused by some effect or something more specialized... Anyway, that's not a problem I can address in liveusb-creator but either Qt or a driver issue (but more likely, it's caused by the closed driver).
Probably missing dependency in spec: (Fedora 22, installed from copr)
sudo liveusb-creator
Traceback (most recent call last):
File "/sbin/liveusb-creator", line 103, in
I am triggering a bunch of issues when running it against a previously dd'd USB. After the Unknown Filesystem
error, I opened up gnome-disks and formatted it, which triggered the last two exceptions.
[creator:606] Found block device with filesystem on /org/freedesktop/UDisks2/block_devices/sda1
[creator:626] Skipping a device that is not removable, connected via USB or is optical: /org/freedesktop/UDisks2/block_devices/sda1
file:///usr/lib64/qt5/qml/QtQuick/Controls/ComboBox.qml:513:5: QML Menu: Binding loop detected for property ""
[creator:606] Found block device with filesystem on /org/freedesktop/UDisks2/block_devices/sdd2
[creator:639] data = {'size': 5189632, 'fsversion': 'FAT12', 'fstype': 'vfat', 'device': u'/dev/sdd2', 'mount': [], 'udi': '/org/freedesktop/UDisks2/drives/Generic_Flash_Disk_9FCDEA7E', 'uuid': 'C313-8FD9', 'label': 'LIVE'}
[creator:674] {'device': u'/dev/sdd2',
'free': None,
'fstype': 'vfat',
'fsversion': 'FAT12',
'label': 'LIVE',
'mount': None,
'parent': u'/dev/sdd',
'size': 5189632,
'udi': '/org/freedesktop/UDisks2/drives/Generic_Flash_Disk_9FCDEA7E',
'uuid': 'C313-8FD9'}
[creator:606] Found block device with filesystem on /org/freedesktop/UDisks2/block_devices/sdd1
[creator:639] data = {'size': 1824522240, 'fsversion': 'Joliet Extension', 'fstype': 'iso9660', 'device': u'/dev/sdd1', 'mount': [], 'udi': '/org/freedesktop/UDisks2/drives/Generic_Flash_Disk_9FCDEA7E', 'uuid': '2015-05-21-19-19-24-00', 'label': 'Fedora-Live-Jam-x86_64-22-3'}
[creator:654] Skipping /dev/sdd1 with unknown filesystem: iso9660
[creator:606] Found block device with filesystem on /org/freedesktop/UDisks2/block_devices/sdd3
[creator:639] data = {'size': 20774912, 'fsversion': 'Joliet Extension', 'fstype': 'hfsplus', 'device': u'/dev/sdd3', 'mount': [], 'udi': '/org/freedesktop/UDisks2/drives/Generic_Flash_Disk_9FCDEA7E', 'uuid': 'd514f7e1-fc93-324d-b2ec-9b4f186f8c94', 'label': 'Fedora Live'}
[creator:654] Skipping /dev/sdd3 with unknown filesystem: hfsplus
Traceback (most recent call last):
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/gui.py", line 595, in path
self.size = self.live.isosize
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/gui.py", line 543, in size
if value != self._size:
AttributeError: 'Release' object has no attribute '_size'
[creator:773] Verifying filesystem...
[gui:251] Unknown filesystem. Your device may need to be reformatted.
Traceback (most recent call last):
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/gui.py", line 239, in run
self.live.verify_filesystem()
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/creator.py", line 776, in verify_filesystem
raise LiveUSBError(_("Unknown filesystem. Your device "
LiveUSBError: Unknown filesystem. Your device may need to be reformatted.
[creator:410] /org/freedesktop/UDisks2/block_devices/sdd2 selected: {'size': 5189632, 'parent': u'/dev/sdd', 'fsversion': 'FAT12', 'fstype': 'vfat', 'device': u'/dev/sdd2', 'mount': None, 'udi': '/org/freedesktop/UDisks2/drives/Generic_Flash_Disk_9FCDEA7E', 'uuid': 'C313-8FD9', 'free': None, 'label': 'LIVE'}
[creator:1015] Checking the MBR of /dev/sdd
[creator:1019] mbr = '0000'
[creator:741] Mounting /dev/sdd2
[creator:748] Unknown dbus exception while trying to mount device: org.freedesktop.UDisks2.Error.Failed: Error mounting /dev/sdd2 at /run/media/root/LIVE: Command-line `mount -t "vfat" -o "uhelper=udisks2,nodev,nosuid,uid=0,gid=0,shortname=mixed,utf8=1,showexec,flush" "/dev/sdd2" "/run/media/root/LIVE"' exited with non-zero exit status 32: mount: special device /dev/sdd2 does not exist
Traceback (most recent call last):
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/gui.py", line 504, in inspectDestination
self.live.mount_device()
File "/home/lmacken/code/github.com/liveusb-creator/liveusb/creator.py", line 752, in mount_device
if not os.path.exists(mnt):
File "/usr/lib64/python2.7/genericpath.py", line 26, in exists
os.stat(path)
TypeError: coercing to Unicode: need string or buffer, NoneType found
Thank you, this should be fixed now, too.
I'm frequently hitting a weird UI glitch whenever I check the "Use dd to write the image" checkbox. Here is what it looks like immediately after I toggle the checkbox. I's actually enabled here, but doesn't reflect it, and the bottom of the window grows a weird black line.
Hmm, could be a driver issue. If you have a recent (I think Haswell) Intel graphics card and a new kernel, you could hit issues with Qt apps. This doesn't happen on my Sandy Bridge box where I tested in Gnome Shell.
I'm hitting some weird behavior when using the Open
button in the file chooser dialog for custom images. https://lmacken.fedorapeople.org/tmp/liveusb-creator-bug-1.webm
Double-clicking the file seems to work, but Open does not.
A few more issues that I'm continually hitting.. I'm basically unable to use this tool for testing F23.
Hi, thanks! As for the video, I don't experience that on any of my machines. There is however a problem with GNOME breaking its ABI compatibility - Qt usually uses directly the system-provided file dialogs, so normally you should get the regular GNOME one. Anyway, I tried it in GNOME too and am getting this one - but there are no glitches, it works as expected (except the fact it looks ugly). I'm not sure how to address this... I'll fix the other two issues this afternoon, they're valid.
Yeah, I am hitting the file chooser issue on both of my machines. I guess it's a Qt issue that we'll have to push upstream if it persists.
If you're comfortable with the current state of this branch, feel free to merge it into develop and we can start filing individual issues as needed.
Ok, I'll merge - it will be more convenient to have separate issues
Opening this pull request to track the outstanding issues and tasks in the new UI of the Fedora LiveUSB Creator. So far, I'm aware the following stuff needs to be completed:
Please, everybody comment with what should be improved and I'll (or Luke can) update this post while I'm working on the remaining stuff.
To see it live in action without actually installing it: state of Apr 17 is captured here
Cheers