Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Add 1bitpaint - #83

Draft
Eeems wants to merge 9 commits into
testingfrom
1bitpaint
Draft

Add 1bitpaint#83
Eeems wants to merge 9 commits into
testingfrom
1bitpaint

Conversation

@Eeems

Copy link
Copy Markdown
Member

Still got to figure out what is missing in this build. remarkable-splash didn't have trouble with EPFrameBuffer.

@EeemsEeems mentioned this pull request Sep 29, 2020
28 tasks
@raisjn

Copy link
Copy Markdown
Contributor

@Eeems

Copy link
Copy Markdown
MemberAuthor

remarkable-splash also uses that library: https://github.com/ddvk/remarkable-splash/blob/master/remarkable-splash.pro#L5

@raisjn

Copy link
Copy Markdown
Contributor

notice that it is behind an if statement for 1bitpaint, but it should be on always. i think it wasn't included because when i look for '-lqsepaper' or whatever, i don't see it in the logs.

but if i look at the splashscreen build check, i see:

arm-linux-gnueabihf-g++ -Wl,-O1 -Wl,-rpath,/opt/x-tools/arm-remarkable-linux-gnueabihf/arm-remarkable-linux-gnueabihf/sysroot/usr/lib -o remarkable-splash main.o -lqsgepaper -lQt5Gui -lQt5Core -lpthread

@Eeems
Eeems marked this pull request as ready for review September 29, 2020 04:18
@Eeems
Eeems marked this pull request as draft September 29, 2020 04:20
@Eeems

Copy link
Copy Markdown
MemberAuthor

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

@raisjn

raisjn commented Sep 29, 2020 via email

Copy link
Copy Markdown
Contributor

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

The spec file in the reMarkable toolchain is called linux-oe-g++, whereas it is called linux-arm-gnueabihf-g++ in the Toltec toolchain, so this condition is not fulfilled when building with the Toltec toolchain. The same thing happens with oxide, which I mitigated using this sed command.

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

It looks like libQt5Widgets is not installed on the reMarkable. The current reMarkable toolchain does not contain libQt5Widgets either, as far as I can see. However, the old one did contain it.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Interesting. Well I guess I'll have to open an issue to get it updated to work with the new toolchain.

@matteodelabre

Copy link
Copy Markdown
Member

Indeed. Also I think it would be less confusing if we removed libQt5Widgets (and other missing Qt libs, if applicable) from the qt image. Moving this suggestion to the toolchain repo.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Opened HiroshiTamura/1bitpaint_for_reMarkable#2

@matteodelabrematteodelabre added the packages Add or improve packages of the repository label Sep 30, 2020
@Eeems

Copy link
Copy Markdown
MemberAuthor

@HiroshiTamura hasn't been active on GitHub since May 2019 so I'm not sure we'll be able to get this fixed without forking the project :/

@Eeems

Copy link
Copy Markdown
MemberAuthor

Looks like they are active on twitter though: https://twitter.com/minordaimyo?lang=en

@matteodelabrematteodelabre added bug Something isn't working and removed bug Something isn't working labels Jan 5, 2021
@LinusCDE

Copy link
Copy Markdown
Member

Anything new on this? We should probably just go ahead and do the changes. Either forking or adding a patch files like done with koreader.

@Eeems

Copy link
Copy Markdown
MemberAuthor

I haven't taken the time to try to sort out how to rewrite the portions of their code that uses the now-not-included portions of Qt. Feel free to though. I likely won't have time until later this year.

@matteodelabre

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

@LinusCDE

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

