|
Page 5 of 7 |
|
Prev |
3 4 5
6 7
|
Next
Re: Full linux distros on Sailfish OS
Quote:
|
Re: Full linux distros on Sailfish OS
Quote:
1. attach cintainer, (you will get a terminal window with 'root@(container) 2. open a separate terminal window on Sailfish, and type Code:
/usr/bin/qxdisplay --wayland-socket-name "../../display/wayland-container-0"3. in your first terminal, (attached container), enter Code:
/mnt/guest/start_desktop.sh 0As for why it happens, can't say for sure - maybe try chmod fix in post above... |
Re: Full linux distros on Sailfish OS
Quote:
If someone wouldn't mind checking my process over, I'd be very grateful. This is what I did from the very beginning: In a terminal I ran: Code:
zypper in nemo-qml-plugin-dbus-qt5 sailfish-polkit-agent python3-base python3-gobject dbus-python3I swapped the daemon.py file out and made it executable. I installed Debian Sid and Kali desktops (with 'Setup desktop' selected). They wouldn't open so I cried for a bit. I then attached a container, and ran in a second terminal: Code:
/usr/bin/qxdisplay --wayland-socket-name "../../display/wayland-container-0"I then tried to run: Code:
/mnt/guest/start_desktop.sh 0I checked /var/lib/lxc/<container_name>/config and it seemed fine (maybe what I think was fine wasn't) I then (in an attached container) ran: Code:
/mnt/guest/setup_desktop.shCode:
/mnt/guest/setups/debian.shI then again ran (in another terminal window): Code:
/usr/bin/qxdisplay --wayland-socket-name "../../display/wayland-container-0"Code:
/mnt/guest/start_desktop.sh 0This is what stops me getting any further it seems: Code:
could not connect to wayland server |
Re: Full linux distros on Sailfish OS
Quote:
Code:
/bin/sh /mnt/guest/start_desktop.sh 0 root & |
Re: Full linux distros on Sailfish OS
Quote:
Also check if you have /opt/bin/xwayland. It's created during desktop setup, so if that's not there, its not going to work... |
Re: Full linux distros on Sailfish OS
Thank you both. Unfortunately I was dumb and assumed my kernel was fine - it wasn't. Sorry for wasting your time.
I have no idea how to recompile a kernal, so I think this is the end for me. Thanks for the help. Code:
[root@Xperia10 defaultuser]# ls -lha /dev/pts/ |
Re: Full linux distros on Sailfish OS
Alo i have gemini x27 if i run sailfish can this method run well on my gemini thx a lot
|
Re: Full linux distros on Sailfish OS
If all of you have Github accounts, I think it would be easier to troubleshoot, track and discuss on Github. It would also make the solution (if we ever find one) much more discoverable for new users. We can then post here an URL to the fix when we have one.
What device are you using Spookyfid? I may have missed something but I don't see missing requirements in your lxc-checkconfig. [Edit] Oh, except maybe CONFIG_DEVPTS_MULTIPLE_INSTANCES. |
Re: Full linux distros on Sailfish OS
@spoofykid: eventually your kernel does have these config options not compiled in but they exist as modules? In that case you could load them. For all the netfilter modules: I doubt, you would really need them
You find the available modules in /lib/modules/4.<version_of_kernel> Strange, that these kernel configs differ so much. I'm on pro1 firmware 4.0 and namespace "User" is missing! All others are compiled in. |
Re: Full linux distros on Sailfish OS
@Kabouik I'm running an Xperia 10 (Single Sim). I'm missing multiple instances and cpusets when doing the check. However, as @ibins has rightly pointed out, my kernel (4.9.230) doesn't have it compiled in and it shouldn't need it (from what I understand). Looking here lxc-checkconfig only checks for multiple instances on a kernel higher than 4.6:
Code:
if ([ $KVER_MAJOR -lt 4 ]) || ([ $KVER_MAJOR -eq 4 ] && [ $KVER_MINOR -lt 7 ]); then |
Re: Full linux distros on Sailfish OS
Yeah as I initially posted, I don't think the things you're missing are mandatory. It's worth digging further at least!
Another thing to test: @mibry on Discord observed that there has been commits to harbour-containers after the latest .rpm release, including one that has to do with the container installation. From what I see in the commit history, this should only influence XFCE setup and not the issues you're facing, but it doesn't hurt to fix that before we forget. Can you guys try to install the latest harbour-containers release (as we did before), then replace daemon.py with the one on my fork (same as before too), and then also replace the content of /usr/share/harbour-containers/scripts/guest/setups/debian.sh by that of this version, and only after that try to create a new Debian Sid container? Make sure both daemon.py and debian.sh are executable (devel-su chmod +x /path/to/file). If my fork breaks things and creates new bugs you don't observe with vanilla daemon.py, please report and tell if your user is named nemo or defaultuser, you device and SFOS version, and whether you have an active symlink between /home/nemo and /home/defaultuser. If your harbour-containers is already showing an empty GUI and you can't interact with it, then destroy your existing Linux containers using lxc-destroy as described in a post above (be sure to backup your rootfs from /home/.lxc and config file from /var/lib/lxc before if your container has worked in the past and has some value to you). |
Re: Full linux distros on Sailfish OS
Quote:
Device: Gemini PDA 4G x27 Sailfish OS version: 4.1.0.24 Linux distribution: Debian Sid armhf Guide to make it work: I had to do the Code:
devel-suThen I followed the manual instructions in the first post instead of using GUI. But one small change was needed - any line containing Code:
/usr/share/sailfish-containers/guestCode:
/var/lib/lxc/<container_name>/configCode:
lxc.mount.entry = /usr/share/harbour-containers/scripts/guest mnt/guest none bind,create=dir 0 0I am using the "debian-mouse-landscape.sh" script to start the Sailfish "part". (Needed to do Code:
devel-suWhat's not working: - audio - writing Fn+key symbols What's working: - running steam locomotive in terminal - seems like everything else I've tried so far Questions: 1) Is there anything I can do to fix the audio and keys, please? Shows no output hardware. Only dummy virtual output... 2) Also, any chance of running Anbox? Thank you for any answer and for your great work. https://i.imgur.com/FMPdAuE.jpg |
Re: Full linux distros on Sailfish OS
What is debian-mouse-landscape.sh and where can we see it? If it's meant to allow using a USB mouse in landscape, then check this out: https://github.com/sailfish-on-fxtec...ment-680788660 It will work for both SFOS and the container and even supports orientation changes.
The symlink between /home/nemo and /home/defaultuser is indeed the current workaround (and is also useful for many outdated apps on Openrepos) but hopefully we can avoid that soon if the forked daemon.py fixes the issue. Thanks for noticing this issue with the mount entry. I think this is the first time this is reported, this will need some further investigation, as I have no idea where this comes from if it used to work fine on other devices. Once we figure out the causes and solutions to all these issues, we'll need to work on a PR for harbour-containers and lxc-templates. And ideally, add some documentation too for future users, because LXC can be really great but can be intimidating at first (quirks with the installation we're discussing here, then desktop configuration). Audio is working for me on my Pro1, with some limitations, like some sounds cannot be muted from the hardware volume buttons (which control the Sailfish volume): I think it mostly concerns terminal applications as I observed that only with the terminal bell and cmus music player. It's a non-issue for me though since the terminal bell usually is opt-in and configurable, and cmus has its own volume setting that can be set with - and + keys. I don't remember doing anything special to get audio to work, except maybe installing pavucontrol. Regarding Fn keys, do you observe some output in xev? How keys are handled has never been clear to me on Pro1 either, and I believe it's mostly due to the fact that some keys might be intercepted by Sailfish before LXC sees them. For instance, the F(x) key on my Pro1 shows the SFOS homescreen even when I press it while in LXC, meaning its action is not constrained to the container (and I couldn't set it to Super in LXC). Same with Alt+Tab with Adam's taskswitcher daemon on, it intercepts the keybinding and triggers the SFOS taskswitcher (which is not necessarily a bad thing). The most annoying thing for me is I cannot distinguish Alt and the two yellow arrows, they all act as Right Alt, despite different keycodes in my xkb keymap and in xev output. Even if I try to alter them with Xmodmap and change one to Super for instance, the Xmodmap output will confirm that the change is in effect, but nothing will actually change. Xmodmap being ineffective may be related to using Xwayland. But I'm still desperately trying to distinguish Left Alt from Right Alt and I still haven't succeeded. I think I must have posted about it somewhere on Github or on Sailfish/Fxtec channels on IRC/Telegram/Discord. My latest attempt was to compile kmonad (which went really smooth on ARM, the dev didn't know if it would work) since this is a really powerful tool for keyboard customization (supports multitaps, holds, layers, commands, macros, etc.) and I got it to run, but unfortunately I'm getting an error when trying to load my keyboard device into it (I did add a mount entry for /dev/input in my LXC config, but maybe I still have permissions issues to access it from LXC?). If we get this to work, I'm sure Fn keys could be supported too. However I still don't understand if Sailfish intercepting keys and changing their effect despite different keycodes is something we can work around (and if so, probably from Sailfish and not the container) or if it cannot be solved. |
Re: Full linux distros on Sailfish OS
Quote:
|
Re: Full linux distros on Sailfish OS
Oh, right, thanks for reminding me. I never used those scripts so I can't comment, but it should no longer be necessary to use different scripts to start the container in landscape or portrait mode (the GUI should be able to do it once we find what breaks it), and no script is needed to enable or disable mouse support either (elros34's patch and qt5 plugin, see the URL I posted above, take care of it automatically, detect when a mouse is connected or not, and adapt to the orientation dynamically).
I wouldn't recommend using those custom scripts if edp17 can confirm that they no longer provide additional functionality compared to elros34's patch, at least not while debugging the other issues, since the scripts seem to use qxcompositor instead of qxdisplay. |
Re: Full linux distros on Sailfish OS
Quote:
Quote:
Quote:
Quote:
Quote:
|
Re: Full linux distros on Sailfish OS
Quote:
Code:
[defaultuser@Xperia10 ~]$ /usr/bin/qxdisplay --wayland-socket-name "../../display/wayland-container-0"Code:
[D] unknown:0 - Using Wayland-EGL |
Re: Full linux distros on Sailfish OS
Quote:
Code:
Downloads: |
Re: Full linux distros on Sailfish OS
Quote:
I did double check by running this in the folder where those rpm files were downloaded: Code:
devel-su zypper install lxc-templates-desktop-1.1-4.noarch.rpm qxdisplay-0.1-2.armv7hl.rpm harbour-containers-0.4-1.armv7hl.rpm |
Re: Full linux distros on Sailfish OS
Quote:
Code:
devel-su pkcon install --allow-reinstall -y sailfish-content-graphics-default-z1.0-base sailfish-content-graphics-default-z1.25-base sailfish-content-graphics-default-z1.5-base sailfish-content-graphics-default-z1.75-base sailfish-content-graphics-default-z2.0-base sailfish-content-graphics-closed-z1.0 sailfish-content-graphics-closed-z1.25 sailfish-content-graphics-closed-z1.5 sailfish-content-graphics-closed-z1.75 sailfish-content-graphics-closed-z2.0 |
Re: Full linux distros on Sailfish OS
Quote:
|
Re: Full linux distros on Sailfish OS
Quote:
Quote:
Quote:
|
Re: Full linux distros on Sailfish OS
I have no idea where the qxdisplay.desktop error comes from, I can't see a qxdisplay.desktop file being called anywhere in the lxc-templates or harbour-containers source files. I suspect it's some other UNIX tool getting in the way somewhere and automatically expecting a desktop file?
Was the container started with the LXC-attach button when you ran the following command? Code:
/usr/bin/qxdisplay -o landscape --wayland-socket-name "../../display/wayland-container-0Code:
qxdisplay -o landscape -d ../../display/wayland-container-1If your containers are not configured yet, I would indeed start fresh after destroying them and creating a new Debian Sid container. Sometimes things can break with Debian Sid because packages change fast and this version is not made to be stable (at some point the Xwayland compilation was broken for instance). However we tested a few days ago with Mosen on Pro1 and he could install Debian Sid (from CLI only using the instruction in the lxc-templates wiki for now, still issues with creating containers from GUI) and then setup the X desktop using the harbour-containers button at the bottm, and then start X with the above command. I updated the daemon.py fork, be sure to use the latest version before next attempts. |
Re: Full linux distros on Sailfish OS
Quote:
What was probably going wrong was I was running the below code as root - as when you select 'attach' in the Container GUI, and then open a new window (from that terminal window) it automatically opens the new window as root (I didn't think this would cause issues, but it obviously did). Code:
qxdisplay -o landscape -d ../../display/wayland-container-1Code:
/mnt/guest/start_desktop.sh 0Code:
[defaultuser@Xperia10 ~]$ /usr/bin/qxdisplay -o landscape --wayCode:
root@Kali:/# /mnt/guest/start_desktop.sh 0Code:
qxdisplay -o landscape -d ../../display/wayland-container-1Code:
root@Debian:/# /mnt/guest/start_desktop.sh 0 |
Re: Full linux distros on Sailfish OS
Just curious - I'm sure many have heard of the PinePhone - it has Mobian as a choice of operating system - can Mobian be installed as a container? Mobian operates well as a mobile desktop environment, and it would be great if it could be run within sailfish - Mobian is a bit easier to operate on a small screen compared to the normal desktop environment.
|
Re: Full linux distros on Sailfish OS
@spoofykid
when you have the x-wayland/qxdisplay window up. Do you then attach to the container at all from another terminal as root and execute the start_desktop.sh within the container? Code:
devel-suEdit, yeah, you did. Sorry again. |
Re: Full linux distros on Sailfish OS
@mosen
Yes, I did that multiple times. I think it was attempting to open x-wayland as root that failed for me. Though running /mnt/guest/start_desktop.sh 1 didn't work for me either - I have to run it with a '0' at the end instead of the '1' for the desktop to start. Edit: I just realised what the 1 or 0 represent, and either work for me. |
Re: Full linux distros on Sailfish OS
Quote:
|
Re: Full linux distros on Sailfish OS
Glad you got it working, you can have fun configuring your container now!
There's still something broken with the GUI for installing containers, setting up desktop and starting X, that we'll need to investigate, but there are multiple factors that may have confounding effects so that's not going to be trivial (OS version, device model, Sid is always changing…). |
Re: Full linux distros on Sailfish OS
In case it's useful to anyone:
I install the desktop via the Containers GUI, run 'setup xsession' within the GUI, attach the container within the GUI, open a new terminal window, because it's root I run su defaultuser or if your user is nemo su nemo to get out of root, I run /usr/bin/qxdisplay --wayland-socket-name "../../display/wayland-container-0" from that window, minimise that and the "waiting for xwayland' windows, in the terminal window with the attached container run /mnt/guest/start_desktop.sh 0, and then finally minimise it and change to the "waiting for xwayland" window which should have the desktop running. Obviously this has all been documented, but the big one for me was exiting root using su defaultuser before running the wayland code. |
Re: Full linux distros on Sailfish OS
Quote:
Good to know the container setup and Xsession setup still work from the GUI, I misunderstood from tests with Mosen that they didn't. That means the only issue might be starting X from the GUI, which for the time being can be worked around from CLI. There's something weird though because it still works for me on SFOS 3.3 ported to the Pro1. |
Re: Full linux distros on Sailfish OS
Oh yeah, looks like I managed to solve the sound issue on Gemini PDA, SFOS 4.1.0.24:
First I did this: Code:
$ devel-suCode:
$ systemctl --user restart pulseaudio.serviceAt last, I played some sound in SFOS and voillá! It also worked in the running instance of Debian! More information here: https://forum.sailfishos.org/t/4-1-0...r-upgrade/6530 About the keyboard issue, xev seems to not recognize Fn. It gives blank bytes received, or something like that. After pressing Fn+o, it just writes this Code:
'' (blank symbol received, key pushed) |
Re: Full linux distros on Sailfish OS
Hi all,
This post is for clearing out the misunderstanding around the 'debian-mouse-landscape.sh' and 'debian-mouse-portrait.sh' scripts. I have created these for my Note4 (treltexx) because on that device the LXC app doesn't work. I can only start the container manually in the command line and where I needed two fingerterm windows to be able to start the container and enter into the desktop distro. With those scripts, one fingerterm window was enough to do everything, plus I didn't need to type all commands each time. If you look into the scripts you'll see that both do the following: - checks whether the container is started and if not, starts it - then starts the qxdisplay as not root - then attaches the container and starts the desktop within The only difference between the two is that the xx-portrait.sh script calls the qxcompositor with the '-o portrait' parameter. This means it doesn't change the layout when you turn the phone from portrait to landscape and vice versa. Oh, and the word "mouse" in their name is related to they both use qxcompositor instead of qxdisplay when starting the display. This is all those scripts are doing. :) |
Re: Full linux distros on Sailfish OS
@edp17 (or anyone ) - I'm getting error trying to open xwindow on latest SF update, (4.2):
"/usr/bin/qxdisplay: symbol lookup error: /usr/ bin/qxdisplay: undefined symbol: _ZN18QWayland Compositor7openUrlEPvRK4QUrl, version Qt_5" Any ideas? Thanks |
Re: Full linux distros on Sailfish OS
Well, I got it working by attaching container and running "startx -- /opt/bin/Xwayland"...
Run "su user" first to start non-root... update - not consistent ... Worked one time, then, after reboot, wouldn't work, (server error - couldn't add screen...). Also got it to work one time simply by typing "/opt/bin/Xwayland" ... Not sure what makes the difference . update - found a method that works, using Containers app, and tips from here - https://talk.maemo.org/showthread.php?t=98882 - open Containers app, and select container, and tap "start Xsession", (nothing happens visibly, but won't work if I don't do it), then tap "attach ". Terminal will open asking for root password, then show Linux root prompt. - enter "mkdir /run/user/0" then "export $(dbus-launch)" then "export XDG_RUNTIME_DIR=/run/user/0" then "startx" Desktop opens... |
Re: Full linux distros on Sailfish OS
@edp17 (or anyone) Wondering if you could help with something -
Since recent SF versions, gui for Containers hasn't functioned the same as before, and need to use terminal to open Linux desktop. I have figured out how to do that, but now there is one difference - certain applications don't open in the same screen, when launched from the Linux desktop, but instead, a new Sailfish app window opens with the Linux app, (I guess it's a new Wayland window, or?). This would be fine with me, except for 1) there's no keyboard, and I can't figure out how to get one to open with the app, and 2) the new window gets automatically closed as soon as another app is brought to the foreground, (it will stay open when minimized to card view, but closes if a different card is selected). Anyone have any ideas why certain (not all) apps aee opening this way, and how to get them to open in the cureent window instead? The only hint I can get from termonal output is a message about "...wayland not providing any supported shell interface". Thanks |
Re: Full linux distros on Sailfish OS
Quote:
|
Re: Full linux distros on Sailfish OS
@levone1
I've checked my install on the device and still can start the desktop distro. (SFOS 4.1) I slightly needed to amend the script that I wrote to start it because the installed Waydroid interferes with the Debian container. If you run the following commands in a terminal, you should be able to start the Desktop distro: (my container name is Debian, so I use this in the example, you can replace it with your container name) Before you do this, please ensure the container is not running! 1. Start the container: sudo lxc-start -n Debian -d & (or start it with devel-su if you don't have sudo installed) 2. Start the compositor in landscape mode: /usr/bin/qxcompositor --wayland-socket-name "../../display/wayland-container-0" & or in portrait: /usr/bin/qxcompositor -o portrait --wayland-socket-name "../../display/wayland-container-0" & 3. finally attach the container and start the distro: sudo lxc-attach -n Debian -- /mnt/guest/start_desktop.sh 0 & (I've made a script that is doing all in one go, so that can be used as an icon on the app drawer.) |
Re: Full linux distros on Sailfish OS
Qxdisplay and qxcompositor does work properly on SailfishOS 4.1.0.24 but not on 4.2.0.21.
Tested on a Pinephone. |
Re: Full linux distros on Sailfish OS
Quote:
I can get desktop to open and run fine using other steps. I was more curious about why some applications open in a separate window. I think the line in start_desktop script, "export QT_QPA_PLATFORM=xcb # force qt applications backend to Xwayland export PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/sbin" maybe has something to do with it... |
| All times are GMT. The time now is 13:01. |
Page 5 of 7 |
|
Prev |
3 4 5
6 7
|
Next
vBulletin® Version 3.8.8