Search This Blog

Showing posts with label kde. Show all posts
Showing posts with label kde. Show all posts

Tuesday, December 28, 2021

Custom keyboard layout in Wayland

Unfortunately, the configuration at the and of this post does not work for Wayland Qt applications, like konsole, kate. A colleage from KDE Brazil telegram channel pointed me to a working solution.

Update 28/12/2021: the configuration below works for X11/XWayland applications only.

Going forward with migrating to Wayland. There are several smalls things to fix in my setup, one of them is adding a custom layout to workaround the fact that my child broken the Up key of my laptop's keyboard. I had mapped F9 to Up using $HOME/.Xmodmap, which does not work in Wayland. I have figure out how to that in Wayland [1] [2] and maybe this can help other people.

Create this file to configure XDG_CONFIG_HOME variable:

# /etc/profile.d/xdg.sh
export XDG_CONFIG_HOME=$HOME/.config

Create the $HOME/.config/xkb/rules/evdev.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">

<xkbConfigRegistry version="1.1">

  <layoutList>

    <layout>

      <configItem>

        <name>lvs</name> <!-- Change to any name you want -->

        <shortDescription>Layout LVS</shortDescription> <!-- Same here -->

        <description>Layout com F8, F9 e F10 remapeadas</description> <!-- Any description you want -->

        <countryList>

          <iso3166Id>US</iso3166Id> <!-- Add your country to this list -->

          <iso3166Id>BR</iso3166Id> <!-- My country: Brazil -->

        </countryList>

        <languageList>

          <iso639Id>eng</iso639Id> <!-- Layout language -->

          <iso639Id>por</iso639Id> <!-- Brazilian Portuguese -->

        </languageList>

      </configItem>

    </layout>

  </layoutList>

</xkbConfigRegistry>


Create a file $HOME/.config/xkb/symbols/lvs (the file name have to match the layout name in evdev.xml) with the actual changes you need. I just copied the file with the symbols I wanted to change to save time:

cp /usr/share/X11/xkb/symbols/srvr_ctrl $HOME/.config/xkb/symbols/lvs

Then I removed all lines that should not be changed. The final file is the following (the actual changes are in bold):

partial function_keys

xkb_symbols "fkey2vt" {

    key <FK08> {

        type="CTRL+ALT",

        symbols[Group1]= [ Prior, F8, F8, F8, XF86_Switch_VT_8 ]

    };

    key <FK09> {

        type="CTRL+ALT",

        symbols[Group1]= [ Up, Prior, F9, F9, XF86_Switch_VT_9 ]

    };

};

