Posts by Slurp


    Slurp

    As long as it's being run, it should do exactly what it's supposed to do. You can follow the logic until you find where it goes wrong. What does /run/libreelec/xorg-settings.conf say when it's not working?

    It only has XORG_ARGS="-s 0 -noreset -allowMouseOpenFail" which to me would indicate that $1 is never passed to it, indicating that udev is to blame here. I mean the script does work fine it is run by hand.


    It's run by udev whenever an nvidia card is detected (so yes every boot), see /usr/lib/udev/rules.d/96-nvidia.rules.

    It seems that it only fails sometimes, because it now works. udev *does* have a rule for it:

    Code
    $ lspci -nn
    
    
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208 [GeForce GT 730] [10de:1287] (rev a1)
    Code
    $ cat /usr/lib/udev/rules.d/96-nvidia.rules
    ...
    ATTRS{device}=="0x1287", GOTO="configure_nvidia"
    ...

    But I can't say I have much experience with udev at all. Any ideas what could cause it to fail sometimes? specifically with this build? It never happened before.


    The first thing it does is look at /var/run/xorg-configure.done and exit if it exists. Remove that file before running. When looking at a script you start at the top and read line by line. You don't need to be a programmer to figure out what it does.

    I did not pay much attention to that line because of the odd comment on multi-cpu setups, but yes, the "then exit 0" should've caught my eye.

    # HACK. we have xorg-configure@%. so nice race
    # can happen on multi-gpu setups
    if [ -e /var/run/xorg-configure.done ] ; then
    exit 0
    fi

    Without xorg-configure.done, the script does its work (even though the lines logger is supposed to write still are not in the journal, is that normal?)

    However, this begs the question as to why it exists in the first place. If /var is mounted as tmpfs, then that means that the script runs at every boot, somehow does nothing and creates xorg-configure.done and leaves me in this silly situation. In other words: How do I ensure that the script runs correctly?


    Are you looking at the right script? There's nothing in it that will start/stop the X server. It simply generates arguments for the X server under /run/libreelec/xorg-settings.conf. You need to pass it "nvidia" in order for /var/lib to be populated. It's supposed to be run automatically by udev when an nvidia card is detected. I tested it on my NUC and /var/lib got properly populated. I'm guessing it's not being run for some reason.

    Yes I was definitely running the right script. However, I didn't pass an argument. Looking at the script, I wondered where "$1" would come from, but didn't make the connection (you can tell I am not a programmer/scripter.

    Running "sh /usr/lib/xorg/xorg-configure nvidia" did not do anything either though. I am probably missing something really stupid again :dodgy:

    Anyhow, I solved the problem for now by copying the part of the script that creates the symlinks in /var/lib into a separate script, run it, then change /run/libreelec/xorg-settings.conf by hand.

    thx. I will look into this when I have the time for it and report back.

    So I looked at the script and ran it manually. It seems like the script does not actually do anything, though. No symlinks are being created in /var/lib/ and looking at the syslog, none of the lines logger is supposed to write to it are in there. Instead it seems like the script just stops and restarts Xorg. I unfortunately cannot find the file I save the syslog output to :@ so I cannot include it here.

    Any ideas what would prevent the script from working?


    Not sure what went wrong there, as I didn't make any changes to the driver other than adding the 4.11 patch. /var/lib is supposed to be populated by /usr/lib/xorg/xorg-configure, you can look at the script to see what went wrong. From the build directory, it looks like the driver is in place:

    thx. I will look into this when I have the time for it and report back.

    I updated to the 06 May version by placing the respective x86_64 tar in the update share and now the X server won't start anymore.

    Xorg.log is here: aZTj

    So no nvidia kernel module seems to be loaded. And it also doesn't seem to be on the disk. Note that the target of the nvidia.ko symlink shown below doesn't exit.

    Code
    /usr/lib/modules/4.11.0/nvidia # ls -l
    total 2046
    -rw-r--r--    1 root     root       1099752 May  6 01:19 nvidia-modeset.ko
    -rw-r--r--    1 root     root        994840 May  6 01:19 nvidia-uvm.ko
    lrwxrwxrwx    1 root     root            18 May  6 01:15 nvidia.ko -> /var/lib/nvidia.ko

    What should I do? Did I botch up the update? I'll gladly provide more logs if needed.

    Edit: Went back to the 03 May update and it works as expected. /var/lib contains all the necessary nvidia and vdpau kernel modules. Seems that something went wrong when updating the kernel to 4.11 for the latest release?

    I installed the latest build for x86 and am having trouble launching emulationstation. When I select the menu entry for it, nothing happens. There is no log in /tmp, nothing in the kodi log about it either.

    Strangely, /storage/.config/emulationstation/emulationstation.conf and the other files in that directory are empty. Is this normal?

    Am I missing something obvious here? Where can I search for relevant info as to what is happening?