You are not logged in.
I have been using arch for a long time now, but notice my ram usage more than doubles from ~375 megabytes to ~0.9 gigabytes when firefox is open. While I have 16gb of RAM, I would rather have my system be more optimised if possible, so do you have an ideas for alternatives with good performance and low ram usage? Thank you!
Arch Linux is love, Arch Linux is life.
Offline
Given your criteria are RAM / CPU use, you really don't have good options. There are many browsers out there to suit different styles, and some are "minimal" in terms of the user interface (e.g., qutebrowser) but there are only two really reliable rendering engines that browsers currently use: gecko or webengine. These are both beasts.
Webkit is a bit better, but is in a bit of a state of flux. Most webkit browsers have a range of issues - but it may be suitable depending on your needs (I'm really looking forward to WPE webkit getting some more development and getting some usable front-ends, but we're not there yet).
Other than that there are some lightweight niche browsers that will work for some websites, but are really not compatible with most of the modern web (e.g., netsurf).
The modern web is a non-standardized mess, and thus any rendering engine that handles that mess with any degree of "completeness" is going to be a massive resource hog. So short of sticking with gemini pages, I doubt you'll have much luck.
And this isn't just to be a naysayer - but rather to save yourself some trouble: there is no point in trying other browser projects that use the same rendering engine: so if firefox and chromium are too bloated for you, a vast majority of other browsers will be just the same as they use the same back-end rendering engines.
EDIT: I suppose your current firefox use combines the resource-hogginess of gecko with the additional resource-hogginess of gtk3. The qt5/qt6 toolkits are more modular and in my experience much more resource friendly, so perhaps a qt5/6-webengine browser could be good to try if you haven't yet (e.g., falkon or qutebrowser are good options here). But this is still webengine (the same as chrome/ium) which is itself more of a hog in my view than firefox's gecko.
Last edited by Trilby (2023-12-12 14:38:00)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Web browsers are a matter of opinion. Ask 10 people and you'll get 6 different answers.
https://wiki.archlinux.org/title/List_of_Applications
There are web browsers in the AUR.
https://aur.archlinux.org/packages?O=0& … &submit=Go
There is qt5-webengine, qt6-webengine, webkit2gtk in the repos, which you can build an interface around, and make a browser just as you wish. I think that webengine and webkit work just fine as browser engines.
Offline
You can give qt5-webengine. qt6-webengine a tryout without all of the large browsers bells and whistles. If you have Qt5-Qt6 installed.
weutube.cpp
//Basic Qt5Webengine Browser or Utube app
#include <QApplication>
#include <QCommandLineParser>
#include <QWebEnginePage>
#include <QWebEngineProfile>
#include <QWebEngineView>
#include <QWebEngineSettings>
#include <iostream>
//For void setStyleSheets();
#include <QString>
#include <QFile>
//Browser Home Page
const char* HomePage = "https://www.youtube.com";
//User Agent iphone17 Chrome 119
const char* Agent = "Mozilla/5.0 (iPhone; CPU iPhone OS 17_1 "
"like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) "
"CriOS/119.0.6045.109 Mobile/15E148 Safari/604.1";
/**Create app, configure, get args**/
int main(int argc, char **argv)
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
QCoreApplication::setOrganizationName("Utube Browser");
QApplication app(argc, argv);
app.setApplicationName("Utube Browser");
//Browser settings
QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, false);
QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::LocalStorageEnabled, false);
QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::DnsPrefetchEnabled, false);
QWebEngineSettings::defaultSettings()->setFontFamily(QWebEngineSettings::StandardFont, "monospace");
QWebEngineSettings::defaultSettings()->globalSettings()->setFontSize(QWebEngineSettings::MinimumFontSize, 12);
//Set user agent
QWebEngineProfile *profile = new QWebEngineProfile();
profile->setHttpUserAgent(Agent);
QWebEngineView *view = new QWebEngineView();
QWebEnginePage *page = new QWebEnginePage(profile, view);
//Positional Arguments and switches
QCommandLineParser parser;
parser.setApplicationDescription("Utube browser");
parser.addPositionalArgument(QStringLiteral("<url>"), QStringLiteral());
parser.process(app);
QStringList posArgs = parser.positionalArguments();
QUrl url;
//Get args or open HomePage
if (posArgs.size() > 1) {
std::cout << "Too many arguments!" << std::endl;
return 0;
} else if (posArgs.size() == 1) {
url = QUrl::fromUserInput(posArgs.at(0));
} else {
url = QUrl(HomePage);
}
//Zoom, browser window size, load page
page->setUrl(QUrl(url));
page->setZoomFactor(1.3);
view->setPage(page);
view->setMinimumSize(500,500);
view->resize(1400,1000);
view->show();
return app.exec();
}
weutube.pro
TEMPLATE = app
TARGET = weutube
QT += webenginewidgets
HEADERS +=
SOURCES += weutube.cpp
FORMS +=
RESOURCES +=
# install
target.path = somewhere
INSTALLS += target
Also demonstrates what user agent switching can do to get a smaller lighter page.
Offline