Comparing all this to the .Xmodmap it seems way more complicated :-( This is my .Xmodmap:

! 74 = F8 

keycode 74 = Prior                                            

! 75 = F9                                  
keycode 75 = Up Prior

You need to restart startplasma-wayland so the changes take affect. The best part is that it also works with X11, so I removed my .Xmodmap.

PS: the Up key does not work in konsole to show the previous command when running in wayland, even with an external keyboard with a physical Up key. That works in X11.

Saturday, December 25, 2021

Nvidia optimus with wayland. Help needed.

I have given a try on wayland and it works in my notebook (Gigabyte p34v5) when using only the Intel gpu (/dev/dri/card0) and mesa. Now I have been trying to make it work with the Nvidia gpu (GeForce GTX 970M, /dev/dri/card1) using proprietary driver. The thing about that gpu is that is uses optimus and thus need the following command to work with X11:

# /usr/share/sddm/scripts/Xsetup file
xrandr --setprovideroutputsource modesetting NVIDIA-0

There is just a blank screen on sddm whithout that command (the Nvidia gpu is not physically connected to the display, it needs the Intel gpu to send image to any display, the command above connects the Nvidia gpu to the Intel one). Since xrandr does not work with wayland I am kind of stuck trying figure out the equivalent of that command for wayland. I have tried the following environment variable to no avail:

WLR_DRM_DEVICES=card1:card0

My current startwayland.sh script is:

# card0: intel
# card1: nvidia
export WLR_DRM_DEVICES=card1:card0
export KWIN_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0
export XDG_RUNTIME_DIR=/tmp/1001
export XDG_SESSION_TYPE=wayland
export QT_QPA_PLATFORM=wayland
export GBM_BACKEND=nvidia-drm
export __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10_nvidia.json:/usr/share/glvnd/egl_vendor.d/50_mesa.json
export EGL_PLATFORM=wayland
export EGL_LOG_LEVEL=debug
export QT_LOGGING_RULES="kwin*=true"
export KWIN_GL_DEBUG=1
export WAYLAND_DEBUG=1
unset DISPLAY
mkdir -m 0700 -p $XDG_RUNTIME_DIR

if [ -n "$DBUS_SESSION_BUS_ADDRESS" ]; then
    export $(dbus-launch)
    sleep 1
fi


kwin_wayland --xwayland --exit-with-session=konsole 2>&1 | tee -a kwin_wayland_log.txt

I am using kwin_wayland instead of plasma-wayland so less programs are started during my tests.

EGL is correctly initialized on both gpu by what can be seen on kwin_wayland_log.txt, though nvidia-drivers uses version 1.5 and mesa uses version 1.4.

The first relevant error is "kwin_wayland_drm: swapping buffers failed on output KWin::DrmOutput(0x559b35fd8d30, name="eDP-1", geometry=QRect(0,0 1920x1080), scale=1)". eDP-1 is my laptop's LCD and W2486 is an external monitor.

There is no screen update after I launch kwin_wayland similar to what happens with X11 without the xrandr command. I need to log through ssh to 'chvt' to a different virtual terminal or kill kwin_wayland to use laptop again. I guess I just need to instruct kwin_wayland to connect the output of nvidia gpu to intel's one to make everything work. I just do not know how to do that.

My environment:

x11-drivers/nvidia-drivers-495.46-r10:0/495 to use Nvidia's new GBM support instead of EGLStream
gui-libs/egl-wayland-1.1.9:0
gui-libs/eglexternalplatform-1.1:0
media-libs/mesa-21.3.2:0
dev-qt/qtwayland-5.15.2-r16:5/5.15.2 with patch Don't block in QWaylandDisplay::flushRequests
kde-plasma/kwin-9999:5 this is a git build of commit 445946382379b65701259bc1f75c92227348db31 from Dec 15 2021 so I can use platforms/drm: use gbm with NVidia driver 495+.

Have someone successfully run plasma-wayland with nvidia's optimus and gbm instead of EGLStream?

Sunday, June 5, 2016

LaKademy 2016

This year we celebrated the fourth LaKademy conference and for my luck it happened in the city I live in, Rio de Janeiro :-) The reason for that is because I have not had much time for contributing to KDE as I used to have. The fact that the event happened in Rio saved me a lot o time and sure I wouldn't miss it for nothing hehe.

The event lasted three and half days (the last day was an Sunday) and was also an opportunity to meet old friends like Tomaz:


and new friends like Fernando:



I have been talking to Fernando through Internet for almost one year and have never had the chance to meet him in person, though we live in the same city hehe. Hopefully, he will become one more contributor to KDE :-)

One of the things I did during the event was helping Lays developing the new QML user interface for brprint3d and giving some tips for her GSoC work in Umbrello:


And having fun :-)


Besides helping Lays, I also helped Ronny to investigate and fix a bug in this QML game and did some bug triage for Plasma NM and Solid. The end result was some old bugs closed and this patch to Qt Declarative to fix a crash that affects Plasma NM.

Actually, the crash is an assert being triggered in QList while VDMModelDelegateDataType::notify() iterates through a QList of QQmlDelegateModelItem pointers. Somehow the list size shrinks inside the loop and the index-out-of-range assert is triggered. While investigating the bug I noticed that QQmlDelegateModel::_q_itemsRemoved() iterated through the same list but did not trigger the assert. Looking into its source code there is this comment above a couple of lines of code:

// layout change triggered by removal of a previous item might have
// already invalidated this item in d->m_cache and deleted it

Applying the same code to VDMModelDelegateDataType::notify() prevents the assert being triggered. I submitted a review request for Qt Declarative 5.6 with my patch and I am waiting for the comments about it.

It was great to meet my KDE fellows, old and new faces, during this LaKademy. Hope to see them again during Akademy in September.