* makedepends support, including Toltec packages, so that Qt-dependent packages can rely on those artifacts (see #85)
* the Python rewrite of the build tooling (#211) (needed for #85)
* `opkg` support in our build toolchain, so that needed packages can be installed into the container before building (this is almost done)

That sounds great, but I fear we might start to approach some kind of "vendor locking" if we do that. Normally most apps also work without toltec and we just package them up conveniently. With that change, devs will have it harder to provide installation guidelines or a standalone binary that works without toltec.

While I love toltec, I hesitate have people say "I wanted to install this cool mod X, but I need to install some huge stuff I don't know and might brick my device. Without it the app doesn't work because of missing libraries.". Especially people installing their first mod or ssh'ing in the first time could get thrown off.

@matteodelabre

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Also, Toltec strives to be easy to install (which will be improved by Eeems/toltec-installer) and not too heavyweight, so in its ideal state it would be even easier to use than manually transferring the binary of an app that the user wants to try.

@LinusCDE

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Yes, but developers will have to consider two sets of libraries. Currently one just links against what the oecore toolchain offers and the toltec build will basically be the same.

In the example of QTWidgets tough, people might make the apps toltec only. While I'm not against it, it may make mods that work exclusivly as a toltec package (expecting all the QT libs in /opt) and manual builds harder. If a dev isn't deep into how to build e.g. qt apps, he might not even know how to change it.

Well the previous paragraph made me think, that people who do change the toolchain to our one already know how to make a normal standalone build as well. Only problem might be stuff like toltec having libs, remarkable doesn't, but I think this will be an unavoidable perk of toltecs packages in general.

So while writing my response, I changed my mind and don't mind the custom qt libs anymore. 😄

@matteodelabrematteodelabre mentioned this pull request Jan 11, 2021
@raisjn

Copy link
Copy Markdown
Contributor

are people still interested in this app? (can we close this PR?)

@matteodelabre

Copy link
Copy Markdown
Member

There are more feature-full apps that achieve the same goal, so I don’t think dropping it would have a huge effect. The issue with missing libQt5Widgets on the device will be fixed once the work on a Qt package settles (see #212 & the package/qt branch). The main use I can see for this app is as a test for the Qt package.

@Eeems, since you opened the PR in the first place, do you have any thoughts on this?

Note: If we close this PR, we should also remove it from the list of package requests (#9).

@Eeems

Eeems commented Apr 5, 2021

Copy link
Copy Markdown
MemberAuthor

I would still like to keep this around, especially as a test for package/qt

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

packagesAdd or improve packages of the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Eeems@raisjn@matteodelabre@LinusCDE
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Add 1bitpaint by Eeems · Pull Request #83 · toltec-dev/toltec · GitHub
Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Add 1bitpaint - #83

Draft
Eeems wants to merge 9 commits into
testingfrom
1bitpaint
Draft

Add 1bitpaint#83
Eeems wants to merge 9 commits into
testingfrom
1bitpaint

Conversation

@Eeems

Copy link
Copy Markdown
Member

Still got to figure out what is missing in this build. remarkable-splash didn't have trouble with EPFrameBuffer.

@EeemsEeems mentioned this pull request Sep 29, 2020
28 tasks
@raisjn

Copy link
Copy Markdown
Contributor

@Eeems

Copy link
Copy Markdown
MemberAuthor

remarkable-splash also uses that library: https://github.com/ddvk/remarkable-splash/blob/master/remarkable-splash.pro#L5

@raisjn

Copy link
Copy Markdown
Contributor

notice that it is behind an if statement for 1bitpaint, but it should be on always. i think it wasn't included because when i look for '-lqsepaper' or whatever, i don't see it in the logs.

but if i look at the splashscreen build check, i see:

arm-linux-gnueabihf-g++ -Wl,-O1 -Wl,-rpath,/opt/x-tools/arm-remarkable-linux-gnueabihf/arm-remarkable-linux-gnueabihf/sysroot/usr/lib -o remarkable-splash main.o -lqsgepaper -lQt5Gui -lQt5Core -lpthread

@Eeems
Eeems marked this pull request as ready for review September 29, 2020 04:18
@Eeems
Eeems marked this pull request as draft September 29, 2020 04:20
@Eeems

Copy link
Copy Markdown
MemberAuthor

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

@raisjn

raisjn commented Sep 29, 2020 via email

Copy link
Copy Markdown
Contributor

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

The spec file in the reMarkable toolchain is called linux-oe-g++, whereas it is called linux-arm-gnueabihf-g++ in the Toltec toolchain, so this condition is not fulfilled when building with the Toltec toolchain. The same thing happens with oxide, which I mitigated using this sed command.

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

It looks like libQt5Widgets is not installed on the reMarkable. The current reMarkable toolchain does not contain libQt5Widgets either, as far as I can see. However, the old one did contain it.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Interesting. Well I guess I'll have to open an issue to get it updated to work with the new toolchain.

@matteodelabre

Copy link
Copy Markdown
Member

Indeed. Also I think it would be less confusing if we removed libQt5Widgets (and other missing Qt libs, if applicable) from the qt image. Moving this suggestion to the toolchain repo.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Opened HiroshiTamura/1bitpaint_for_reMarkable#2

@matteodelabrematteodelabre added the packages Add or improve packages of the repository label Sep 30, 2020
@Eeems

Copy link
Copy Markdown
MemberAuthor

@HiroshiTamura hasn't been active on GitHub since May 2019 so I'm not sure we'll be able to get this fixed without forking the project :/

@Eeems

Copy link
Copy Markdown
MemberAuthor

Looks like they are active on twitter though: https://twitter.com/minordaimyo?lang=en

@matteodelabrematteodelabre added bug Something isn't working and removed bug Something isn't working labels Jan 5, 2021
@LinusCDE

Copy link
Copy Markdown
Member

Anything new on this? We should probably just go ahead and do the changes. Either forking or adding a patch files like done with koreader.

@Eeems

Copy link
Copy Markdown
MemberAuthor

I haven't taken the time to try to sort out how to rewrite the portions of their code that uses the now-not-included portions of Qt. Feel free to though. I likely won't have time until later this year.

@matteodelabre

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

@LinusCDE

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

* makedepends support, including Toltec packages, so that Qt-dependent packages can rely on those artifacts (see #85)
* the Python rewrite of the build tooling (#211) (needed for #85)
* `opkg` support in our build toolchain, so that needed packages can be installed into the container before building (this is almost done)

That sounds great, but I fear we might start to approach some kind of "vendor locking" if we do that. Normally most apps also work without toltec and we just package them up conveniently. With that change, devs will have it harder to provide installation guidelines or a standalone binary that works without toltec.

While I love toltec, I hesitate have people say "I wanted to install this cool mod X, but I need to install some huge stuff I don't know and might brick my device. Without it the app doesn't work because of missing libraries.". Especially people installing their first mod or ssh'ing in the first time could get thrown off.

@matteodelabre

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Also, Toltec strives to be easy to install (which will be improved by Eeems/toltec-installer) and not too heavyweight, so in its ideal state it would be even easier to use than manually transferring the binary of an app that the user wants to try.

@LinusCDE

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Yes, but developers will have to consider two sets of libraries. Currently one just links against what the oecore toolchain offers and the toltec build will basically be the same.

In the example of QTWidgets tough, people might make the apps toltec only. While I'm not against it, it may make mods that work exclusivly as a toltec package (expecting all the QT libs in /opt) and manual builds harder. If a dev isn't deep into how to build e.g. qt apps, he might not even know how to change it.

Well the previous paragraph made me think, that people who do change the toolchain to our one already know how to make a normal standalone build as well. Only problem might be stuff like toltec having libs, remarkable doesn't, but I think this will be an unavoidable perk of toltecs packages in general.

So while writing my response, I changed my mind and don't mind the custom qt libs anymore. 😄

@matteodelabrematteodelabre mentioned this pull request Jan 11, 2021
@raisjn

Copy link
Copy Markdown
Contributor

are people still interested in this app? (can we close this PR?)

@matteodelabre

Copy link
Copy Markdown
Member

There are more feature-full apps that achieve the same goal, so I don’t think dropping it would have a huge effect. The issue with missing libQt5Widgets on the device will be fixed once the work on a Qt package settles (see #212 & the package/qt branch). The main use I can see for this app is as a test for the Qt package.

@Eeems, since you opened the PR in the first place, do you have any thoughts on this?

Note: If we close this PR, we should also remove it from the list of package requests (#9).

@Eeems

Eeems commented Apr 5, 2021

Copy link
Copy Markdown
MemberAuthor

I would still like to keep this around, especially as a test for package/qt

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

packagesAdd or improve packages of the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Eeems@raisjn@matteodelabre@LinusCDE
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add 1bitpaint by Eeems · Pull Request #83 · toltec-dev/toltec · GitHub
Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Add 1bitpaint - #83

Draft
Eeems wants to merge 9 commits into
testingfrom
1bitpaint
Draft

Add 1bitpaint#83
Eeems wants to merge 9 commits into
testingfrom
1bitpaint

Conversation

@Eeems

Copy link
Copy Markdown
Member

Still got to figure out what is missing in this build. remarkable-splash didn't have trouble with EPFrameBuffer.

@EeemsEeems mentioned this pull request Sep 29, 2020
28 tasks
@raisjn

Copy link
Copy Markdown
Contributor

@Eeems

Copy link
Copy Markdown
MemberAuthor

remarkable-splash also uses that library: https://github.com/ddvk/remarkable-splash/blob/master/remarkable-splash.pro#L5

@raisjn

Copy link
Copy Markdown
Contributor

notice that it is behind an if statement for 1bitpaint, but it should be on always. i think it wasn't included because when i look for '-lqsepaper' or whatever, i don't see it in the logs.

but if i look at the splashscreen build check, i see:

arm-linux-gnueabihf-g++ -Wl,-O1 -Wl,-rpath,/opt/x-tools/arm-remarkable-linux-gnueabihf/arm-remarkable-linux-gnueabihf/sysroot/usr/lib -o remarkable-splash main.o -lqsgepaper -lQt5Gui -lQt5Core -lpthread

@Eeems
Eeems marked this pull request as ready for review September 29, 2020 04:18
@Eeems
Eeems marked this pull request as draft September 29, 2020 04:20
@Eeems

Copy link
Copy Markdown
MemberAuthor

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

@raisjn

raisjn commented Sep 29, 2020 via email

Copy link
Copy Markdown
Contributor

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

The spec file in the reMarkable toolchain is called linux-oe-g++, whereas it is called linux-arm-gnueabihf-g++ in the Toltec toolchain, so this condition is not fulfilled when building with the Toltec toolchain. The same thing happens with oxide, which I mitigated using this sed command.

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

It looks like libQt5Widgets is not installed on the reMarkable. The current reMarkable toolchain does not contain libQt5Widgets either, as far as I can see. However, the old one did contain it.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Interesting. Well I guess I'll have to open an issue to get it updated to work with the new toolchain.

@matteodelabre

Copy link
Copy Markdown
Member

Indeed. Also I think it would be less confusing if we removed libQt5Widgets (and other missing Qt libs, if applicable) from the qt image. Moving this suggestion to the toolchain repo.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Opened HiroshiTamura/1bitpaint_for_reMarkable#2

@matteodelabrematteodelabre added the packages Add or improve packages of the repository label Sep 30, 2020
@Eeems

Copy link
Copy Markdown
MemberAuthor

@HiroshiTamura hasn't been active on GitHub since May 2019 so I'm not sure we'll be able to get this fixed without forking the project :/

@Eeems

Copy link
Copy Markdown
MemberAuthor

Looks like they are active on twitter though: https://twitter.com/minordaimyo?lang=en

@matteodelabrematteodelabre added bug Something isn't working and removed bug Something isn't working labels Jan 5, 2021
@LinusCDE

Copy link
Copy Markdown
Member

Anything new on this? We should probably just go ahead and do the changes. Either forking or adding a patch files like done with koreader.

@Eeems

Copy link
Copy Markdown
MemberAuthor

I haven't taken the time to try to sort out how to rewrite the portions of their code that uses the now-not-included portions of Qt. Feel free to though. I likely won't have time until later this year.

@matteodelabre

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

@LinusCDE

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

* makedepends support, including Toltec packages, so that Qt-dependent packages can rely on those artifacts (see #85)
* the Python rewrite of the build tooling (#211) (needed for #85)
* `opkg` support in our build toolchain, so that needed packages can be installed into the container before building (this is almost done)

That sounds great, but I fear we might start to approach some kind of "vendor locking" if we do that. Normally most apps also work without toltec and we just package them up conveniently. With that change, devs will have it harder to provide installation guidelines or a standalone binary that works without toltec.

While I love toltec, I hesitate have people say "I wanted to install this cool mod X, but I need to install some huge stuff I don't know and might brick my device. Without it the app doesn't work because of missing libraries.". Especially people installing their first mod or ssh'ing in the first time could get thrown off.

@matteodelabre

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Also, Toltec strives to be easy to install (which will be improved by Eeems/toltec-installer) and not too heavyweight, so in its ideal state it would be even easier to use than manually transferring the binary of an app that the user wants to try.

@LinusCDE

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Yes, but developers will have to consider two sets of libraries. Currently one just links against what the oecore toolchain offers and the toltec build will basically be the same.

In the example of QTWidgets tough, people might make the apps toltec only. While I'm not against it, it may make mods that work exclusivly as a toltec package (expecting all the QT libs in /opt) and manual builds harder. If a dev isn't deep into how to build e.g. qt apps, he might not even know how to change it.

Well the previous paragraph made me think, that people who do change the toolchain to our one already know how to make a normal standalone build as well. Only problem might be stuff like toltec having libs, remarkable doesn't, but I think this will be an unavoidable perk of toltecs packages in general.

So while writing my response, I changed my mind and don't mind the custom qt libs anymore. 😄

@matteodelabrematteodelabre mentioned this pull request Jan 11, 2021
@raisjn

Copy link
Copy Markdown
Contributor

are people still interested in this app? (can we close this PR?)

@matteodelabre

Copy link
Copy Markdown
Member

There are more feature-full apps that achieve the same goal, so I don’t think dropping it would have a huge effect. The issue with missing libQt5Widgets on the device will be fixed once the work on a Qt package settles (see #212 & the package/qt branch). The main use I can see for this app is as a test for the Qt package.

@Eeems, since you opened the PR in the first place, do you have any thoughts on this?

Note: If we close this PR, we should also remove it from the list of package requests (#9).

@Eeems

Eeems commented Apr 5, 2021

Copy link
Copy Markdown
MemberAuthor

I would still like to keep this around, especially as a test for package/qt

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

packagesAdd or improve packages of the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Eeems@raisjn@matteodelabre@LinusCDE
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add 1bitpaint by Eeems · Pull Request #83 · toltec-dev/toltec · GitHub
Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Add 1bitpaint - #83

Draft
Eeems wants to merge 9 commits into
testingfrom
1bitpaint
Draft

Add 1bitpaint#83
Eeems wants to merge 9 commits into
testingfrom
1bitpaint

Conversation

@Eeems

Copy link
Copy Markdown
Member

Still got to figure out what is missing in this build. remarkable-splash didn't have trouble with EPFrameBuffer.

@EeemsEeems mentioned this pull request Sep 29, 2020
28 tasks
@raisjn

Copy link
Copy Markdown
Contributor

@Eeems

Copy link
Copy Markdown
MemberAuthor

remarkable-splash also uses that library: https://github.com/ddvk/remarkable-splash/blob/master/remarkable-splash.pro#L5

@raisjn

Copy link
Copy Markdown
Contributor

notice that it is behind an if statement for 1bitpaint, but it should be on always. i think it wasn't included because when i look for '-lqsepaper' or whatever, i don't see it in the logs.

but if i look at the splashscreen build check, i see:

arm-linux-gnueabihf-g++ -Wl,-O1 -Wl,-rpath,/opt/x-tools/arm-remarkable-linux-gnueabihf/arm-remarkable-linux-gnueabihf/sysroot/usr/lib -o remarkable-splash main.o -lqsgepaper -lQt5Gui -lQt5Core -lpthread

@Eeems
Eeems marked this pull request as ready for review September 29, 2020 04:18
@Eeems
Eeems marked this pull request as draft September 29, 2020 04:20
@Eeems

Copy link
Copy Markdown
MemberAuthor

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

@raisjn

raisjn commented Sep 29, 2020 via email

Copy link
Copy Markdown
Contributor

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

The spec file in the reMarkable toolchain is called linux-oe-g++, whereas it is called linux-arm-gnueabihf-g++ in the Toltec toolchain, so this condition is not fulfilled when building with the Toltec toolchain. The same thing happens with oxide, which I mitigated using this sed command.

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

It looks like libQt5Widgets is not installed on the reMarkable. The current reMarkable toolchain does not contain libQt5Widgets either, as far as I can see. However, the old one did contain it.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Interesting. Well I guess I'll have to open an issue to get it updated to work with the new toolchain.

@matteodelabre

Copy link
Copy Markdown
Member

Indeed. Also I think it would be less confusing if we removed libQt5Widgets (and other missing Qt libs, if applicable) from the qt image. Moving this suggestion to the toolchain repo.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Opened HiroshiTamura/1bitpaint_for_reMarkable#2

@matteodelabrematteodelabre added the packages Add or improve packages of the repository label Sep 30, 2020
@Eeems

Copy link
Copy Markdown
MemberAuthor

@HiroshiTamura hasn't been active on GitHub since May 2019 so I'm not sure we'll be able to get this fixed without forking the project :/

@Eeems

Copy link
Copy Markdown
MemberAuthor

Looks like they are active on twitter though: https://twitter.com/minordaimyo?lang=en

@matteodelabrematteodelabre added bug Something isn't working and removed bug Something isn't working labels Jan 5, 2021
@LinusCDE

Copy link
Copy Markdown
Member

Anything new on this? We should probably just go ahead and do the changes. Either forking or adding a patch files like done with koreader.

@Eeems

Copy link
Copy Markdown
MemberAuthor

I haven't taken the time to try to sort out how to rewrite the portions of their code that uses the now-not-included portions of Qt. Feel free to though. I likely won't have time until later this year.

@matteodelabre

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

@LinusCDE

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

* makedepends support, including Toltec packages, so that Qt-dependent packages can rely on those artifacts (see #85)
* the Python rewrite of the build tooling (#211) (needed for #85)
* `opkg` support in our build toolchain, so that needed packages can be installed into the container before building (this is almost done)

That sounds great, but I fear we might start to approach some kind of "vendor locking" if we do that. Normally most apps also work without toltec and we just package them up conveniently. With that change, devs will have it harder to provide installation guidelines or a standalone binary that works without toltec.

While I love toltec, I hesitate have people say "I wanted to install this cool mod X, but I need to install some huge stuff I don't know and might brick my device. Without it the app doesn't work because of missing libraries.". Especially people installing their first mod or ssh'ing in the first time could get thrown off.

@matteodelabre

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Also, Toltec strives to be easy to install (which will be improved by Eeems/toltec-installer) and not too heavyweight, so in its ideal state it would be even easier to use than manually transferring the binary of an app that the user wants to try.

@LinusCDE

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Yes, but developers will have to consider two sets of libraries. Currently one just links against what the oecore toolchain offers and the toltec build will basically be the same.

In the example of QTWidgets tough, people might make the apps toltec only. While I'm not against it, it may make mods that work exclusivly as a toltec package (expecting all the QT libs in /opt) and manual builds harder. If a dev isn't deep into how to build e.g. qt apps, he might not even know how to change it.

Well the previous paragraph made me think, that people who do change the toolchain to our one already know how to make a normal standalone build as well. Only problem might be stuff like toltec having libs, remarkable doesn't, but I think this will be an unavoidable perk of toltecs packages in general.

So while writing my response, I changed my mind and don't mind the custom qt libs anymore. 😄

@matteodelabrematteodelabre mentioned this pull request Jan 11, 2021
@raisjn

Copy link
Copy Markdown
Contributor

are people still interested in this app? (can we close this PR?)

@matteodelabre

Copy link
Copy Markdown
Member

There are more feature-full apps that achieve the same goal, so I don’t think dropping it would have a huge effect. The issue with missing libQt5Widgets on the device will be fixed once the work on a Qt package settles (see #212 & the package/qt branch). The main use I can see for this app is as a test for the Qt package.

@Eeems, since you opened the PR in the first place, do you have any thoughts on this?

Note: If we close this PR, we should also remove it from the list of package requests (#9).

@Eeems

Eeems commented Apr 5, 2021

Copy link
Copy Markdown
MemberAuthor

I would still like to keep this around, especially as a test for package/qt

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

packagesAdd or improve packages of the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Eeems@raisjn@matteodelabre@LinusCDE
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Add 1bitpaint by Eeems · Pull Request #83 · toltec-dev/toltec · GitHub
Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Add 1bitpaint - #83

Draft
Eeems wants to merge 9 commits into
testingfrom
1bitpaint
Draft

Add 1bitpaint#83
Eeems wants to merge 9 commits into
testingfrom
1bitpaint

Conversation

@Eeems

Copy link
Copy Markdown
Member

Still got to figure out what is missing in this build. remarkable-splash didn't have trouble with EPFrameBuffer.

@EeemsEeems mentioned this pull request Sep 29, 2020
28 tasks
@raisjn

Copy link
Copy Markdown
Contributor

@Eeems

Copy link
Copy Markdown
MemberAuthor

remarkable-splash also uses that library: https://github.com/ddvk/remarkable-splash/blob/master/remarkable-splash.pro#L5

@raisjn

Copy link
Copy Markdown
Contributor

notice that it is behind an if statement for 1bitpaint, but it should be on always. i think it wasn't included because when i look for '-lqsepaper' or whatever, i don't see it in the logs.

but if i look at the splashscreen build check, i see:

arm-linux-gnueabihf-g++ -Wl,-O1 -Wl,-rpath,/opt/x-tools/arm-remarkable-linux-gnueabihf/arm-remarkable-linux-gnueabihf/sysroot/usr/lib -o remarkable-splash main.o -lqsgepaper -lQt5Gui -lQt5Core -lpthread

@Eeems
Eeems marked this pull request as ready for review September 29, 2020 04:18
@Eeems
Eeems marked this pull request as draft September 29, 2020 04:20
@Eeems

Copy link
Copy Markdown
MemberAuthor

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

@raisjn

raisjn commented Sep 29, 2020 via email

Copy link
Copy Markdown
Contributor

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

The spec file in the reMarkable toolchain is called linux-oe-g++, whereas it is called linux-arm-gnueabihf-g++ in the Toltec toolchain, so this condition is not fulfilled when building with the Toltec toolchain. The same thing happens with oxide, which I mitigated using this sed command.

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

It looks like libQt5Widgets is not installed on the reMarkable. The current reMarkable toolchain does not contain libQt5Widgets either, as far as I can see. However, the old one did contain it.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Interesting. Well I guess I'll have to open an issue to get it updated to work with the new toolchain.

@matteodelabre

Copy link
Copy Markdown
Member

Indeed. Also I think it would be less confusing if we removed libQt5Widgets (and other missing Qt libs, if applicable) from the qt image. Moving this suggestion to the toolchain repo.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Opened HiroshiTamura/1bitpaint_for_reMarkable#2

@matteodelabrematteodelabre added the packages Add or improve packages of the repository label Sep 30, 2020
@Eeems

Copy link
Copy Markdown
MemberAuthor

@HiroshiTamura hasn't been active on GitHub since May 2019 so I'm not sure we'll be able to get this fixed without forking the project :/

@Eeems

Copy link
Copy Markdown
MemberAuthor

Looks like they are active on twitter though: https://twitter.com/minordaimyo?lang=en

@matteodelabrematteodelabre added bug Something isn't working and removed bug Something isn't working labels Jan 5, 2021
@LinusCDE

Copy link
Copy Markdown
Member

Anything new on this? We should probably just go ahead and do the changes. Either forking or adding a patch files like done with koreader.

@Eeems

Copy link
Copy Markdown
MemberAuthor

I haven't taken the time to try to sort out how to rewrite the portions of their code that uses the now-not-included portions of Qt. Feel free to though. I likely won't have time until later this year.

@matteodelabre

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

@LinusCDE

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

* makedepends support, including Toltec packages, so that Qt-dependent packages can rely on those artifacts (see #85)
* the Python rewrite of the build tooling (#211) (needed for #85)
* `opkg` support in our build toolchain, so that needed packages can be installed into the container before building (this is almost done)

That sounds great, but I fear we might start to approach some kind of "vendor locking" if we do that. Normally most apps also work without toltec and we just package them up conveniently. With that change, devs will have it harder to provide installation guidelines or a standalone binary that works without toltec.

While I love toltec, I hesitate have people say "I wanted to install this cool mod X, but I need to install some huge stuff I don't know and might brick my device. Without it the app doesn't work because of missing libraries.". Especially people installing their first mod or ssh'ing in the first time could get thrown off.

@matteodelabre

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Also, Toltec strives to be easy to install (which will be improved by Eeems/toltec-installer) and not too heavyweight, so in its ideal state it would be even easier to use than manually transferring the binary of an app that the user wants to try.

@LinusCDE

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Yes, but developers will have to consider two sets of libraries. Currently one just links against what the oecore toolchain offers and the toltec build will basically be the same.

In the example of QTWidgets tough, people might make the apps toltec only. While I'm not against it, it may make mods that work exclusivly as a toltec package (expecting all the QT libs in /opt) and manual builds harder. If a dev isn't deep into how to build e.g. qt apps, he might not even know how to change it.

Well the previous paragraph made me think, that people who do change the toolchain to our one already know how to make a normal standalone build as well. Only problem might be stuff like toltec having libs, remarkable doesn't, but I think this will be an unavoidable perk of toltecs packages in general.

So while writing my response, I changed my mind and don't mind the custom qt libs anymore. 😄

@matteodelabrematteodelabre mentioned this pull request Jan 11, 2021
@raisjn

Copy link
Copy Markdown
Contributor

are people still interested in this app? (can we close this PR?)

@matteodelabre

Copy link
Copy Markdown
Member

There are more feature-full apps that achieve the same goal, so I don’t think dropping it would have a huge effect. The issue with missing libQt5Widgets on the device will be fixed once the work on a Qt package settles (see #212 & the package/qt branch). The main use I can see for this app is as a test for the Qt package.

@Eeems, since you opened the PR in the first place, do you have any thoughts on this?

Note: If we close this PR, we should also remove it from the list of package requests (#9).

@Eeems

Eeems commented Apr 5, 2021

Copy link
Copy Markdown
MemberAuthor

I would still like to keep this around, especially as a test for package/qt

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

packagesAdd or improve packages of the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Eeems@raisjn@matteodelabre@LinusCDE
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add 1bitpaint by Eeems · Pull Request #83 · toltec-dev/toltec · GitHub
Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Add 1bitpaint - #83

Draft
Eeems wants to merge 9 commits into
testingfrom
1bitpaint
Draft

Add 1bitpaint#83
Eeems wants to merge 9 commits into
testingfrom
1bitpaint

Conversation

@Eeems

Copy link
Copy Markdown
Member

Still got to figure out what is missing in this build. remarkable-splash didn't have trouble with EPFrameBuffer.

@EeemsEeems mentioned this pull request Sep 29, 2020
28 tasks
@raisjn

Copy link
Copy Markdown
Contributor

@Eeems

Copy link
Copy Markdown
MemberAuthor

remarkable-splash also uses that library: https://github.com/ddvk/remarkable-splash/blob/master/remarkable-splash.pro#L5

@raisjn

Copy link
Copy Markdown
Contributor

notice that it is behind an if statement for 1bitpaint, but it should be on always. i think it wasn't included because when i look for '-lqsepaper' or whatever, i don't see it in the logs.

but if i look at the splashscreen build check, i see:

arm-linux-gnueabihf-g++ -Wl,-O1 -Wl,-rpath,/opt/x-tools/arm-remarkable-linux-gnueabihf/arm-remarkable-linux-gnueabihf/sysroot/usr/lib -o remarkable-splash main.o -lqsgepaper -lQt5Gui -lQt5Core -lpthread

@Eeems
Eeems marked this pull request as ready for review September 29, 2020 04:18
@Eeems
Eeems marked this pull request as draft September 29, 2020 04:20
@Eeems

Copy link
Copy Markdown
MemberAuthor

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

@raisjn

raisjn commented Sep 29, 2020 via email

Copy link
Copy Markdown
Contributor

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

The spec file in the reMarkable toolchain is called linux-oe-g++, whereas it is called linux-arm-gnueabihf-g++ in the Toltec toolchain, so this condition is not fulfilled when building with the Toltec toolchain. The same thing happens with oxide, which I mitigated using this sed command.

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

It looks like libQt5Widgets is not installed on the reMarkable. The current reMarkable toolchain does not contain libQt5Widgets either, as far as I can see. However, the old one did contain it.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Interesting. Well I guess I'll have to open an issue to get it updated to work with the new toolchain.

@matteodelabre

Copy link
Copy Markdown
Member

Indeed. Also I think it would be less confusing if we removed libQt5Widgets (and other missing Qt libs, if applicable) from the qt image. Moving this suggestion to the toolchain repo.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Opened HiroshiTamura/1bitpaint_for_reMarkable#2

@matteodelabrematteodelabre added the packages Add or improve packages of the repository label Sep 30, 2020
@Eeems

Copy link
Copy Markdown
MemberAuthor

@HiroshiTamura hasn't been active on GitHub since May 2019 so I'm not sure we'll be able to get this fixed without forking the project :/

@Eeems

Copy link
Copy Markdown
MemberAuthor

Looks like they are active on twitter though: https://twitter.com/minordaimyo?lang=en

@matteodelabrematteodelabre added bug Something isn't working and removed bug Something isn't working labels Jan 5, 2021
@LinusCDE

Copy link
Copy Markdown
Member

Anything new on this? We should probably just go ahead and do the changes. Either forking or adding a patch files like done with koreader.

@Eeems

Copy link
Copy Markdown
MemberAuthor

I haven't taken the time to try to sort out how to rewrite the portions of their code that uses the now-not-included portions of Qt. Feel free to though. I likely won't have time until later this year.

@matteodelabre

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

@LinusCDE

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

* makedepends support, including Toltec packages, so that Qt-dependent packages can rely on those artifacts (see #85)
* the Python rewrite of the build tooling (#211) (needed for #85)
* `opkg` support in our build toolchain, so that needed packages can be installed into the container before building (this is almost done)

That sounds great, but I fear we might start to approach some kind of "vendor locking" if we do that. Normally most apps also work without toltec and we just package them up conveniently. With that change, devs will have it harder to provide installation guidelines or a standalone binary that works without toltec.

While I love toltec, I hesitate have people say "I wanted to install this cool mod X, but I need to install some huge stuff I don't know and might brick my device. Without it the app doesn't work because of missing libraries.". Especially people installing their first mod or ssh'ing in the first time could get thrown off.

@matteodelabre

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Also, Toltec strives to be easy to install (which will be improved by Eeems/toltec-installer) and not too heavyweight, so in its ideal state it would be even easier to use than manually transferring the binary of an app that the user wants to try.

@LinusCDE

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Yes, but developers will have to consider two sets of libraries. Currently one just links against what the oecore toolchain offers and the toltec build will basically be the same.

In the example of QTWidgets tough, people might make the apps toltec only. While I'm not against it, it may make mods that work exclusivly as a toltec package (expecting all the QT libs in /opt) and manual builds harder. If a dev isn't deep into how to build e.g. qt apps, he might not even know how to change it.

Well the previous paragraph made me think, that people who do change the toolchain to our one already know how to make a normal standalone build as well. Only problem might be stuff like toltec having libs, remarkable doesn't, but I think this will be an unavoidable perk of toltecs packages in general.

So while writing my response, I changed my mind and don't mind the custom qt libs anymore. 😄

@matteodelabrematteodelabre mentioned this pull request Jan 11, 2021
@raisjn

Copy link
Copy Markdown
Contributor

are people still interested in this app? (can we close this PR?)

@matteodelabre

Copy link
Copy Markdown
Member

There are more feature-full apps that achieve the same goal, so I don’t think dropping it would have a huge effect. The issue with missing libQt5Widgets on the device will be fixed once the work on a Qt package settles (see #212 & the package/qt branch). The main use I can see for this app is as a test for the Qt package.

@Eeems, since you opened the PR in the first place, do you have any thoughts on this?

Note: If we close this PR, we should also remove it from the list of package requests (#9).

@Eeems

Eeems commented Apr 5, 2021

Copy link
Copy Markdown
MemberAuthor

I would still like to keep this around, especially as a test for package/qt

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

packagesAdd or improve packages of the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Eeems@raisjn@matteodelabre@LinusCDE
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add 1bitpaint by Eeems · Pull Request #83 · toltec-dev/toltec · GitHub
Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Add 1bitpaint - #83

Draft
Eeems wants to merge 9 commits into
testingfrom
1bitpaint
Draft

Add 1bitpaint#83
Eeems wants to merge 9 commits into
testingfrom
1bitpaint

Conversation

@Eeems

Copy link
Copy Markdown
Member

Still got to figure out what is missing in this build. remarkable-splash didn't have trouble with EPFrameBuffer.

@EeemsEeems mentioned this pull request Sep 29, 2020
28 tasks
@raisjn

Copy link
Copy Markdown
Contributor

@Eeems

Copy link
Copy Markdown
MemberAuthor

remarkable-splash also uses that library: https://github.com/ddvk/remarkable-splash/blob/master/remarkable-splash.pro#L5

@raisjn

Copy link
Copy Markdown
Contributor

notice that it is behind an if statement for 1bitpaint, but it should be on always. i think it wasn't included because when i look for '-lqsepaper' or whatever, i don't see it in the logs.

but if i look at the splashscreen build check, i see:

arm-linux-gnueabihf-g++ -Wl,-O1 -Wl,-rpath,/opt/x-tools/arm-remarkable-linux-gnueabihf/arm-remarkable-linux-gnueabihf/sysroot/usr/lib -o remarkable-splash main.o -lqsgepaper -lQt5Gui -lQt5Core -lpthread

@Eeems
Eeems marked this pull request as ready for review September 29, 2020 04:18
@Eeems
Eeems marked this pull request as draft September 29, 2020 04:20
@Eeems

Copy link
Copy Markdown
MemberAuthor

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

@raisjn

raisjn commented Sep 29, 2020 via email

Copy link
Copy Markdown
Contributor

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

The spec file in the reMarkable toolchain is called linux-oe-g++, whereas it is called linux-arm-gnueabihf-g++ in the Toltec toolchain, so this condition is not fulfilled when building with the Toltec toolchain. The same thing happens with oxide, which I mitigated using this sed command.

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

It looks like libQt5Widgets is not installed on the reMarkable. The current reMarkable toolchain does not contain libQt5Widgets either, as far as I can see. However, the old one did contain it.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Interesting. Well I guess I'll have to open an issue to get it updated to work with the new toolchain.

@matteodelabre

Copy link
Copy Markdown
Member

Indeed. Also I think it would be less confusing if we removed libQt5Widgets (and other missing Qt libs, if applicable) from the qt image. Moving this suggestion to the toolchain repo.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Opened HiroshiTamura/1bitpaint_for_reMarkable#2

@matteodelabrematteodelabre added the packages Add or improve packages of the repository label Sep 30, 2020
@Eeems

Copy link
Copy Markdown
MemberAuthor

@HiroshiTamura hasn't been active on GitHub since May 2019 so I'm not sure we'll be able to get this fixed without forking the project :/

@Eeems

Copy link
Copy Markdown
MemberAuthor

Looks like they are active on twitter though: https://twitter.com/minordaimyo?lang=en

@matteodelabrematteodelabre added bug Something isn't working and removed bug Something isn't working labels Jan 5, 2021
@LinusCDE

Copy link
Copy Markdown
Member

Anything new on this? We should probably just go ahead and do the changes. Either forking or adding a patch files like done with koreader.

@Eeems

Copy link
Copy Markdown
MemberAuthor

I haven't taken the time to try to sort out how to rewrite the portions of their code that uses the now-not-included portions of Qt. Feel free to though. I likely won't have time until later this year.

@matteodelabre

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

@LinusCDE

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

* makedepends support, including Toltec packages, so that Qt-dependent packages can rely on those artifacts (see #85)
* the Python rewrite of the build tooling (#211) (needed for #85)
* `opkg` support in our build toolchain, so that needed packages can be installed into the container before building (this is almost done)

That sounds great, but I fear we might start to approach some kind of "vendor locking" if we do that. Normally most apps also work without toltec and we just package them up conveniently. With that change, devs will have it harder to provide installation guidelines or a standalone binary that works without toltec.

While I love toltec, I hesitate have people say "I wanted to install this cool mod X, but I need to install some huge stuff I don't know and might brick my device. Without it the app doesn't work because of missing libraries.". Especially people installing their first mod or ssh'ing in the first time could get thrown off.

@matteodelabre

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Also, Toltec strives to be easy to install (which will be improved by Eeems/toltec-installer) and not too heavyweight, so in its ideal state it would be even easier to use than manually transferring the binary of an app that the user wants to try.

@LinusCDE

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Yes, but developers will have to consider two sets of libraries. Currently one just links against what the oecore toolchain offers and the toltec build will basically be the same.

In the example of QTWidgets tough, people might make the apps toltec only. While I'm not against it, it may make mods that work exclusivly as a toltec package (expecting all the QT libs in /opt) and manual builds harder. If a dev isn't deep into how to build e.g. qt apps, he might not even know how to change it.

Well the previous paragraph made me think, that people who do change the toolchain to our one already know how to make a normal standalone build as well. Only problem might be stuff like toltec having libs, remarkable doesn't, but I think this will be an unavoidable perk of toltecs packages in general.

So while writing my response, I changed my mind and don't mind the custom qt libs anymore. 😄

@matteodelabrematteodelabre mentioned this pull request Jan 11, 2021
@raisjn

Copy link
Copy Markdown
Contributor

are people still interested in this app? (can we close this PR?)

@matteodelabre

Copy link
Copy Markdown
Member

There are more feature-full apps that achieve the same goal, so I don’t think dropping it would have a huge effect. The issue with missing libQt5Widgets on the device will be fixed once the work on a Qt package settles (see #212 & the package/qt branch). The main use I can see for this app is as a test for the Qt package.

@Eeems, since you opened the PR in the first place, do you have any thoughts on this?

Note: If we close this PR, we should also remove it from the list of package requests (#9).

@Eeems

Eeems commented Apr 5, 2021

Copy link
Copy Markdown
MemberAuthor

I would still like to keep this around, especially as a test for package/qt

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

packagesAdd or improve packages of the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Eeems@raisjn@matteodelabre@LinusCDE
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Add 1bitpaint by Eeems · Pull Request #83 · toltec-dev/toltec · GitHub
Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Add 1bitpaint - #83

Draft
Eeems wants to merge 9 commits into
testingfrom
1bitpaint
Draft

Add 1bitpaint#83
Eeems wants to merge 9 commits into
testingfrom
1bitpaint

Conversation

@Eeems

Copy link
Copy Markdown
Member

Still got to figure out what is missing in this build. remarkable-splash didn't have trouble with EPFrameBuffer.

@EeemsEeems mentioned this pull request Sep 29, 2020
28 tasks
@raisjn

Copy link
Copy Markdown
Contributor

@Eeems

Copy link
Copy Markdown
MemberAuthor

remarkable-splash also uses that library: https://github.com/ddvk/remarkable-splash/blob/master/remarkable-splash.pro#L5

@raisjn

Copy link
Copy Markdown
Contributor

notice that it is behind an if statement for 1bitpaint, but it should be on always. i think it wasn't included because when i look for '-lqsepaper' or whatever, i don't see it in the logs.

but if i look at the splashscreen build check, i see:

arm-linux-gnueabihf-g++ -Wl,-O1 -Wl,-rpath,/opt/x-tools/arm-remarkable-linux-gnueabihf/arm-remarkable-linux-gnueabihf/sysroot/usr/lib -o remarkable-splash main.o -lqsgepaper -lQt5Gui -lQt5Core -lpthread

@Eeems
Eeems marked this pull request as ready for review September 29, 2020 04:18
@Eeems
Eeems marked this pull request as draft September 29, 2020 04:20
@Eeems

Copy link
Copy Markdown
MemberAuthor

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

@raisjn

raisjn commented Sep 29, 2020 via email

Copy link
Copy Markdown
Contributor

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

The spec file in the reMarkable toolchain is called linux-oe-g++, whereas it is called linux-arm-gnueabihf-g++ in the Toltec toolchain, so this condition is not fulfilled when building with the Toltec toolchain. The same thing happens with oxide, which I mitigated using this sed command.

@matteodelabre

matteodelabre commented Sep 29, 2020

Copy link
Copy Markdown
Member

Okay the build works, but it fails to run on device:

1bitpaint: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

It looks like libQt5Widgets is not installed on the reMarkable. The current reMarkable toolchain does not contain libQt5Widgets either, as far as I can see. However, the old one did contain it.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Interesting. Well I guess I'll have to open an issue to get it updated to work with the new toolchain.

@matteodelabre

Copy link
Copy Markdown
Member

Indeed. Also I think it would be less confusing if we removed libQt5Widgets (and other missing Qt libs, if applicable) from the qt image. Moving this suggestion to the toolchain repo.

@Eeems

Copy link
Copy Markdown
MemberAuthor

Opened HiroshiTamura/1bitpaint_for_reMarkable#2

@matteodelabrematteodelabre added the packages Add or improve packages of the repository label Sep 30, 2020
@Eeems

Copy link
Copy Markdown
MemberAuthor

@HiroshiTamura hasn't been active on GitHub since May 2019 so I'm not sure we'll be able to get this fixed without forking the project :/

@Eeems

Copy link
Copy Markdown
MemberAuthor

Looks like they are active on twitter though: https://twitter.com/minordaimyo?lang=en

@matteodelabrematteodelabre added bug Something isn't working and removed bug Something isn't working labels Jan 5, 2021
@LinusCDE

Copy link
Copy Markdown
Member

Anything new on this? We should probably just go ahead and do the changes. Either forking or adding a patch files like done with koreader.

@Eeems

Copy link
Copy Markdown
MemberAuthor

I haven't taken the time to try to sort out how to rewrite the portions of their code that uses the now-not-included portions of Qt. Feel free to though. I likely won't have time until later this year.

@matteodelabre

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

@LinusCDE

Copy link
Copy Markdown
Member

As a more general solution, I’m currently thinking about making a Qt package in Toltec. This could allow us to have more up-to-date versions of Qt, as well as including a precise set of Qt libs which does not change between two rM updates. This is blocked by:

* makedepends support, including Toltec packages, so that Qt-dependent packages can rely on those artifacts (see #85)
* the Python rewrite of the build tooling (#211) (needed for #85)
* `opkg` support in our build toolchain, so that needed packages can be installed into the container before building (this is almost done)

That sounds great, but I fear we might start to approach some kind of "vendor locking" if we do that. Normally most apps also work without toltec and we just package them up conveniently. With that change, devs will have it harder to provide installation guidelines or a standalone binary that works without toltec.

While I love toltec, I hesitate have people say "I wanted to install this cool mod X, but I need to install some huge stuff I don't know and might brick my device. Without it the app doesn't work because of missing libraries.". Especially people installing their first mod or ssh'ing in the first time could get thrown off.

@matteodelabre

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Also, Toltec strives to be easy to install (which will be improved by Eeems/toltec-installer) and not too heavyweight, so in its ideal state it would be even easier to use than manually transferring the binary of an app that the user wants to try.

@LinusCDE

Copy link
Copy Markdown
Member

But apps would still be able to provide binaries that work without Toltec by dynamically linking them to the rM-provided Qt libs, or by statically linking them to the desired libs, wouldn't they?

Yes, but developers will have to consider two sets of libraries. Currently one just links against what the oecore toolchain offers and the toltec build will basically be the same.

In the example of QTWidgets tough, people might make the apps toltec only. While I'm not against it, it may make mods that work exclusivly as a toltec package (expecting all the QT libs in /opt) and manual builds harder. If a dev isn't deep into how to build e.g. qt apps, he might not even know how to change it.

Well the previous paragraph made me think, that people who do change the toolchain to our one already know how to make a normal standalone build as well. Only problem might be stuff like toltec having libs, remarkable doesn't, but I think this will be an unavoidable perk of toltecs packages in general.

So while writing my response, I changed my mind and don't mind the custom qt libs anymore. 😄

@matteodelabrematteodelabre mentioned this pull request Jan 11, 2021
@raisjn

Copy link
Copy Markdown
Contributor

are people still interested in this app? (can we close this PR?)

@matteodelabre

Copy link
Copy Markdown
Member

There are more feature-full apps that achieve the same goal, so I don’t think dropping it would have a huge effect. The issue with missing libQt5Widgets on the device will be fixed once the work on a Qt package settles (see #212 & the package/qt branch). The main use I can see for this app is as a test for the Qt package.

@Eeems, since you opened the PR in the first place, do you have any thoughts on this?

Note: If we close this PR, we should also remove it from the list of package requests (#9).

@Eeems

Eeems commented Apr 5, 2021

Copy link
Copy Markdown
MemberAuthor

I would still like to keep this around, especially as a test for package/qt

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

packagesAdd or improve packages of the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Eeems@raisjn@matteodelabre@LinusCDE