Saturday, August 1, 2015

Akademy 2015

Spain is a very nice place to visit. After the two Solid Sprints in Madrid and Akademy 2013, now it was time to visit A Coruna.

My trip to A Coruna started in July 22 from Rio de Janeiro city, where I live, to São Paulo city. While I was waiting for the flight in Rio de Janeiro I feared it would be cancelled because of the bad weather. The flight right before mine in the schedule was cancelled, then I became more apprehensive. After one hour of delay they announced the new boarding time and I reached São Paulo with plenty of time to take the flight to Madrid and from there to A Coruna.

Going to the hostel by bus was easier than I had thought. I was also lucky enough to take the Rialta bus in the second part of the trip from the airport to the hostel :-)

For me, Akademy started with attending KDE e.V General Assembly. About five hours discussing current KDE situation and what could we do to improve it. After the assembly we went back to the Rialta hostel for the first party during Akademy :-)

The next two days of Akademy were dedicated to the talks. This is year I think the most prominent talk was the one about Plasma Phone (the link contains a video of the talk). That was really exciting talk. I also like the fact that the work we did for Plasma Active is still alive and with a bright future ahead. Now I just need to figure out how to install Plasma Mobile in my smartphone :-)

Alex Fiestas' On how Agile, TDD, CI and CD are the same talk was also very interesting for me because I responsible for maintaining the continuous integration infrastructure in my daily work (besides being a developer and doing some administrative work too). I share Alex vision about the importance of continuous feedback. Nice tak Alex.

The last week of Akademy is reserved for BoFs and the day trip. I am a member of the Solid team and since Solid Maintainer could not attend Akademy I decided to schedule and conduct the Solid BoF this year. The BoF notes are here. The most important thing, for me, during the BoF was the decision to pass to Jan Grulich the Network Management maintainership. I will still work on network management for KDE, there are still some things I want to implement in Plasma NM.

I attended some other BoF, interesting and important things being discussed there. Sure this is an important part of Akademy.

The day trip happened on Wednesday we went to Aquarium Finisterrae and the Hercules tower area. Nice places to visit and I enjoyed every minute. Other things that I enjoyed was walking to the venue (nice view), the food :-) (except squid, I do not like eating squids :-P) and the weather (not too cold during the night and not too hot during the day).

That was one of my best Akademy's. A big thank you to the local team and Kenny Duffus for making Akademy such an enjoyable event. See you all at next Akademy.

Tuesday, April 7, 2015

NetworkManagerQt 0.9.8.4 is out

NetworkManagerQt is officially a Frameworks now. As a consequence the repository has been renamed from libnm-qt to networkmanager-qt and NMQt version number now follows Frameworks version number (currently 5.8.0).

NMQt 0.9.8.4 is the last release from the 0.9.8.x series. From NMQt 5.8.0 and on you need to install Frameworks instead of downloading it separately.

Bugs fixed in NMQt 0.9.8.4:

. Fix security type check for wireless connections.
. Fix secrets loading for openconnect connections.
339296: Fix vpn secrets loading.
. Update documentation.

Friday, March 6, 2015

Plasma NM 0.9.0.12

Plasma NM 0.9.0.12

SHA256Sum: 27b4a383972dcbb25eb254dcfe6b71ccb05ca0418590eb57ddc20c0b7bcac8eb

This is the last Plasma NM 0.9.0.x release, it is officially retired and unmaintained from now on. If you have not moved to Plasma NM 0.9.3.x please do it.

Changelog:

. Fixes OpenConnect NEWGROUP handling and build against OpenConnect > 7.0.
341387: OpenVPN: Add option for server certificate verification.
334246: Import/export 'redirect-gateway' option from openvpn configuration files.
282996: aborts connection editing once we find an error.

The following languages have more than 80% of strings translated:

bs ca ca@valencia cs da de el en_GB es et fi fr gl hu ia it kk km ko lt nb nds nl pl pt pt_BR ro ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW

Also read some very usefull information about how to use and avoid problems when using Plasma NM in my past posts page.

Thursday, January 1, 2015

Retiring Plasma NN 0.9.0.x

I am in the process of retiring Plasma NM 0.9.0.x (aka old Plasma NM applet). The new applet (Plasma NM >= 0.9.8.x) is already shipped with all major distributions. I may release Plasma NM 0.9.0.12 with some few bugfixes if someone is interested in that. However after 0.9.0.12 there will be no further releases for the old applet. It will enter in unmaintained state and I will ask sysadmin to remove/disable NetworkManagement product from bugs.kde.org. There is already product plasma-nm to report bugs in the new applet.

Saturday, November 15, 2014

Installing Plasma 5 on Gentoo Linux: problems and fixes

Yesterday I removed my Plasma 4 installation and installed Plasma 5. I know it is not ready for production yet but, you know, I am a KDE developer and want to contribute to improve Plasma 5 :-)

I used Gentoo's live ebuilds to install Frameworks 5 and Plasma 5's master branches. After some... several... ok, many hours compiling things Plasma 5 was installed and then I had my first surprise: I need kwallet 4 installed to import my secrets into kwallet 5, but I had uninstalled it before start compiling Plasma 5. Solution: compile kwallet 4 :-/ and try again. However, it was not that simple.

I used to use kwallet 4.14.2 (Gentoo's unstable version) but I installed 4.12.5 (Gentoo's stable version) without kdepimlibs installed. There are two problems with what I did: 1. kwallet uses a different file format when compiled with kdepimlibs installed. Since it was not installed kwallet 4 failed to open my wallet with "Unsupported file format version" error. Desperation started growing into my heart (my secrets, my precious secrets...). Looking at kwallet's source code (I love open source programs for allowing me to do that) I noticed that I needed to recompile it against kdepimlibs. So I did and... it did not work, the same "Unsupported file format version" error message appeared. 2. Looking into kwallet's git log I noticed that the file format's version changed between kwallet 4.12.5 and 4.14.2. I recompiled kwallet 4.14.2 and then kwallet 5 was able to import my old wallet :-). Tip of the day: do not uninstall Plasma 4 before importing your wallet. For Gentoo users that be a problem since akonadi-server's ebuild is configured to prevent compiling both qt4 and qt5 versions and akonadi-server is a dependency to compile kdepimlibs. I had to force (emerge --nodeps) Gentoo to compile kdelibs, akonadi-server, kdepimlibs and kwallet ebuilds to solve this problem.

With my wallet imported I though I had finished with that. However, Google Chrome did not list/show any of my secrets. The problem: Chrome uses the old dbus names org.kde.kwalletd and /modules/kwalletd instead of org.kde.kwalletd5 and /modules/kwalletd5. At least for now I decided to recompile kwallet 5 to use the old names, it works. Maybe we should add a command line option to make kwallet5 to also register those old names for backward compatibility.

After configuring my personal options in systemsettings my Plasma 5 desktop looks as productive as my old Plasma 4 desktop, which by the way I completely removed after fixing the kwallet issue. I still miss some applications such as Amarok, Digikam, Superkaramba (I created four applets for it that I would like to keep using). Two others, kdialog and polkit-kde-agent, are already ported to Plasma 5 but there is no ebuild for then, so I created the ebuilds and installed them. The kdialog ebuild still needs tweaking though.

polkit-kde-agent is necessary to allow Plasma NM to read secrets from system connections, which are stored in NetworkManager. It is a important program not only for me but for anybody that uses Plasma NM. After compiling it it did not work at first (always crashing). I had to apply this patch from reviewboard to fix the crashes.

To replace Amarok I recompiled Vlc to enable its qt plugin, which is already ported to Qt5 but Vlc compilation system insisted in using Qt4's include and libs even though it detected Qt5. For that reason when g++ tried to find QtWidgets' includes it failed. QtWidgets does not exist in Qt4. My solution was to export those two variables before compiling Vlc:

export QT_CFLAGS=$(pkg-config Qt5Widgets --cflags)
export QT_LIBS=$(pkg-config Qt5Widgets --libs

Sorry to the bashism in the line aboves, but it makes things shorter :-P

Vlc works, but crashes everytime it quits, not a big problem except that it never saves may playlist :-/ I still can press Ctrl+1 to make it load the first directory in the recent used list. I had to tweak my qdbus script to make my global shortcuts for play previous/pause/play next song to work with Vlc. Now it works almost as Amarok, except for the fancy features such as tablatures, lyrics, playlist sorting that I used to use from time to time. For the time being it will suffice. By the way, what is happening (or not happening) with Amarok? The lastest release was more than a year ago. Will it be ported to Plasma 5? Is there a Plasma 5 replacement for it?

One feature I missed since yesterday was the hability to select "shutdown computer" from leave dialog. Being the one that ported the old QWidget based shutdown dialog to Qml I expected the new dialog to be located in /usr/share/apps/ksmserver/themes/default, but now it is located in /usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/logout/Logout.qml. Plasma 4's shutdown dialog theme is still in /usr/share/apps/ksmserver/themes/. After digging into ksmserver and libkworkspace's source codes I figured out that using kwrapper5 with ksmserver prevents shutdown and restart buttons from appearing in the shutdown dialog. The problem is that org.freedesktop.ConsoleKit.Manager.CanStop always return false when ksmserver is started through kwrapper5. I had to edit startkde script to do not use kwrapper5. OBS: I am using sddm and consolekit.

There are some random crashes here in there, but Plasma 5 is usable for what I need. Now I am ready to start fixing Plasma 5 issues :-)


Wednesday, November 5, 2014

NetworkManagerQt 0.9.8.3 is out


Bugs fixed in NMQt 0.9.8.3:

. Add workaround to properly update IpInterface.
339652: Add IPv6 configuration for VPN connections (needed for OpenVPN).
. Remove IPv6 setting from cdma/gsm connections since NetworkManager does not support this configuration.

Thursday, August 28, 2014

LaKademy 2014

Hi again,

I am a bit absent from blogging due to personal issues. Fortunately, I am on vacation from my real life work since last weekend then I am going to have more time for one of the things a like most: working with KDE software and friends :-)

As you may know the Latin-american KDE meeting (LaKademy) is happening right now in São Paulo city, more precisely at Free Software Competence Center of IME-USP [1] and I here too. After a long time I am back to São Paulo city for more time than just taking connection flights hehe.

Yesterday was the first LaKademy's day and we had some presentations for the general public. During this second day Sandro Andrade is presenting his Qt programming course. In the next two days we will have hacking sessions on KDE software and as Plasma Network Management maintainer I am interested in making networking easy for KDE users.

Although I have not been pushing that much commits to network management repos [2] I used to do years ago I am still working on some improvements for the new Plasma NM, mostly non-visual changes though. Jan Grulich, Björn and Thomas Pfeiffer are doing a great job on Plasma NM's GUI so this task is in good hands.

My yesterday's LaKademy presentation was about what I am doing in Plasma NM and NetworkManager for that matter. Basically I am working on improving Eduroam support in Plasma NM with these two tasks:


  1. Passing more error information to the user so he/she can know if the problem is with his/her login, password, certificates, or with the local or the remote infra-structure, etc. With this information in hand the user can contact the correct person to solve connection issues, being the local network administrator or the network administrator of his/her university, who with Eduroam may not be the same person.
  2. Importing configuration file to make creating Edurom connections easier. Eduroam uses WPA2 Enterprise and as such its connections requires several technical details to be filled before you can use it. Check this connection dialog for my test Eduroam connection for instance, too many details:

The aim for task #2 is importing a xml file that contains all the information above, well, except the password, of course. There is already configuration importing support for OpenVPN and VPNC connections in Plasma NM, so this will be the third connection type that Plasma NM will suport that. This implementation may be used for other WPA2 Enterprise connections as well.

To implement task #1 I have been digging into wpa_supplicant and NetworkManager souce code in the last months (during my spare time). I already have a patch that gets the data from wpa_supplicant and now I am implementing code to set up the correct structures in NetworkManager. The code is generic and the result can be used by other NetworkManager clients as well, of course. When the patch is ready I am going to send it to NetworkManager's developers for reviewing.


[1] USP stands for University of São Paulo, the biggest and one of the most important Brazilian universities.

[2] there are networking code in plasma-nm, libmm-qt, libnm-qt, kdelibs, and kde-runtime repos and also in (the already deprecated) networkmanagement repo.

Saturday, July 5, 2014

NetworkManagerQt 0.9.8.2 is out

After a long time here are some news on what is going on with NMQt:

. NMQt is going to be part of Frameworks 5 so this may be the last release on its own.

. We are still working on making NMQt ready for KF5, so it may not appear in the next version of KF5 just yet.

. Plasma NM is going to be part of kde-workspace and as you may know NMQt is a dependency for Plasma NM. Plasma 5 release is approaching and since we may not get NMQt ready for KF5 in time we decided to ship a snapshort of NMQt with kde-workspace so that Plasma NM compiles. In the future we will remove the snapshot and rely on the NMQt in KF5.

Bugs fixed in NMQt 0.9.8.2:

. Avoid crashes when NetworkManager is restarted.
. Respect external CMAKE_CXX_FLAGS values.
331771: Add a workaround to always get updated IPv[46]Config.
. Properly update and notify about changed reference accesspoint.
. Bump required version of NetworkManager to 0.9.8.4.
. Emit signal after available connection is removed instead of before.
. Bump soversion to indicate different binary application interface (ABI) than the previous releases (0.9.8.0 to be precise).

Wednesday, April 23, 2014

Plasma NM 0.9.0.11

Plasma NM 0.9.0.11

SHA256Sum: 51f4f4d82d2475338f90bea7177d8cec92c9635809f4d5764c815e4ca3a6d33c

This may be the last Plasma NM 0.9.0.x release. If you have not moved to Plasma NM 0.9.3.x please do it.

Changelog:

. Port commit 947f56f1cd21a72fa0f88e1c42ac8c19e23864d0 from plasma-nm to fix building with openconnect >= 5.99. There are still some missing bits to fully support openconnect 5.99 tough.
331151: fix crash when retrieving NetworkManager's state.
. Add OpenSwan VPN plugin. Thanks Jan Grulich for this patch.
328189: Add more help information about VPNC's DES encryption setting.
317568: Fixes Plasma NM forgets 802.1x settings as soon as the dialog box is closed.

The following languages have more than 80% of strings translated:

bs ca ca@valencia cs da de el es et fi fr gl hu ia it kk km ko lt nb nds nl pl pt pt_BR ro ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW

Also read some very usefull information about how to use and avoid problems when using Plasma NM in my past posts page.

Saturday, February 15, 2014

ModemManagerQt and NetworkManagerQt: new releases

New versions of ModemManagerQt and NetworkManagerQt are out, respectively 1.0.1 and 0.9.8.1. The changes are short, just some bugs fixes and small new features.

In ModemManagerQt:

. fix a crash when ModemManager is restarted.

In NetworkManagerQt:

. add workaround for wrongly updated ActiveConnection property.
. update doxygen documentation.
329260: avoid conditional jumps based on uninitialized values.
. add device property to WirelessNetwork.
. backport PrimaryConnection, ActivatingConnection and Connectivity properties.


Thursday, November 28, 2013

Plasma NM 0.9.0.10

Plasma NM 0.9.0.10

SHA256Sum: dce8d080256f1c2a6b70d61cb46e623839f6c0a0f260a6901d9ad68746ce7dfc

Diffferently from what I wrote in Plasma NM 0.9.0.9 release notes this version supports NetworkManager 0.9.6.x and 0.9.8.x as requested by some users. However, this version still requires NetworkManager 0.9.8 for connection activation error notification to work properly. If you use it with NetworkManager 0.9.6.x do not report bugs regarding Plasma NM's notifications. You can still disabling them if they do not work properly for you.

Changelog:

299863: Fix crash when adding WPA2 Enterprise connections.
. Re-add support to NetworkManager 0.9.6.x.
. Add IPv6 information into connection details.
324880: Fix signal quality and access technology updating for 3G connections.
. Small optimization: disable updating traffic plotter if popup is closed.

The following languages have more than 80% of strings translated:

bs ca cs da de el es et fi fr gl hu ia it kk km ko lt nb nds nl pl pt pt_BR ro ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW

Also read some very usefull information about how to use and avoid problems when using Plasma NM in my past posts page.

Thursday, November 21, 2013

NetworkManagerQt 0.9.8.0 Released

For those interested in programming with NetworkManager using Qt here is the lastest NetworkManagerQt library. This new version supports NetworkManager 0.9.8 and is the backend used by the new Plasma NM applet.

ModemManagerQt 1.0.0 Released

ModemManagerQt is a Qt library to talking to ModemManager using dbus. Today I am glad to release the third version version of this library. The main difference here is the support to ModemManager from 0.8 up to 1.0.

One of the cool uses of ModemManagerQt is the SMS sending/receiving support in KDE Telepathy.

Get the source code here.

Wednesday, November 13, 2013

Plasma NM: very important (old) news

Hi guys. Just to keep it clear: since the release of the new Plasma NM applet (version 0.9.3) the networkmanagement repository is mostly deprecated. Only NM/0.9 branch has any use (for now). That branch holds the old stable Plasma NM 0.9.0.x version. The one that I release from time to time since October 2011.

Unless you have a patch to fix one of bugs in the old Plasma NM 0.9.0.x you should use plasma-nm repository instead of networkmanagement. There is even a frameworks branch in plasma-nm, so it already works with frameworks5, which networkmanagement does not.

Sunday, September 15, 2013

ModemManagerQt 0.5.1 Released

Well, less than one week from ModemManagerQt's first release now it is time for the second release. I take the blame for this, I forgot to review a patch needed by KDE Telepathy's SMS sending feature. That is an important feature, so I decided to do a new release to make it work properly.

Plasma NM: current and future

As you may already know a new Plasma NM 0.9.3.0 applet was released last week, which means that Plasma NM 0.9.0.x is deprecated from now on. I will release Plasma NM 0.9.0.10 eventually to fix bugs already reported against 0.9.0.9. For those who can I advise to upgrade to the new Plasma NM applet.

To upgrade to the new applet you must first disable the old applet's plasmoid and kded modules. You can do that in systemsettings -> Startup and Shutdown -> Service Manager. Stop and uncheck "NetworkManager User Settings Service" then click on the "Apply" button:


To remove the old applet right click on the system tray applet's small triangle (the one that shows "Show hidden icons" tooltip) then "System Tray Settings" -> Display -> Extra Items. Uncheck the "Network Management" item that has a icon similar to a N letter, then click on the "Ok" button:



Bugs against the new applet must be reported in bugs.kde.org under product plasma-nm. Please do not report bugs against the new applet under "Network Management" product, that one is reserved for Plasma NM 0.9.0.x bugs.

The Future of ModemManagerQt and NetworkManagerQt

Now that the first release of MMQt 0.5.0 and NMQt 0.9.0 are online it is time to think about what else we can do with/for them.

MMQt 0.5.x is behind current stable ModemManager version (1.0) not only in version number but also in API compatibility (MMQt 0.5.x does not work with ModemManager >= 0.7). MMQt 0.8 is going to support ModemManager 0.7 API and is currently being developed in mm08 branch. I plan to merge mm08 into MMQt master branch soon, so anybody using MMQt master branch (e.g. Plasma Active) should point your build scripts to MM/0.5 branch instead of master from now on. The same is valid for NMQt: point to NM/0.9 branch instead of master.

We plan to release MMQt 0.8 as soon as possible. However no release date has been set yet, the date depends mostly on the two developers that are working on that part (Lukáš Tinkl and Anant Kamath). I wanted to thank them for taking over that job, I am really short on free time in the last months. I would not be able to port MMQt to 0.7 API without help since there are some fundamental changes to implement. Remember NetworkManager 0.8 to 0.9 transition? It is something similar in ModemManager 0.6 to 0.7 transition.

Turning to NMQt. Things there seems more calm than for MMQt, no big API changes in sight. Dan Williams, help me when NetworkManager 1.0 is released, ok? hehe.

For NMQt I plan to improve current documentation and fix reported bugs. Talking about bugs, you can report bugs in http://bugs.kde.org under product solid components networkmanagement (for NMQt) and networkmanagement-mobile (for MMQt).

PS: I will talk about Plasma NM 0.9.0.x and Plasma NM 0.9.3.x in another post.